Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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/


1.

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.

1.2.

Cas d'Utilisation

  • Paiements en ligne : Traitement des paiements en temps réel.

  • Gestion des transactions : Consultation et gestion des transactions passées

.
  • Personnalisation : Adaptation de l'expérience de paiement à votre site web.
  • 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
    • .

  • Environnement de Production : Utilisé pour les transactions réelles.

  • 3.

    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:APIKey et encodez-la en Base64.
      • Incluez-la dans l'en-tête Authorization avec le préfixe Basic.
    • OAuth 2.0 :

      • Générez un JSON Web Token (JWT) en vous authentifiant avec votre API Key via l'endpoint authorization/oauth/token.


    Code Block
    languagejson
    {
      "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.