Introduction
L'API Axepta BNP Paribas Online est une solution de paiement en ligne conçue pour faciliter l'intégration des paiements sécurisés sur votre plateforme e-commerce. Cette documentation technique fournit toutes les informations nécessaires pour comprendre, configurer et utiliser notre API de manière efficace.
| Info |
|---|
La documentation technique de notre API est disponible ici: https://axeptabnpparibas-docs.redocly.app/ |
Présentation de l'API
1.1.Fonctionnalités Clés
Support de 350+ méthodes de paiement : L'API prend en charge une large gamme de méthodes de paiement à travers le monde.Architecture RESTful : L'API est basée sur les principes REST, offrant une interface prédictible et facile à utiliser.
Sécurité renforcée : Conformité aux normes PCI-DSS et communication sécurisée via HTTPS (TLS 1.2 ou supérieur).
Documentation complète : Documentation technique détaillée pour faciliter l'intégration.
Cas d'Utilisation
Paiements en ligne : Traitement des paiements en temps réel.
Gestion des transactions : Consultation et gestion des transactions passées
2. Configuration de l'API
2.1. Prérequis
- Compte Merchant : Un compte marchand est nécessaire pour accéder à l'API.
- Clés d'API : Vous recevrez un Merchant ID et une API Key pour authentifier vos requêtes.
2.2. Environnements de Test et de Production
Environnement de Test : Utilisé pour tester vos intégrations avant de passer en production.
Authentification
3.1.Méthodes d'Authentification
Basic Authentication :
- Utilisez votre Merchant ID comme nom d'utilisateur et votre API Key comme mot de passe.
- Formatez la chaîne
MerchantID:APIKeyet encodez-la en Base64. - Incluez-la dans l'en-tête
Authorizationavec le préfixeBasic.
OAuth 2.0 :
- Générez un JSON Web Token (JWT) en vous authentifiant avec votre API Key via l'endpoint
authorization/oauth/token.
- Générez un JSON Web Token (JWT) en vous authentifiant avec votre API Key via l'endpoint
| Code Block | ||
|---|---|---|
| ||
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZGQzlEM0JEQzY2Mjc3MUYwNzYxRUJDRTkwOTMyMDMyQjdGOTQ1NTQiLCJ4NXQiOiJfOG5UdmNaaWR4OEhZZXZPa0pNZ01yZjVSVlEiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo3MTIxLyIsImV4cCI6MTc0MDQ3NTUwNCwiaWF0IjoxNzQwNDcxOTA0LCJqdGkiOiJiZjU3YmUwMi05YThiLTQxYjctYjNjNi02NzlmMTcxNDU2ZjAiLCJzdWIiOiJDVF9Mb2dlZWNvbV90ZXN0IiwibmFtZSI6IkNUX0xvZ2VlY29tX3Rlc3QiLCJtYXJrZXRwbGFjZUlkIjoiQ1RfTG9nZWVjb21fdGVzdF9NYXJrZXRwbGFjZSIsIm1hcmtldHBsYWNlQWN0aXZlIjpmYWxzZSwib2lfcHJzdCI6IkNUX0xvZ2VlY29tX3Rlc3QiLCJjbGllbnRfaWQiOiJDVF9Mb2dlZWNvbV90ZXN0Iiwib2lfdGtuX2lkIjoiMjEwMWUxNTgtNzY0NC00OGU4LWIzNmYtYmZhNzczNWJmYjAyIn0.Xgtb81-GBPGnQ2tSJKXIlA38koRqlVa2oLhT902t-ICocWYD4_35bTAiPfU2A4HWwQpg1PZTrdf4riSoA_v_5bWSM-rdHAb-Y7fNwQTYAUYDxkcrw9qc5JcjwBGlOgXGTzJR2xyPDTq2sO4qAxo00lhCVjhEQR47yqOFta9rkcCmg1i6T6BxF7ZO6tBECfo7NSJ0wgN7G5_Unmd5MgWuG8V5VdvDxhXa1p_sBQdmy6nBCRi2d2bh1BOrz_uT5U2zngVBPzZBXv046j7971JXZbR20JFpkqwrULCGR6fy78NvkrHNC4U8ZDHmbejBbObMGCb_8pWMnaLhIg0A1k2x0Q",
"token_type": "Bearer",
"expires_in": 3600
} |
Marc → Autres points à ajouter ?
3.2. Exemple de Requête d'Authentification
http
Collapse
1
2
3
GET /authorization/oauth/token HTTP/1.1
Host: api.axepta.bnpparibas
Authorization: Basic base64(MerchantID:APIKey)
4. Endpoints de l'API
4.1. Création d'une Transaction
- Endpoint :
POST /payments - Description : Crée une nouvelle transaction de paiement.
- Paramètres Requis :
amount: Montant de la transaction.currency: Devise de la transaction.payment_method: Méthode de paiement choisie.customer_email: Adresse e-mail du client.
4.2. Consultation d'une Transaction
- Endpoint :
GET /payments/{transaction_id} - Description : Récupère les détails d'une transaction spécifique.
- Paramètres Requis :
transaction_id: Identifiant unique de la transaction.
4.3. Annulation d'une Transaction
- Endpoint :
POST /payments/{transaction_id}/cancel - Description : Annule une transaction en attente.
- Paramètres Requis :
transaction_id: Identifiant unique de la transaction.
5. Gestion des Erreurs
5.1. Codes d'Erreur Courants
- 400 Bad Request : Requête mal formée.
- 401 Unauthorized : Authentification échouée.
- 404 Not Found : Ressource non trouvée.
- 500 Internal Server Error : Erreur interne du serveur.
5.2. Exemple de Réponse d'Erreur
json
Collapse
1
2
3
4
5
6
⌄
⌄
{
"error": {
"code": "400",
"message": "Invalid amount"
}
}
6. Sécurité
6.1. Conformité PCI-DSS
- Chiffrement des Données : Toutes les communications sont chiffrées via HTTPS (TLS 1.2 ou supérieur).
- Protection des Données Sensibles : Les données sensibles des clients sont gérées par Axepta BNP Paribas, réduisant ainsi vos responsabilités PCI-DSS.
6.2. Bonnes Pratiques de Sécurité
- Gestion des Clés API : Stockez vos clés API de manière sécurisée.
- Mises à Jour Régulières : Assurez-vous que votre système est à jour pour éviter les vulnérabilités.
7. Documentation Complémentaire
7.1. Exemples de Code
- Exemple en Python :
python
Collapse
Run
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
⌄
⌄
import requests
url = "https://api.axepta.bnpparibas/payments"
headers = {
"Authorization": "Basic base64(MerchantID:APIKey)",
"Content-Type": "application/json"
}
data = {
"amount": 100.00,
"currency": "EUR",
"payment_method": "credit_card",
"customer_email": "client@example.com"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
- Exemple en JavaScript :
javascript
Collapse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
⌄
⌄
const axios = require('axios');
const url = 'https://api.axepta.bnpparibas/payments';
const headers = {
'Authorization': 'Basic base64(MerchantID:APIKey)',
'Content-Type': 'application/json'
};
const data = {
amount: 100.00,
currency: 'EUR',
payment_method: 'credit_card',
customer_email: 'client@example.com'
};
axios.post(url, data, { headers })
.then(response => console.log(response.data))
.catch(error => console.error(error));
7.2. FAQ
Q : Comment puis-je obtenir mes clés API ?
- R : Contactez notre support technique pour obtenir vos clés API.
Q : Quelles méthodes de paiement sont supportées ?
R : Plus de 350 méthodes de paiement sont supportées, y compris les cartes de crédit, PayPal, et bien d'autres.