Pour toute question, nous sommes à un clic

Poser une question

Paiements directs

Description générale

Lors d'un paiement direct, la boutique en ligne dispose de sa propre page de paiement pour collecter les données de carte directement via son site web.

Utilisation de seToken

Si vous collectez les données de carte de votre côté et ne souhaitez pas qu'elles soient présentes sur votre serveur, vous devez utiliser seToken (Self Encrypted Token) — un jeton auto-signé utilisé pour la transmission sécurisée des données de carte. Si vous utilisez seToken, la conformité PCI DSS est également requise selon le niveau de votre activité transactionnelle. Au minimum, il est nécessaire de remplir le questionnaire d'auto-évaluation SAQ A (en savoir plus sur PCI DSS ici).

Notez que seToken peut être généré à l'aide du SDK.

Cliquez ici pour obtenir des informations supplémentaires sur seToken.

Si vous n'avez pas accès au Panneau de contrôle, créez votre compte.

Schéma d'intégration

Intégration directe
  1. Le client sélectionne un produit dans la boutique en ligne et clique sur le bouton Acheter.

  1. Le serveur de la boutique en ligne reçoit la demande d'achat et ouvre la page de paiement.

  1. L'acheteur saisit les données de sa carte sur la page de paiement de la boutique en ligne.

  1. Le serveur de la boutique en ligne collecte les données de carte.

  1. Paiement. Le serveur de la boutique en ligne demande l'enregistrement et le paiement de la commande en envoyant un appel API instantPayment.do à la passerelle de paiement. Cette demande doit contenir le paramètre amount (montant du paiement en unités minimales de la devise) et le paramètre backUrl (adresse vers laquelle le client sera redirigé après un paiement réussi à l'Étape 9). Il transmet également les données de carte à la passerelle de paiement.

Exemple de demande :

curl --request POST \
--url  https://dev.bpcbt.com/payment/rest/instantPayment.do \
--header 'content-type: application/x-www-form-urlencoded' \
--data userName=test_user \
--data password=test_user_password \
--data amount=100 \
--data currency=978 \
--data description=my_first_order \
--data orderNumber=1218637308 \
--data pan=5000001111111115 \
--data cvc=123 \
--data expiry=203012 \
--data cardHolderName="TEST CARDHOLDER" \
--data language=en \
--data backUrl=https%3A%2F%2Fmybestmerchantreturnurl.com \
--data failUrl=https%3A%2F%2Fmybestmerchantreturnurl.com

Exemple de réponse (3-D Secure requis) :

{
"errorCode": "0",
"orderNumber": "1218637308",
"orderId": "0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0",
"info": "Your order is proceeded, redirecting...",
"acsUrl": "https://dev.bpcbt.com/payment/rest/getwhitepageurl.do?mdOrder=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0&threeDsServerTransId=2aa43ebc-e997-4e54-9ddc-38228bc1d302",
"paReq": "White page paReq",
"termUrl": "White page termUrl",
"orderStatus": {
	"expiration": "203012",
	"cardholderName": "TEST CARDHOLDER",
	"depositAmount": 0,
	"currency": "978",
	"authCode": 2,
	"ErrorCode": "0",
	"ErrorMessage": "Success",
	"OrderStatus": 0,
	"OrderNumber": "1218637308",
	"Pan": "500000**1115",
	"Amount": 100,
	"Ip": "x.x.x.x"
},
"is3DSVer2": false
}

Exemple de réponse (3-D Secure non utilisé) :

{
"errorCode": "0",
"orderNumber": "1218637308",
"orderId": "0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0",
"info": "Your order is proceeded, redirecting...",
"redirect": "https://mybestmerchantreturnurl.com/?orderId=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0&lang=en",
"orderStatus": {
	"expiration": "203012",
	"cardholderName": "TEST CARDHOLDER",
	"depositAmount": 100,
	"currency": "978",
	"approvalCode": "123456",
	"authCode": 2,
	"rrn": "111111111111",
	"ErrorCode": "0",
	"ErrorMessage": "Success",
	"OrderStatus": 2,
	"OrderNumber": "1218637308",
	"Pan": "500000**1115",
	"Amount": 100,
	"Ip": "x.x.x.x"
},
"is3DSVer2": false
}
  1. Si 3-D Secure est requis (le paramètre acsUrl est renvoyé à l'Étape 5), la passerelle de paiement contacte le Directory Server pour accéder à l'ACS. Elle renvoie toutes les données nécessaires pour la redirection depuis l'ACS vers la boutique en ligne.

    Si 3-D Secure n'est pas utilisé, les Étapes 7–9 sont ignorées et le client est redirigé vers la page de confirmation de paiement (Étape 10). Le paramètre redirect est ignoré dans ce cas, car la boutique en ligne utilise sa propre page de confirmation de paiement.


  1. Le serveur de la boutique en ligne demande une redirection simplifiée de l'acheteur vers l'ACS en envoyant un appel API acsRedirect.do à la passerelle de paiement. La demande utilise le paramètre orderId (obtenu à l'Étape 5).

    Exemple de demande :

    https://dev.bpcbt.com/payment/acsRedirect.do?orderId=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0


    Il est également possible de rediriger le client vers l'ACS à l'aide d'une requête POST (redirection normale). La description de cette méthode est disponible ici.


  1. La passerelle de paiement redirige le client vers l'ACS.

  1. Le titulaire de la carte confirme la commande et l'ACS le redirige vers la passerelle de paiement.

  1. L'acheteur revient sur la page de la boutique en ligne (à l'adresse indiquée lors de la passation de la commande à l'Étape 5) ou ferme la page.

    Exemple d'URL de redirection :

    https://mybestmerchantreturnurl.com/?orderId=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0&lang=en


  1. La passerelle de paiement envoie de manière asynchrone une notification de callback au serveur de la boutique en ligne (si cette fonctionnalité est activée).

  1. (Facultatif) La boutique en ligne envoie une demande getOrderStatusExtended.do à la passerelle de paiement pour vérifier le statut de la commande et s'assurer que la commande est réellement payée. La demande contient le paramètre orderId obtenu à l'Étape 5. En réponse, la passerelle de paiement renvoie le statut de la commande dans le paramètre orderStatus. Le statut 2 signifie un paiement réussi, le statut 1 signifie une pré-autorisation réussie pour les paiements en deux phases (dans ce cas, un blocage des fonds est effectué). En plus, le paramètre actionCode est renvoyé - il contient le code de réponse du traitement bancaire. Voir la liste des codes de réponse ici.

    Pour plus d'informations, consultez la section Obtention du statut de commande.

Catégories:
eCommerceAPI V1
Catégories
Résultats de recherche