La page de paiement hébergée par Axepta BNP Paribas est utilisée lorsque le marchand souhaite offrir une expérience de paiement complète et personnalisée à ses clients. Cette méthode est idéale pour les sites e-commerce qui veulent intégrer une solution de paiement sécurisée et conforme aux normes en vigueur.
Cette intégration nécessite un effort de développement minimal, prend en charge plusieurs méthodes de paiement sous une seule implémentation et garantit que les données sensibles des clients restent entièrement dans les systèmes d'Axepta BNP Paribas. En externalisant le traitement des paiements, votre entreprise réduit considérablement les responsabilités et les coûts liés à la conformité PCI-DSS.
Sommaire
| Table of Contents |
|---|
1. Avantages clés
- Expérience Utilisateur Optimisée : Offrez à vos clients une interface de paiement intuitive, sécurisée et responsive
- Effort de développement minimal : Offrez plusieurs méthodes de paiement sous une seule implémentation
- Conformité aux Normes : Respectez les réglementations en vigueur grâce à la gestion des données sensibles des clients par Axepta BNP Paribas, réduisant ainsi considérablement vos responsabilités et coûts liés à la conformité PCI-DSS
2. Flux de paiement
Le client procède au paiement sur votre boutique en ligne :
- Votre frontend demande la page de paiement au backend.
- Votre backend effectue un appel Create checkout session à Axepta BNP Paribas.
- Axepta BNP Paribas répond avec l'URL de redirection à votre backend.
- Votre backend orchestre le navigateur pour rediriger l'interface utilisateur vers l'URL de redirection.
- Le client est redirigé vers la page de paiement hébergée par Axepta BNP Paribas.
- Le client sélectionne son mode de paiement préféré et finalise le paiement.
- À la fin, le client est redirigé vers l'URL de retour que vous avez soumise lors de l'appel Create checkout session (urls.return) avec le payId dans les paramètres de requête.
- Le navigateur récupère l'URL de retour hébergée par votre backend.
- Le backend effectue un appel GET Payment details avec le payId pour récupérer le code de réponse du paiement.
- Axepta BNP Paribas répond avec le code de réponse du paiement ainsi que d'autres paramètres.
- Le backend renvoie une page de succès ou d'échec en fonction du code de réponse du paiement.
3. Create checkout session (pas à pas)
(Documentation swagger de l'api /payment/session: Create checkout session )
Données techniques de connexion
Des données techniques de connexion doivent être passées dans les headers http de la requête REST
- Content-Type
le type de la payload: les données doivent être passées dans une payload json.
Content-Type: application/json - les données d'autorisation reçues lors de l'étape d'authentification Oauth-v2
il s'agit du type de token et du json web token (JWT). Ils doivent être renseignés dans le header 'Authorization'.
Authorization: <token_type> <YOUR_JWT> - L'id d'idempotence
Indispensable pour détecter les possibles répétitions http.
Utilisez le header 'Idempotency-Key' et générez un uuid-v4 comme valeur
Idempotency-Key: "8f35cb16-2f05-4aa1-85cf-b1e41ee7aec9"
Données minimales
Pour initier le paiement, les données minimales nécessaires sont:
- identifiant de la transaction coté marchant: 'transId'
- le montant et la devise de la transaction: objet 'amount'
- composé des données 'curreny' et 'value'.
- le montant doit toujours être exprimé dans la plus petite unité de la monnaie associée. (par ex, le centime d'euro)
- l'identification du client: objet 'customerInfo'
- composé à minima de l'e-mail du client: 'email'.
- Il est fortement conseillé de renseigner l'identification du client sur le site marchant: 'merchantCustomerId'.
Cette donnée est indispensable à la fonctionnalité 'One-Click'
- les données de la commande: objet 'order'
- Au moins une des deux données suivantes: le numéro de commande 'merchantReference' ou le numéro de facture 'invoiceId' générés sur le site marchant.
- il est conseillé de renseigner les 2.
- les urls de retour: objet 'urls'
- obligatoirement les adresses de 3 urls de retour: return, cancel, webhook
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
curl -i -X POST \
https://test.paymentpage.axepta.bnpparibas/api/v2/payments/sessions \
-H 'Authorization: <token_Type> <YOUR_JWT>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: "8f35cb16-2f05-4aa1-85cf-b1e41ee7aec9" \
-d '{
"transId": "95330876-67ae-4949-a11c-b9a29257831b",
"amount": {
"currency": "EUR",
"value": 1500
},
"customerInfo": {
"merchantCustomerId": "id-8803",
"email": "john-doe@email.com"
},
"order": {
"merchantReference": "order7811",
"invoiceId": "invoice10240203569454"
},
"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"
}
}' |
Réponse et redirection vers la page de paiement
Vous devez recevoir en réponse un message http 202, indiquant que le traitement de la transaction est initié, et qu'un contexte paiement à été créé coté serveur.
Le corps de la réponse contient le lien vers la page de paiement hébergée sur la plateforme Axepta BNP Paribas Online.
Vous devez rediriger le navigateur du client vers ce lien.
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
{
"_links": {
"redirect": {
"href": "https://test.paymentpage.axepta.bnpparibas/paymentpage.aspx?token=eb577d2d61ba4396bfeb0de554e76a70",
"type": "text/html"
}
}
} |
4. Préconisations
Nous préconisons de transmettre à minima les données suivantes :
Identifiant de la transaction : L'identifiant unique du paiement
- Montant du Paiement : Le montant à payer par le client.
- Devise : La devise utilisée pour le paiement.
- Identifiant du Client : L'identifiant unique du client
- email : L'email du client
- Identifiant de la commande (order.merchantReference) : L'identifiant de la commande
- Identifiant de la facture (order.invoiceId) : L'identifiant de la facture associé à ce paiement
L'ensemble de nos guidelines sont disponibles ici : Préconisation d'intégration - Documentation Axepta BNP Paribas - Axepta
5. Moyens de paiement disponibles
Nous proposons les moyens de paiement suivants adaptés à vos besoins spécifiques ainsi qu'à ceux de vos clients :
- Cartes
- American Express (AMEX)
- Cartes Bancaires
- Union Pay International (UPI)
- Diners
- Discover
- JCB
- MasterCard
- Visa
- Bancontact
- Wallets
- Paiements fractionnés
- Floa
- Offres de crédit
- PF Connect
- Virement instantané (Instanéa)
- Wero
6. Fonctionnalités associées
- Génération Automatique de la Référence End to End (RefNr) : Chaque transaction bénéficie d'une référence unique générée automatiquement.
- Contrôle des Doublons : Détectez et gérez les tentatives de paiement en double pour éviter les erreurs - Activation lors de la configuration de votre boutique ou via une demande au support
- Email de confirmation : Axepta BNP Paribas peut envoyer une mail de confirmation de succès ou d'échec de paiement au client - Activation lors de la configuration de votre boutique ou via une demande au support
