Dans cette section, vous trouverez tout ce qu’il faut pour gérer les différents points d’entrée que votre application recevra pendant et après un paiement Axepta BNP Paribas Online.
Vous apprendrez :
Pour les intégrateurs pressés : vous aurez ici les formats d’appel, les paramètres ajoutés automatiquement, les bonnes pratiques, et les exemples JSON.
Pour les développeurs débutants : des encadrés “À savoir” expliquent les notions essentielles.
Lors de l’initialisation du paiement, vous devez fournir un objet urls :
urls{
"return":"https://myProcessingServer.net/myApi/success.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
"cancel":"https://myProcessingServer.net/myApi/cancel.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
"webhook":"https://myBackOfficeServer.net/webhook.php"
} |
Ajoutez un identifiant propre à votre système ans vos URLs afin de relier le retour à votre commande. Exemple d'url appelé lors de la validation du paiement par le client.
|
|
Il est conseillé d'ajouter à l'url un paramètre propre à votre back-office permettant de lier ce retour à la vente.
Une de ces deux url sera appelé à la fin du traitement bancaire de la transaction, afin de:
L'url appelé est celle passée, a laquelle est ajout le paramètre PayId portant la valeur du Payment Id généré par le serveur Axepta BNP Paribas Online pour cette transaction.
Gestion des callbacks et notifications de paiement
Dans cette section, vous trouverez tout ce qu’il faut pour gérer les différents points d’entrée que votre application recevra pendant et après un paiement Axepta BNP Paribas Online.
Vous apprendrez :
Pour les intégrateurs pressés : vous aurez ici les formats d’appel, les paramètres ajoutés automatiquement, les bonnes pratiques, et les exemples JSON.
Pour les développeurs débutants : des encadrés “À savoir” expliquent les notions essentielles.
Il est fortement recommandé d’ajouter un diagramme de séquence illustrant :
Lors de l’initialisation du paiement, vous devez fournir un objet urls :
"urls": { "return":"https://myProcessingServer.net/myApi/success.php?transId=95330876", "cancel":"https://myProcessingServer.net/myApi/cancel.php?transId=95330876", "webhook":"https://myBackOfficeServer.net/webhook.php"}
➡️ Ajoutez un identifiant interne (ex : transId) dans vos URLs afin de relier le retour à votre commande.
Les URLs return et cancel sont appelées à la fin du parcours client.
URL | Quand est-elle appelée ? | Ce qu’elle permet |
return URL | client clique sur Valider le paiement | Finaliser la commande côté marchand |
cancel URL | client clique sur Annuler | Gérer un abandon ou une erreur avant validation |
À l’appel de l’une de ces URLs, Axepta ajoute automatiquement le paramètre :
PayId=<paymentId généré par Axepta>
GET /payments/getByPayId/{payId}
{ "amount": { "value": 126, "currency": "EUR", "capturedValue": 0, "refundedValue": 0 }, "payId": "91a6299a704147bf934aabd79fd1dc5d", "merchantId": "MY_MERCHANT_ID", "transId": "Trans361039", "xId": "b55e68b7e4644a90836ae31effe1fc60", "refNr": "refNb77254", "status": "AUTHORIZED", "responseCode": "00000000", "responseDescription": "Transaction successful", "paymentMethods": { "type": "CARD" }}
La notification Webhook est le seul moyen fiable d’être informé de la complétion d’une transaction.
Elle est envoyée même si le client :
À chaque fin de traitement de paiement : autorisation, capture, échec…
Important : ne déclenchez jamais la finalisation de commande uniquement à partir du Return URL.
Utilisez toujours le webhook comme source d’information fiable.
Champs fournis :
{ "merchantId": "YOUR_MERCHANT_ID", "payId": "91a6299a704147bf934aabd79fd1dc5d", "transId": "Trans361039", "xid": "b55e68b7e4644a90836ae31effe1fc60", "refNr": "refNb77254", "status": "AUTHORIZED", "responseCode": "00000000", "responseDescription": "Transaction successful", "amount": { "value": 126, "currency": "EUR" }, "paymentMethods": { "type": "CARD" }, "creationDate": "2025-10-30T11:27:57Z", "channel": "ECOM"}
Même si le retour client laisse penser à un succès.
C’est votre source de vérité.
Utile pour l’analyse en cas de litige ou d’échec.
Les webhooks peuvent être renvoyés : votre endpoint doit être idempotent.
urls{
"return":"https://myProcessingServer.net/myApi/success.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
"cancel":"https://myProcessingServer.net/myApi/cancel.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
"webhook":"https://myBackOfficeServer.net/webhook.php"
} |
Elles sont renseignées lors de l'initialisation du paiement.
Il est conseillé d'ajouter à l'url un paramètre propre à votre back-office permettant de lier ce retour à la vente.
Une de ces deux url sera appelé à la fin du traitement bancaire de la transaction, afin de:
L'url appelé est celle passée, a laquelle est ajout le paramètre PayId portant la valeur du Payment Id généré par le serveur Axepta BNP Paribas Online pour cette transaction.
Exemple d'url appelé lors de la validation du paiement par le client.
en vert, l'url passée lors de l'initialisation du paiement, avec le transId ajouté pour lier le retour à un id marchand.
en rouge, le paramètre payId ajouté par le serveur.
https://myProcessingServer.net/myApi/success.php?transId=95330876-67ae-4949-a11c-b9a29257831b&PayId=b6eae9b16e3343fa90da39d4ee7bf4ad
Vous pouvez contacter le serveur Axepta BNP Paribas Online avec le paiement Id reçut en paramètre pour connaitre le statut de la transaction.
Utilisez l'api GET /payments/getByPayId/{payId}.
Eléments clés de la réponse à l'api getByPayId
{
"amount":{
"value":126,
"currency":"EUR",
"capturedValue":0,
"refundedValue":0
},
"payId":"91a6299a704147bf934aabd79fd1dc5d",
"merchantId":"MY_MERCHANT_ID",
"transId":"Trans361039",
"xId":"b55e68b7e4644a90836ae31effe1fc60",
"refNr":"refNb77254",
"status":"AUTHORIZED",
"responseCode":"00000000",
"responseDescription":"Transaction successful",
"paymentMethods":{
"type":"CARD"
}
} |
Cette adresse est appelée en dehors du processus de paiement.
C'est le mécanisme asynchrone utilisé par la plateforme Axepta BNP Paribas Online pour notifier le commerçant de la validation de la transaction.
Il est indispensable pour le site marchand de prendre en charge la réception de ce message.
C'est le seul accusé de complétion de transaction dont l'envoi est garanti.
Si le client ferme la fenêtre de navigation lors de la validation du paiement, l'appel a l'url return ou cancel ne sera pas fait.
Il n'est donc important pour le site marchant de traiter les requêtes reçues sur l'url webhook.
Le Serveur Axepta BNP Paribas Online retourne une payload json sur cette url à la fin de la transaction, avec les éléments clés suivant:
{
"merchantId": "YOUR_MERCHANT_ID",
"payId": "91a6299a704147bf934aabd79fd1dc5d",
"transId": "Trans361039",
"xid": "b55e68b7e4644a90836ae31effe1fc60",
"refNr": "refNb77254",
"status": "AUTHORIZED",
"responseCode": "00000000",
"responseDescription": "Transaction successful",
"amount": {
"value": 126,
"currency": "EUR"
},
"paymentMethods": {
"type": "CARD"
},
"creationDate": "2025-10-30T11:27:57Z",
"channel": "ECOM"
}
|