
Intégration API
Observez les notifications de la plateforme, puis validez la signature, les réponses et les doublons dans votre service.
Suivez les étapes dans votre tableau de bord. Cliquez sur une image pour l’agrandir.
Ouvrez le récepteur de callbacks et saisissez Merchant UID et API Key. Copiez le notifyUrl de débogage dans les commandes à observer, ou choisissez l’adresse de débogage dans l’outil de commandes.
Démarrez la réception pour actualiser toutes les quatre secondes et voir jusqu’aux 20 derniers enregistrements envoyés à cette adresse. Actualiser maintenant lance une consultation immédiate. Arrêter interrompt seulement les consultations de la page, sans annuler de commande ni désactiver le récepteur du serveur. Les commandes utilisant un autre notifyUrl n’apparaissent pas ici.
Les encaissements envoient completed après traitement réussi. Les paiements sortants envoient leur état final confirmed ou failed. Une commande créée, impayée ou en confirmation n’a pas encore de callback de succès. Comparez commandes, devise, montant, hash, signature et livraison. La vérification par le récepteur de débogage ne prouve pas que votre système a traité le paiement.
Pour votre service, utilisez l’exemple complet de récepteur Node.js ou PHP. Déployez-le sur une URL HTTPS publique et conservez rawBody. Avec l’API Key de la commande d’origine, calculez HMAC-SHA256(timestamp + "." + nonce + "." + rawBody) et comparez à x-callback-signature. Ne reformatez pas le JSON et ne remplacez pas la signature du callback par x-signature.
Après vérification de la signature, contrôlez marchand, association de commande, réseau, devise, montant et état final. Utilisez des transactions et contraintes uniques en base pour n’appliquer chaque mise à jour qu’une fois. Retournez HTTP 2xx seulement après traitement réussi ou mise en file persistante fiable. Rejetez les signatures invalides et ne déclarez pas de succès si votre service échoue.
Testez avec une clé locale fictive : notification valide acceptée, body modifié rejeté, doublons appliqués une seule fois et reprise après interruption. Configurez ensuite votre notifyUrl et vérifiez journaux, réponses et commandes. Un timeout ou une réponse hors 2xx entraîne au maximum trois tentatives : la deuxième une minute après le premier échec, la troisième cinq minutes après le suivant. Les tentatives ne sont pas illimitées.
En l’absence de callback, vérifiez le statut final, notifyUrl, UID, l’accès HTTPS, la signature du corps original et la réponse HTTP. Le récepteur de débogage ne remplace pas la validation de votre service. Ne journalisez pas la clé complète.