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
- Sécurité et 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
- Flexibilité : Permettez aux clients de payer avec différentes cartes bancaires.
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 de création de paiement avec `paymentMethods.integrationType=HOSTED` à Axepta BNP Paribas.
- Axepta BNP Paribas répond avec un code de réponse HTTP 202 et une 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 le formulaire de paiement hébergé par Axepta BNP Paribas.
- Le client saisit les détails et complète le paiement.
- À la fin, le client est redirigé vers l'URL de retour que vous avez soumise lors de l'appel de création de paiement (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 de détails de paiement GET 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.
- Votre backend retourne une page de succès ou d'échec en fonction du code de réponse du paiement.
3. Create Payment
(Documentation swagger de l'api /payment: Create payment )
Paiement simple
Données techniques de connexion
Des données technique 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és dans une payload json.
Content-Type: application/json - les données d'autorisation reçut lors de l'étape d'authentification Oauth-v2
il s'agit du type de token, et du json web token. ils doivent être renseigné 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 monnaie 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'.
- 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ée 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: success, error, webhook
- Le type de paiement souhaité: objet 'paymentMethods'
- Il faut préciser si le paiement est hébergé par Axepta BNP Paribas Online, ou traité entièrement coté marchant: 'integrationType'
- et il faut donner le type de paiement souhaité: 'type'
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
curl -i -X POST \
https://test.paymentpage.axepta.bnpparibas/api/v2/payments \
-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": {
"email": "john-doe@email.com"
},
"order": {
"merchantReference": "order7811",
"invoiceId": "invoice10240203569454"
},
"urls": {
"succes":"https://myProcessingServer.net/myApi/success.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
"error":"https://myProcessingServer.net/myApi/cancel.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
"webhook":"https://myBackOfficeServer.net/webhook.php"
},
"paymentMethods": {
"integrationType": "HOSTED",
"type": "CARD"
}
}' |
Paiement avec One-Click / Wallet
Pour traiter la fonctionnalité One-Click, il est nécessaire de fournir l'identifiant du client pour le marchand.
Dans l'objet 'customerInfo', il faut envoyer le paramètre 'merchantCustomerId'
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
...
"customerInfo": {
"email": "john-doe@email.com",
"merchantCustomerId": "id-8803"
},
... |
Paiement iframe
ajouter ici un exemple simple de code permettant de créer un paiement par carte + lien directe vers la doc API
+ ajouter un screenshot de la page
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 - Permet d'utiliser la fonctionnalité de paiement One-Click/Wallet
- 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 :
AJOUTER LE LIEN
5. Moyens de paiement disponibles
AJouter ici la liste des moyens de paiement disponibles
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.
Wallet : Offrez à vos clients une expérience de paiement fluide et sécurisée. Grâce à cette fonctionnalité, les clients peuvent enregistrer leurs cartes de manière sécurisée pour les transactions futures, ce qui rend les achats répétés plus rapides et plus faciles, améliorant ainsi le taux de conversion.
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



