API
Mon espace

API SankiPay

Encaissez depuis votre boutique en ligne en trois appels : votre serveur crée le paiement, le client paie sur la page SankiPay, votre serveur est prévenu.

Principe

  1. Votre serveur appelle spy_api_creer avec le montant et la référence de la commande.
  2. Il reçoit une adresse url : vous y envoyez le client. Il choisit son pays, son moyen de paiement, et paie dans sa devise.
  3. SankiPay prévient votre serveur par un webhook signé. Vous pouvez aussi demander le statut avec spy_api_statut.

Pas de site ? Les liens de paiement de votre espace marchand font la même chose sans une ligne de code.

Clés

Chaque appel porte deux clés :

  • La clé publique de la plateforme, dans l'en-tête apikey. Elle est la même pour tous et peut être vue de tous :
  • Votre clé secrète sk_…, dans le corps de la requête (p_cle). Générez-la dans Développeurs. Elle n'est montrée qu'une fois : gardez-la dans une variable d'environnement de votre serveur, jamais dans une page web ni une application mobile.

Créer un paiement

POST /rest/v1/rpc/spy_api_creer

ParamètreObligatoireDescription
p_cleouiVotre clé secrète.
p_montantouiMontant à encaisser, dans la devise indiquée.
p_devisenonCode ISO (XOF, XAF, EUR…). Par défaut : la devise de votre compte.
p_referencenonVotre numéro de commande. Il revient dans le statut et le webhook.
p_descriptionnonTexte affiché au client sur la page de paiement.
p_retour_urlnonAdresse https:// où renvoyer le client après un paiement réussi.
p_client_nom, p_client_email, p_client_telnonPré-remplissent la page de paiement.

Réponse :

La session reste ouverte 24 heures. Le client peut réessayer autant de fois que nécessaire jusqu'au premier paiement réussi.

Rediriger le client

Envoyez le client vers url. Après un paiement réussi, s'il y a une p_retour_url, il y est renvoyé avec deux paramètres : ?sankipay_ref=SPY-…&statut=reussi.

Ne livrez jamais sur la seule foi de ce retour : n'importe qui peut taper cette adresse. Confirmez toujours par le webhook ou par spy_api_statut.

Vérifier un paiement

POST /rest/v1/rpc/spy_api_statut avec p_cle et p_id : l'identifiant de session, la référence SPY-… ou votre propre référence de commande.

La réponse contient session, paiement (montant, frais, net, moyen, pays, statut) et paye, qui vaut true dès que la commande est payée.

Webhooks

Indiquez l'adresse de votre webhook dans Développeurs. À chaque paiement réussi ou échoué, SankiPay y envoie un POST JSON :

Événements : paiement.reussi, paiement.echoue, et test (bouton « Envoyer un test »). L'en-tête X-SankiPay-Signature contient le HMAC-SHA256, en hexadécimal, du corps brut reçu, calculé avec votre secret de signature whsec_…. Vérifiez-le avant toute action, puis répondez par un code 2xx.

Mode test

Tant que la plateforme est en mode test, les appels sont identiques mais aucun argent ne circule : sur la page de paiement, le client choisit lui-même « réussite » ou « refus ». Les données de test restent séparées des données réelles.

Erreurs

Une erreur renvoie un code HTTP 400 avec un message de la forme {"code":"P0001","message":"SPY_CLE_INVALIDE"}.

MessageSignification
SPY_CLE_INVALIDEClé secrète absente, fausse ou remplacée.
SPY_MONTANT_INVALIDEMontant nul, négatif ou trop grand.
SPY_DEVISE_INCONNUEDevise non gérée par la plateforme.
SPY_URL_INVALIDEL'adresse de retour doit commencer par https:// ou http://.
SPY_MARCHAND_SUSPENDUVotre compte est suspendu : contactez le support.
SPY_MARCHAND_NON_VERIFIEEn mode réel, votre compte doit être vérifié (KYC).
SPY_TROP_DE_TENTATIVESPlus de 120 créations par minute : ralentissez.
SPY_PAIEMENT_INTROUVABLEAucun paiement ni session avec cet identifiant sur votre compte.