Récupérer les callbacks de paiement sans créditer deux fois

2026-09-01 · UUGate · 2 min de lecture
Guide d’intégration des callbacks de paiement en stablecoins

Le client a transféré les fonds, mais son solde reste inchangé. Vérifiez séparément la transaction sur la blockchain, la commande de la passerelle et le crédit métier. Une URL inaccessible, une signature rejetée ou un délai dépassé peuvent interrompre la notification.

Repérer l’étape en échec

Consultez la commande, puis contrôlez l’URL publique, le certificat HTTPS, le proxy et les journaux du récepteur. Distinguez requêtes absentes, signatures invalides, erreurs métier et réponses perdues. Conservez identifiants, horaires et résultats sans enregistrer de secrets.

Vérifier le corps original

UUGate utilise callbackSecret pour les callbacks, avec un rôle différent de l’API Key du marchand. Préservez le corps brut et appliquez les contrôles d’horodatage, de nonce et de signature documentés. Ne reformatez pas le JSON avant vérification et ne désactivez pas celle-ci pour vider une file d’attente.

Garantir un seul crédit

Établissez une contrainte d’unicité avec l’identité du marchand et le numéro de commande de la passerelle. Mettez à jour commande et solde dans la même transaction de base de données. Une simple consultation avant crédit ne protège pas des callbacks simultanés.

Une adresse peut recevoir plusieurs dépôts : elle ne convient pas comme clé de déduplication. Les callbacks et la récupération par consultation doivent partager la même logique de crédit.

Accuser réception après persistance

Pour un traitement court, renvoyez le succès après validation de la transaction. En mode asynchrone, vérifiez puis enregistrez l’événement dans une file persistante avant de répondre. Surveillez les échecs et les retards de traitement. Un événement conservé uniquement en mémoire peut être perdu au redémarrage.

Récupérer les commandes incomplètes

Après rétablissement, consultez les commandes en attente et appliquez les mêmes contrôles de marchand, commande, actif, réseau et montant, avec traitement idempotent. Une page de succès ou une capture du client ne suffit pas à justifier un crédit.

Testez doublons, callbacks simultanés, réponse perdue après crédit, redémarrages et récupération par consultation. Référez-vous à la documentation API pour les champs et états, à la solution d’intégration et aux limites des forfaits.

Étape suivante

Centre de contenu stablecoin

Prêt à lancer les paiements stablecoin ?

Commencez en mode test avec encaissement, paiement, callbacks et rapprochement avant la production.