Recevoir des rappels

Contents

Lorsque notre système détecte un paiement, notre serveur vous envoie une notification contenant toutes les informations importantes relatives à votre paiement. Vous devrez ensuite créer une page de traitement des paiements pour gérer les rappels et finaliser les commandes de vos clients.

Notre service émet des notifications entre 0 (une nouvelle transaction non confirmée dans le réseau bitcoin) et 6 confirmations. Vous pourrez cependant recevoir 7 rappel pour chaque transaction.

Après 1confirmation, vous recevrez vos bitcoins à l'adresse de destination, puis une transaction hash et une adresse de destination seront ajoutés aux paramètres de rappel.

Afin de confirmer le traitement réussi de notre rappel, votre serveur doit répondre par un message texte au format standard:

*ok*

Lorsque nous recevons *ok* nous arrêterons les rappels pour cette transaction.

Au cas ou votre serveur ne répondrait pas ou répondrait de manière incorrecte, notre serveur effectuera de nouvelles tentatives pour chaque nouveau bloc durant 3 jours.

Le rappel sera exécuté sur la même adresse et avec les mêmes paramètres GET qui ont été spécifiés lors de son enregistrement, mais des détails supplémentaires contenant des informations sur le paiement lui seront ajoutés. Veuillez noter que la longueur maximum autorisée pour le texte est de 1024 caractères.

Exemple de rappel

Utiliser des requêtes GET c'est comme ouvrir un lien dans votre moteur de recherche. Des paramètres supplémentaires concernant le paiement sont ajoutés au lien de rappel. Dans le formulaire ci-dessous, vous pouvez expérimenter les possibilités, voir ce que votre boutique en ligne répond à notre serveur et vérifier que le traitement se déroule correctement. Vous pouvez également copier et coller ce lien dans le navigateur pour observer le résultat.

Le bloc suivant présente un exemple de callback:

http://example.com/callback?invoice_id=1234&secret=7j0ap91o99cxj8k9&value=100000000&input_address=1E2VSRsaW3Kb1gDkdRUGDo6knAKfi9iYsb&confirmations=1&transaction_hash=0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098&input_transaction_hash=4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&destination_address=1LisLsZd3bx8U1NYzpNHqpo8Q6UCXKMJ4z&value_forwarded=99979800
Paramètres et variables

Le tableau suivant dresse une liste des paramètre GET qui seront envoyés dans la requête à votre serveur:

Paramètres Variables Eléments requis Expérience avec une valeur
URL
<1024 caractères
Callback URL
URL de rappel vers la page de traitement des paiements avec des options GET supplémentaires
Toujours
{value}
nombre entier, plage 1-10^16

Somme en Satoshi
Le montant en bitcoin est envoyé par le client en Satoshi (1 BTC = 100.000.000 Satoshi). Assurez vous que vous les avez parfaitement convertis en BTC, et si nécessaire, divisez les par 100.000.000.

Toujours
{input_address}
base58, 32 caractères
Adresse générée
Adresse bitcoin générée à laquelle le client envoie le paiement.
Toujours
{confirmations}
nombre entier, plage 0-1000

Confirmations
Nombre de confirmations acceptées. Plage par défaut 0-6.'

Toujours
{transaction_hash}
texte, 64 caractères
Transaction Hash
La transaction hash de transfert de paiement vers votre adresse bitcoin de destination.
Après le transfert de bitcoin seulement
{input_transaction_hash}
texte, 64 caractères

Transaction hash d'entrée
Hash de la transaction du client.

Toujours
{destination_address}
base58, 32 caractères
Adresse de destination
Votre adresse bitcoin de destination vers laquelle les paiements confirmés seront transférés
Après le transfert de bitcoin seulement
{value_forwarded}
nombre entier, plage 1-10^16
Montant transféré dans Satoshi
Le montant transféré dans Satoshi sans blockchain réseau et les frais de service (1 BTC = 100 millions Satoshi). Assurez vous que vous les avez parfaitement convertis en BTC, et si nécessaire, divisez les par 100.000.000.
Après le transfert de bitcoin seulement  
  Effacer Essai
Réponse du serveur:
*ok*

Mauvaise réponse. Le message indiquant une exécution réussie du processus doit être écrite dans un format texte standard sans aucun autre symbole ou caractère. Bonne réponse: *ok*

Bonne réponse: Merci.

Callback reçu - Exemple de code

Nous vous recommandons fortement de ne pas compléter ou commander avec une transaction non confirmée car l'expéditeur peut créer une nouvelle transaction avec une commission réseau plus importante, mais sur un autre portefeuille et que celle ci soit confirmée par le réseau. Il y a alors de grandes chances que la transaction initiale soit rejetée et que votre paiement n'arrive jamais. Notifiez simplement que vous avez vu le paiement et attendez sa confirmation.

Terminez votre commande ou recharger le compte d'un utilisateur uniquement avec une transaction confirmée et après 3 confirmations (nombre recommandé) . Ainsi vous serez certain que chaque paiement parviendra jusqu'à vous. Comme le montre le second exemple en language PHP.