You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »


Cartes

Guide d'intégration

Version 1.0

Date 26/03/2020


Table des matières


Historique des versions

Date

Nom

Modification

26/03/2020

Peter Posse

Version originale


Intégration du paiement par carte

Informations generales sur les paiement par carte

La plateforme de paiement de BNP Paribas prend en charge les principales cartes de paiement et devises dans le monde. Les données cartes sont protégées contre tout accès non autorisé grâce au chiffrement TLS. Des fonctions de sécurité supplémentaires sont intégrées, comme la prévention de la fraude et la gestion des risques.

MasterCard SecureCode (UCAF), Verified by Visa (VbV), Diners ProtectBuy, JCB J/Secure et American Express SafeKey permettent de sécuriser les demandes de paiement avec une validation du porteur de la carte grâce à la technologie 3D Secure, ce qui signifie que le porteur de carte doit confirmer son identité via une fonctionnalité d’authentification.

Le traitement d’une transaction par carte peut être effectué via :

  • Le formulaire de la plateforme de paiement,
  • Une connexion serveur-to-serveur,
  • Un transfert par batch


Les commerçants bénéficient du transfert de responsabilité lorsqu’ils utilisent l’authentification 3D Secure.

Sur le plan technique, le 3D Secure représente un processus d’authentification qui précède le paiement. Une fois les données de carte saisies, la plateforme de paiement vérifie l’identité du porteur de carte et le paiement n’est seulement exécuté qu’après l’authentification.

Il est essentiel de savoir si le paiement par carte est effectué via la page de paiement ou via une connexion serveur-to-serveur. Dans le premier cas, la page de paiement gère le processus d’authentification, alors que dans le cas d’une connexion server-to-server, le commerçant doit gérer l’authentification via une interface distincte.


Le formulaire de la page de paiement et les donnees de carte sont héberges par BNP Paribas (payssl.aspx)

Schéma des flux



Exécution d’une transaction avec 3D Secure

  • The customer selects the card payment metho
  • Le client sélectionne le paiement par carte sur le site et saisit les informations relatives à sa carte.
  • La plateforme de paiement reçoit les informations liées à la carte et vérifie, via une connexion au réseau de la carte (Visa, MasterCard, Diners, JCB, American Express) si la carte est enregistrée 3D Secure (Verified, SecureCode, Diners ProtectBuy, JCB-Card J/Secure ou SafeKey). Si la carte ne l’est pas, le paiement se fait via TLS.
  • La transaction est marquée par un « flag ». Cette marque (flag) indique à la banque acquéreur que cette transaction utilise l’authentification 3DS. Cette indication est essentielle dans le cas où le porteur de la carte contesterait le paiement car elle indique à la banque le transfert de responsabilité (Liability Shift).

Si le mot de passe est correct, la plateforme de paiement obtient une confirmation. Ce n’est qu’après confirmation que la plateforme de paiement débute le paiement.


Paramètres de la requête de paiement

Pour effectuer un paiement par carte via le formulaire de la plateforme de paiement, accédez à l’URL suivante :


Cette section décrit les paramètres à envoyer pour chaque connexion. Le second tableau décrit les paramètres de réponse qui sont identiques pour tous les paiements carte.

Remarque : pour des raisons de sécurité, la plateforme de paiement rejette toutes les requêtes de paiement avec des erreurs de formatage. Par conséquent, utilisez le type de donnée approprié pour chaque paramètre.

Le tableau suivant décrit les paramètres de requête de paiement chiffrés :

Paramètre

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by BNP Paribas. Additionally, this parameter has to be passed in plain language too.

TransID

ans..64

M

TransactionID which should be unique for each payment

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Amount3D

n..10

OC

Only for 3DSecure: Amount for authentication with Verified, SecureCode and SafeKey if Amount deviates. E.g. Customer confirms flight costs of 120 Euros with 'Verified' but the travel agent captures only the booking fee of 20 Euros: Amount3D=12000; Amount=2000. Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

URLSuccess

ans..256

M

Complete URL which calls up the payment platform if payment has been successful. The URL may be called up only via port 443 This URL may not contain parameters: In order to exchange values between the payment platform and shop, please use the parameter UserData.

URLFailure

ans..256

M

Complete URL which calls up the payment platform if payment has been unsuccessful. The URL may be called up only via port 443 This URL may not contain parameters: In order to exchange values between the payment platform and shop, please use the parameter UserData.

Response

a7

O

Status response sent by the payment platform to URLSuccess and URLFailure, should be encrypted. For this purpose, transmit Response=encrypt parameter.

URLNotify

ans..256

M

Complete URL which the payment platform calls up in order to notify the shop about the payment result. The URL may be called up only via port 443 It may not contain parameters: Use the UserData parameter instead.

UserData

ans..1024

O

If specified at request, the payment platform forwards the parameter with the payment result to the shop

Capture

ans..6

O

Determines the type and time of capture. AUTO: capturing immediately after authorisation (default value). MANUAL: capturing made by the merchant. <Number>: Delay in hours until the capture (whole number; 1 to 696).

ReqID

ans..32

O

To avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, the payment platform will not carry out the payment, but will just return the status of the original transaction.

Plain

ans..50

O

A value to be set by the merchant to return some information unencrypted, e.g. the MID

Custom

ans..1024

O

The merchant can submit several values separated by | which are returned unencrypted and separated by &.

Custom=session=123|id=456 will change in the answer to Session=123&id=456

expirationTime

ans..19

O

Timestamp for the end time of the transaction processing, specified in UTC.

Format: YYYY-MM-ddTHH:mm:ss

AccVerify

a3

=

If AccVerify=Yes the card will be checked at the acquirer according to the acquirer’s interface description. The merchant has to submit only this parameter, the parameter "Amount" is optional. If "Amount" is used, we replace the amount according to acquirer’s interface description. At payment always Amount=0 is stored.

Allowed value: yes

RTF

a1

O

for repeat payments (subscriptions):

I = Initial payment of a new subscription

R = Routine payment (Recurring)

Pour adapter la mise en page de la page SSL de votre boutique, vous pouvez utiliser les paramètres non chiffrés suivants :

Paramètre

Format

CND

Description

Template

ans..20

O

Nom du fichier XSLT avec votre propre mise en page pour le formulaire de paiement. Si vous voulez utiliser le modèle BNP Paribas repensé et avec rétrocompatibilité, transférez le nom de modèle « ct_compatible ». Si vous voulez utiliser le modèle BNP Paribas réactif (responsive) pour les périphériques mobiles, transférez le nom de modèle « ct_responsive ».

Language

a2

(enum)

O

Code de langue : <de> allemand, <al> albanais, <at> autrichien, <cz/cs> tchèque, <dk> danois, <en> anglais, <fi> finnois, <fr> français, <gr> grec, <hu> hongrois, <it> italien, <jp> japonais, <nl> néerlandais, <no> norvégien, <pl> polonais, <pt> portugais, <ro> roumain, <ru> russe, <es> espagnol, <se> suédois, <sk> slovaque, <sl> slovène, <tr> turc, <zh> chinois simplifié.

La langue par défaut est l’allemand.

CCSelect

a..16

O

Détermine le type de carte présélectionnée dans le formulaire

URLBack

ans..256

O

URL pour le bouton « Annuler »

CustomField[n]

ans..50

O

Champs pouvant être utilisés par le commerçant. Nous proposons actuellement 9 champs. De « CustomField1 » à « CustomField9 »

Le tableau suivant décrit les paramètres du résultat transmis par la plateforme de paiement à URLNotify, URLSuccess ou URLFailure. Si vous avez spécifié le paramètre Response=encrypt, les paramètres suivants sont envoyés chiffrés avec la méthode Blowfish à votre système :

Paramètre

Format

CND

Description

MID

ans..30

M

Identifiant du commerçant (MerchantID) attribué par BNP Paribas

PayID

an32

M

Identifiant attribué par la plateforme de paiement pour le paiement ; p. ex. pour référencement dans les fichiers batch

XID

an32

M

Identifiant pour toutes les transactions uniques (autorisation, capture, remboursement) pour un paiement attribué par la plateforme de paiement

TransID

ans..64

M

Numéro de transaction du commerçant

RefNr

ns..30

O

Le numéro de référence unique du commerçant, qui sert de référence de remboursement

Status

a..50

M

OK / AUTHORIZED (URLSuccess) / FAILED (URLFailure)

Description

ans..1024

M

Détails supplémentaires dans le cas où le paiement est rejeté. N’utilisez pas la Description, mais le paramètre Code pour l’analyse du statut de transaction !

Code

n8

M

Code erreur de réponses de la plateforme de paiement (voir fichier Excel des codes erreur)

MAC

an64

M

Code HMAC (Hash Message Authentication Code) avec algorithme SHA-256

UserData

ans..1024

O

Si cela est spécifié dans la requête, la plateforme de paiement transmet le paramètre avec le résultat du paiement à la boutique

PCNr

n16

O

TOKEN (Pseudo Card Number, numéro de carte temporaire) : numéro aléatoire généré par la plateforme de paiement qui représente un numéro de carte authentique. Le TOKEN (PCN) commence par 0, et les 3 derniers chiffres correspondent à ceux du véritable numéro de carte. Vous pouvez utiliser le PCN comme un numéro de carte authentique pour une autorisation, une capture et un remboursement.

CCBrand

a..22

OC

Désignation de la marque de carte

Please note the spelling! According to table of card brands!

CCExpiry

n6

OC

En combinaison avec PCNr : date d’expiration de la carte au format AAAAMM (201706).

MaskedPan

an..19

OC

Numéro de carte masqué 6X4

CAVV

ans..40

OC

Dans le cas de 3D Secure avec hébergement d’authentification (requête 3D sans autorisation uniquement) : valeur de validation d’authentification de porteur de carte : contient la signature numérique pour l’authentification avec l’ACS de la banque émettrice de la carte.

ECI

n2

OC

Pour 3D Secure : l’indicateur d’e-commerce ACS : définit le niveau de sécurité d’un paiement par carte via les différents canaux de communication : MOTO, SSL, Verified by Visa, etc.

DDD

a1

C

Pour l’hébergement d’authentification 3D Secure :

Y-entièrement authentifié (authentification complète effectuée)

N–not enrolled (vérifié, mais l’émetteur ne participe pas)

U-non éligible (erreur technique)

A-attempt (la carte ne participe pas)

B-bypass (contournement, uniquement pour CardinalCommerce)

Type

ans..20

C

Pour 3D Secure uniquement, en réponse à URLNotify : abréviation du type de paiement, (exemple : SSL)

Plain

ans..50

O

Une valeur définie par le commerçant pour retourner certaines informations non chiffrées (p. ex. identifiant du commerçant)

Custom

ans..1024

O

Le commerçant peut soumettre plusieurs valeurs séparées par | et qui sont retournées non chiffrées et séparées par &.

Custom=session=123|id=456 devient dans la réponse Session=123&id=456

CustomField[n]

ans..50

O

Champ pouvant être utilisé individuellement par le commerçant. Actuellement, 9 champs de CustomField1 à CustomField9 sont pris en charge.


The decrypted payment platform response within the Data parameter looks like this:

PayID=a234b678e01f34567090e23d567890ce&XID=50f35e768edf34c4e090e23d567890ce&Trans ID=100000001&Status=AUTHORIZED&Description=AUTHORIZED&Code=00000000


Le formulaire de la page de paiement est héberge par le commerçant et les donnees de carte sont hébergees par BNP Paribas (paynow.aspx)

Même processus 3DS que pour payssl.aspx

Un Silent-order post associe les avantages des formulaires de la plateforme de paiement et de la connexions serveur-to-serveur : contrairement au formulaire de la plateforme de paiement, où le formulaire est chargé depuis le serveur de la plateforme de paiement via l’appel de payssl.aspx, le Silent order post doit être fourni par le système du commerçant. Le formulaire utilise les mêmes paramètres que ceux décrits ci-dessous.

Contrairement au formulaire de la plateforme de paiement, les paramètres ne sont pas transférés en tant que paramètres d’URL comme c’est le cas lors de l’appel payssl.aspx, mais en tant que paramètres de saisie du formulaire.


Payssl.aspx

Paynow.aspx

payssl.aspx?MerchantID=[mid]&Len=[len]&Data=[data]

<form action=paynow.aspx>

<input type="hidden" name="MerchantID" value=[mid]>

<input type="hidden" name="Len"        value=[len]>

<input type="hidden" name="Data"       value=[data]>

:

</form>


Les données de carte doivent être transmises à paynow.aspx avec les paramètres suivants :

Paramètre

Format

CND

Description

CCNr

n..16

M

Numéro de carte d’au moins 12 chiffres, numérique sans espace

CCCVC

n3

O

Numéro de vérification de carte : les trois derniers chiffres sur la bande de signature de la carte

CCExpiry

n6

M

Date d’expiration de la carte au format AAAAMM, p. ex. 201807

CCBrand

a..22

M

Désignation de la marque de carte. Notez bien l’orthographe ! Selon le tableau des marques de carte !


Une fois que le client a saisi les données de sa carte, les données de paiement sont transférées à la page Silent order post où le paiement est exécuté via 3D Secure. Les détails du formulaire doivent être directement transférés à la page Silent order post, mais ne doivent pas  être transmis au système du commerçant. De plus, il se peut qu’aucune donnée PCI ne soit transmise à la page Silent order post en tant que paramètres de saisie supplémentaires.

Remarque : les nouvelles tentatives automatiques au niveau de la plateforme de paiement doivent être désactivées lors de l’utilisation de Paynow.aspx. En effet, lors d’une nouvelle tentative, la plateforme de paiement ne peut pas rediriger le client vers le formulaire de saisie  de la boutique précédemment utilisé. Contactez le Support BNP Paribas pour désactiver les nouvelles tentatives.


HTML form example:



Le formulaire de la page de paiement et les donnees carte sonf héberge par le commerçant (Serveur-to-Serveur)

Schéma du flux d’exécution via une connexion serveur-to-serveur


Exécution d’une transaction avec 3D Secure via la connexion serveur-to-serveur

Pour procéder à l’authentification, la plateforme de paiement connecte le porteur de carte à sa banque, qui confirme son identité. Un paiement exécuté avec Verified by Visa, MasterCard SecureCode, Diners ProtectBuy, JCB-Card J/Secure ou American Express SafeKey se fait en deux étapes : authentification et paiement.

Dans les étapes suivantes, la plateforme de paiement répond différemment dans deux situations :

  • Cas 1: Authentification 3D Secure via une page affichée en pop-up

Si la carte est enregistrée pour Verified, SecureCode, ProtectBuy, J/Secure ou SafeKey, la plateforme de paiement retourne une page HTML affichée en pop-up (fenêtre superposée). Cette page HTML (qui contient une fonction en Javascript appelée « Initiate3DSec() ») effectue la connexion avec la banque du porteur de la carte et permet de faire la correspondance entre le code entré par le porteur (client de la boutique) et le code envoyé par la banque.  

Remarque : l’utilisation d’une fenêtre séparée peut entraîner des problèmes avec les bloqueurs de fenêtres contextuelles (pop-up) dans le navigateur du client. Par conséquent, le cas 2 décrit une alternative sous la forme d’une variante iFrame.

L’exemple suivant présente une page dans laquelle le code HTML est intégré :

<HTML>

<HEAD>

<META http-equiv=Content-Type content="text/html; charset=unicode">

       <SCRIPT language="javascript">

<!--

<Response excerpt from request: HTML with JavaScript>

       //-->

       </script>

       </HEAD>");

       <BODY onload="javascript:Initiate3DSec();">

<table><tr>

<td align="center"><font face="Verdana" size="-1"><b>Please identify yourself with 3D Secure!</b></font></td>

</tr></table>");

</BODY>

</HTML>

 

Remarque : vous pouvez aussi utiliser ce code si vous voulez uniquement vérifier l’identité du porteur de la carte sans procéder à un paiement par carte. Notre équipe support peut paramétrer votre compte de façon à ce que la plateforme de paiement puisse procéder à l’authentification avec Verified, SecureCode, ProtectBuy, J/Secure ou SafeKey sans faire de paiement (Authentication hosting).

Lorsque le client a été authentifié grâce à sa banque, le serveur de contrôle d’accès (ACS, Access Control Server) de la banque appelle l’url  TermURL de la boutique. Dans le cas de cette requête, l’ACS transfère les paramètres suivants via GET (QueryString)  à l’url  TermURL de la boutique : MID, PayID et TransID. Le paramètre PARes est transféré via POST.

Remarque : le paramètre PAResponse doit être URL-encoded, mais non chiffré avec la méthode Blowfish, car le contenu peut inclure des caractères spéciaux.

Le paramètre doit être transféré dans son intégralité via la méthode POST à l’URL suivante :

Remarque : si vous transférez les paramètres PARes et MID, utilisez les paramètres MerchantID (identifiant du commerçant) et PAResponse pour la page direct3d.aspx.


  • Cas 2: Authentification 3D Secure via une page affichée en iFrame

Une alternative au pop-up, le commerçant peut choisir l’iFrame comme méthode d’affichage de la page d’authentification 3DS. Le porteur de carte peut effectuer l’authentification auprès de sa banque sur la page où il se trouve via une autre interface affichée en iFrame ; cela évite les difficultés rencontrées avec les bloqueurs de fenêtres contextuelles (pop-up) dans le navigateur du client.

Si la carte est enregistrée sur le serveur (Directory Server), la plateforme de paiement renvoie les paramètres suivants via la connexion socket :

Paramètre

Format

CND

Description

ACSURL

ans..

C

Uniquement dans le cas des cartes enregistrées : URL du serveur de contrôle d’accès de l’émetteur de carte avec paramètres de requête joints (sans encodage URL). Il est possible d’utiliser l’esperluette et le point d’interrogation du serveur ACS comme valeurs dans l’URL ; tout caractère précédant le paramètre PAReq fait partie d’ACSURL

PaReq

ans..

M

Requête d’authentification du payeur (URL-encoded)

MD


M

Les données du commerçant sont une valeur vide, qui doit être transférée pour des raisons de compatibilité

TermURL

ans..

M

Adresse de retour de la boutique. La plateforme de paiement ajoute les paramètres PayID, TransID et MID comme paramètres de demande au TermURL initial séparés par un point d’interrogation.

Response parameters of Socket-connection for the Authentication Request


Remarque : dans ce processus, les données doivent parfois être transférées directement depuis le réseau de la banque. Par conséquent, le paramètre ACSURL n’est pas URL-encoded, bien que la plateforme de paiement utilise d’autres données URL-encoded.

Ces paramètres doivent être inclus en tant que champs MASQUÉS dans une page HTML qui poste elle-même vers l’URL ACS. L’exemple suivant présente cette page HTML, dans laquelle les paramètres de retour sont intégrés :

<HTML>

<HEAD>

<META http-equiv=Content-Type content="text/html; charset=unicode">

<A content="MSHTML 6.00.2800.1106" name=GENERATOR>

</HEAD>

<BODY onload="sendpareq.submit();">

<FORM action="[ACSURL]" method="POST" name="sendpareq">

<input type="hidden" name="MD" value="">

<input type="hidden" name="PaReq" value="[PaReq]">

<input type="hidden" name="TermUrl" value="[TermUrl]">

</FORM>

</BODY>

</HTML>


Remarque : vous pouvez aussi utiliser ce code si vous voulez uniquement vérifier l’identité du porteur de carte sans procéder immédiatement à un paiement par carte (hébergement d’authentification). Le Support BNP Paribas peut configurer votre paiement, afin que la plateforme de paiement puisse appliquer le Verified by Visa ou le SecureCode sans paiement.

Lorsque le client a été authentifié grâce à sa banque, le serveur de contrôle d’accès (ACS, Access Control Server) de la banque appelle l’url TermURL de la boutique. Dans le cas de cette requête, l’ACS transfère les paramètres suivants via GET (QueryString) via l’url TermURL de la boutique : MID, PayID et TransID (sans chiffrement). Le paramètre PARes est transféré sans chiffrement via POST.

Remarque : le paramètre PAResponse doit être encodé au format URL, mais non chiffré avec la méthode Blowfish, car le contenu peut inclure des caractères spéciaux.


Le paramètre doit être transféré dans son intégralité via POST à l’URL suivante :


Remarque : si vous transférez les paramètres ACS, PARes et MID, utilisez l’identifiant du commerçant et PAResponse pour la page direct3d.aspx.

 

Appel de l’interface : paramètres généraux

Remarque : pour les paiements par carte avec 3D Secure, prenez connaissance des différents cas expliqués dans le chapitre précédent. Si la carte est enregistrée pour Verified, SecureCode ou SafeKey, la phase suivante est divisée en deux étapes : authentification et paiement. Toutefois, cela commence toujours de la même façon via l’interface direct.aspx. La première réponse correspond à la réception du code JavaScript ou d’autres paramètres afin de procéder à un second appel de l’interface direct3d.aspx. Ce n’est qu’après que vous recevez le paramètre répertorié en tant que réponse.

Pour procéder à un paiement par carte TLS via une connexion serveur-to-serveur, appelez l’URL suivante :


Remarque : pour des raisons de sécurité, la plateforme de paiement rejette toutes les requêtes de paiement avec des erreurs de formatage. Par conséquent, utilisez le type de donnée approprié pour chaque paramètre.

Le tableau suivant décrit les paramètres de requête de paiement chiffrés :

Paramètre

Format

CND

Description

MerchantID

ans..30

M

Merchant ID. This parameter is to be passed in plain language.

TransID

ans..64


M

TransactionID which should be unique for each payment

Please note for some connections the different formats that are given within the specific parameters.

RefNr

ns..30


O

Merchant’s unique reference number

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Amount3D

n..10

OC

Only for 3DSecure: Amount for authentication with Verified, SecureCode and SafeKey if Amount deviates. E.g. Customer confirms flight costs of 120 Euros with 'Verified' but the travel agent captures only the booking fee of 20 Euros: Amount3D=12000; Amount=2000. Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217

CCNr

n..19

M

Card number at least 12-digit, numerical without spaces. You can optionally transmit also a pseudo card number (PCN)

CCCVC

n..4

O

Card verification number (CVV): for Visa and MasterCard the last 3 numbers on the signature strip of the card. For American Express the last 4 numbers.

CCExpiry

n6

M

In combination with TOKEN: Expiry date of the card in the format YYYYMM (201706).

CCBrand

a..22

M

Designation of card brand.

Please note the spelling! According to table of card brands!

Capture

ans..6

O

Determines the type and time of capture. AUTO: capturing immediately after authorisation (default value). MANUAL: capturing made by the merchant. <Number>: Delay in hours until the capture (whole number; 1 to 696).

OrderDesc

ans..768

M

Description of purchased goods, unit prices etc.

TermURL

ans..256

C

Only for 3DSecure. Shop URL selected by the ACS (Access Control Server) of the cardholder’s bank for the transmission of authentication result. The bank transmits the following parameters: PayID, TransID and MerchantID via GET et the parameter PAResponse via POST to the TermURL.

UserAgent

ans..128

C

Only for 3DSecure. User’s browser type calling the page. For exemple: IE Mozilla/4. 0 (compatible ; MSIE 6.0 ; Windows NT 5.0 ; NET CLR 1.0.3705)

HTTPAccept

ans..128

C

Only for 3DSecure: MIME types that the merchant's clients accept. E.g. image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd. ms-powerpoint, ap-plication/vnd. ms-excel, application/msword, */*

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

ReqID

ans..32

O

To avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, the payment platform will not carry out the payment, but will just return the status of the original transaction.

AccVerify

a3

O

If AccVerify=Yes the card will be checked at the acquirer according to the ac-quirer’s interface description. The merchant has to submit only this parameter; the parameter "Amount" is optional. If "Amount" is used we replace the amount according to acquirer’s interface description. At payment always Amount=0 is stored. Allowed value: yes

RTF

a1

O

For regular payment (Subscription) :

I = Initial payment for the new subscription

R = Recurring payment

Le tableau suivant fournit les paramètres avec lesquels la plateforme de paiement répond :

Paramètre

Format

CND

Description

MID

ans..30

M

MerchantID

PayID

an32

M

ID assigned by the payment platform for the payment, e.g. for referencing in batch files

XID

an32

M

ID for all single transactions (authorisation, capture, refund note) for one payment assigned by the payment platform

TransID

ans..64


M

Merchant’s transaction number

Please note for some connections the different formats that are given within the specific parameters.

Status

a..50

M

OK or AUTHORIZED (URLSuccess) as well as FAILED (URLFailure)

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to the payment platform Response Codes

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

PCNr

n16

O

TOKEN (Pseudo Card Number): Random number generated by the payment platform which represents a genuine card number. The TOKEN (PCN) starts with 0 and the last 3 digits correspond to those of the real card number. You can use the PCN like a genuine card number for authorisation, capture and refunds.

CCExpiry

n6

OC

In combination with TOKEN: Expiry date of the card in the format YYYYMM (201706).

CCBrand

a..22

OC

In combination with PCNr: Designation of card brand

Please note the spelling! According to table of card brands!

MaskedPan

an..19

OC

Masked card number 6X4

CAVV

ans..40

OC

In the case of 3D Secure with Authentication Hosting (only 3D request without authorisation): Cardholder Authentication Validation Value: Contains the digital signature for authentication with the ACS of the card issuing bank.

ECI

n2

OC

For 3D Secure: ACS E-Commerce indicator: defines the security level of a card payment via different communication paths: MOTO, SSL, Verified by Visa etc.

DDD

a1

C

For 3D Secure Authentication Hosting:

Y - fully authenticated (complete authentication done)

N - not enrolled (checked, but Issuer does not participate)

U - uneledgeble (technical error)

A – attempt (card does not participate)

B – bypass (bypass, only for Cardinal Commerce)

ACSXID

ans..40

O

Only for cases 2 and 3 (with pop up and without pop up: page 31 and 32 of this guide) with hosting authentication: ID to identify the transaction. The ACSXID is transferred with the authorisation to the acquirer


Paiement par batch

Cette section présente les paramètres qui doivent être transmis dans les enregistrements du fichier Batch (Record) pour l'exécution d'un paiement par carte, ainsi que les informations pouvant être contenues dans le fichier de réponse concernant l'état du paiement.

La structure devant être utilisée pour un paiement par carte au sein d'un fichier Batch est comme suit :

HEAD,<MerchantID>,<Date>,<Version>

CC,Authorize,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>, [<CCCVC>,]<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<Zone>]

CC,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>,[<FinishAuth,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>]

CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>, [<CCCVC>,]<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>,<Zone>]

CC,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>[,<FinishAuth>,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>]

CC,CreditEx,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>, [<CCCVC>,]<CCExpiry>,<OrderDesc>[,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>]

CC,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>),<PayID>

FOOT,<CountRecords>,<SumAmount>


Exemple de différentes versions batch :

Version 1.2:

CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>

CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>,<cardholder>

Version 1.21:

CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>,<approvalcode>,<cardholder>

Version 1.3:

CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCCVC>,<CCExpiry>,<OrderDesc>,<textfeld1>,<textfeld2>,<RTF>

Version 1.5:

CC,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>),<CCBrand>,<CCNr|PCNr>,<CCExpiry>,<OrderDesc>,<Zone>


Le tableau ci-dessous présente les différents champs et valeurs utilisés dans l'enregistrement (record) au sein du fichier batch :

ParamètreFormatCNDDescription

Type

a..11

M

HEAD pour en-tête (header), FOOT pour pied de page (footer) et CC pour carte

Action

a..20

M

Le paramètre Action définit le type de transaction :

Authorize (autorisation)

Capture

Sale

Remboursement

CreditEx (remboursement sans capture préalable; veuillez confirmer cela avec le service Support)

Reverse (annulation)

Amount

n..10

M

Montant indiqué dans la plus petite unité de la devise (par ex. les centimes pour l'euro).

Veuillez contacter notre service d'assistance si vous souhaitez capturer des montants inférieurs à 100 (plus petite unité de la devise).

Currency

a3

M

Code pour la devise, trois caractères DIN / ISO 4217

TransID

ans..64

M

ID de la transaction qui doit être unique pour chaque paiement

RefNr

ns..30

O

Le numéro de référence unique du commerçant, qui sert de référence de remboursement

PayID

an32

M

ID pour cette transaction attribuée par la plateforme de paiement

OrderDesc

ans..127

O

Description des marchandises achetées, des prix unitaires etc.

CCBrand

a..22

C

Réseau auquel appartient la carte de paiement.

Veuillez respecter l'orthographe ! Voir le tableau des réseaux des cartes !

CCNr

n..16

C

Numéro de la carte, minimum 12 chiffres sans espaces. Alternativement, vous pouvez transmettre un pseudo-numéro de carte (PCN)

PCNr

n..16

O

Optionnel, vous pouvez également transmettre un pseudo-numéro de carte (PCN) au lieu du vrai numéro de la carte.

CCCVC

n..4

O

Code de vérification de la carte en version 1.3 : les 3 derniers chiffres sur le champ de signature de la carte s'il s'agit de Visa et de MasterCard. 4 chiffres s'il s'agit d'American Express

CCExpiry

n6

O

Date d'expiration de la carte au format AAAAMM, par ex. 201707.

FinishAuth

ans1

O

Version=1.4 : si vous utilisez le renouvellement d'autorisation, annulez la répétition avec la valeur Y dans le champ FinishAuth dans le cas d'une capture ou d'un crédit. Exemple : vous prélevez le montant d'une livraison partielle. Le reste de la commande ne peut pas être livré. Vous saisissez donc Y dans le champ FinishAuth pour la capture partielle afin que la plateforme de paiement n'autorise pas le montant restant.

Le tableau ci-dessous indique les paramètres de réponse que le gestionnaire de fichier Batch (Batch Manager) sauvegarde dans la zone d'enregistrement (Record) pour chaque transaction (les paramètres par défaut non détaillés ici tels que <TransID> ou <RefNR>, ainsi que les paramètres de requête sont retournés inchangés et correspondent à l'appel tel que spécifié plus haut) :

ParamètreFormatCNDDescription

Action

a..20

M

Le paramètre Action définit le type de transaction comme pour Capture ou Credit – voir ci-dessus,

PayID

an32

M

ID pour cette transaction attribuée par la plateforme de paiement

Status

a..50

M

OK ou FAILED

Code

n8

M

Code d'erreur conformément au fichier Excel des codes de réponse de la plateforme de paiement

PCNr

n..16

C

Le pseudo-numéro de carte est uniquement retourné pour les types de transactions Authorize ou Sale & CreditEx. Le pseudo-numéro de carte commence avec 0 et les 3 derniers chiffres correspondent à ceux du vrai numéro de carte.


Gestions de paiement par carte

Capture

Le commerçant peut choisir différentes options de capture :

  • Manuelle
  • Automatique
  • Automatique avec délais personnalisable (de 1 à 696 heures)


En choisissant le mode manuel, il est nécessaire pour le commerçant de valider manuellement chacune des transactions. Le commerçant doit valider la transaction avant 7 jours (délais de garantie des fonds). Les captures manuelles sont possibles via une connexion server-to-server :

https://paymentpage.axepta.bnpparibas/capture.aspx

When choosing the automatic, capture is made every day at the end of the day.

When choosing the automatic mode with customized delay, the merchant sets a delay in hours (from 1 to 696) that corresponds to the frequency of capture

Notice: For security reasons, the payment platform rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.


The following table describes the encrypted payment request parameters:

Paramètre

Format

CND

Description

MerchantID

ans..30

M

Merchant ID,

PayID

an32

M

ID assigned by the payment platform for the payment,

TransID

ans..64


M

TransactionID which should be unique for each payment

Please note for some connections the different formats that are given within the specific parameters.

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217

RefNr

ns..30

C

Merchant's reference number

Textfeld1

ans..30

O

Card holder information: Name

Textfeld2

ans..30

O

Card holder information: City

 

The following table describes the payment platform‘s response parameters:

ParamètreFormatCNDDescription

MID

ans..30

M

MerchantID

PayID

an32

M

ID assigned by the payment platform for the payment, e.g. for referencing in batch files.

XID

an32

M

ID for all single transactions (authorisation, capture, refund) for one payment assigned by the payment platform

TransID

ans..64


M

Merchant’s transaction number.

Please note for some connections the different formats that are given within the specific parameters.

Status

a..50

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to the payment platform Response Codes Excel file

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

RefNr

An..12

C

Merchant's reference number

 

Partial captures are also possible by setting the « Amount » parameter with the partial amount to capture.


Cancellation

Cancellation function allows to cancel a transaction before it gets captured.

BNP Paribas manages the cancellation requests by proceeding to 2 verifications:

-              The amount: It’s forbidden to cancel an amount that is superior to the initial amount of the transaction. 

-              Payment capture time: Once a payment is captured, it can’t be cancelled anymore.

To make a cancellation, use the following URL:

https://paymentpage.axepta.bnpparibas/reverse.aspx

Notice: For security reasons, the payment platform rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.


Notice: Reverse.aspx does not only reverse authorizations, but any last transaction stage. If the last transaction was a capture, Reverse.aspx initiates the reverse, e.g. a refund. Therefore, the utmost caution is urged. Use is at your own risk. We recommend checking the transaction status with Inquire.aspx before using Reverse.aspx.


The following table describes the encrypted payment request parameters:

Paramètre

Format

CND

Description

MerchantID

ans..30

M

MerchantID

PayID

an32

M

the payment platform ID for the identification of a payment

TransID

an..

ans..64

M

TransactionID which should be unique for each payment.

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency code, three digits DIN / ISO 4217

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm


The following table describes the payment platform response parameters:

ParamètreFormatCNDDescription

MID

ans..30

MC

MerchantID

PayID

an32

M

ID assigned by the payment platform for the payment, e.g. for referencing in batch files.

XID

an32

M

ID for all single transactions (authorisation, capture, refund) for one payment assigned by the payment platform

TransID

ans..64

M

Merchant’s transaction number

Status

a..50

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to the payment platform Response Codes Excel file

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

 

Refunds

Refunds allow to re-credit a customer who was previously debited (product not delivered, product damaged, product sent back…). The customer’s bank account is credited with the exact amount as the debit amount of the merchant. The merchant can refund a customer until 12 months following the purchase.

Refunds are not permitted for unpaid transactions.

Refunds are possible via a Server-to-Server connection. The payment platform permits refunds which relate to a capture previously activated by the payment platform and allows merchants to carry out refunds without a reference transaction. This section describes the processing of refunds with reference transactions. If you refer to a capture for a refund, the amount of the refund is limited to the amount of the previous capture.

To carry out a refund with a reference transaction, please use the following URL:

https://paymentpage.axepta.bnpparibas/credit.aspx

Notice: For security reasons, the payment platform rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter.

The following table describes the encrypted payment request parameters:

Paramètre

Format

CND

Description

MerchantID

ans..30

M

Merchant ID,

PayID

an32

M

ID assigned by the payment platform for the payment,

TransID

ans..64


M

TransactionID which should be unique for each payment

Please note for some connections the different formats that are given within the specific parameters.

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217

OrderDesc

ans..768

O

Merchant's reference number

Textfeld1

ans..30

O

Card holder information: Name

Textfeld2

ans..30

O

Card holder information: City

The following table describes the payment platform response parameters:

ParamètreFormatCNDDescription

MID

ans..30

M

MerchantID

PayID

an32

M

ID assigned by the payment platform for the payment, e.g. for referencing in batch files.

XID

an32

M

ID for all single transactions (authorization, capture, refund) for one payment assigned by the payment platform

TransID

ans..64


M

Merchant’s transaction number.

Please note for some connections the different formats that are given within the specific parameters.

Status

a..50

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the

Code

n8

M

Error code according to the payment platform Response Codes Excel file

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

One click / wallets

One Click payment can be handled via Tokenization. The token provides merchant with a fully-fledged replacement for the card’s number. The token is generated by the platform but retains the same options and functions as the real card number. This enables merchants to avoid the process of obtaining PCI DSS (Payment Card Industry Data Security Standard) certification.

There is also an added benefit for returning customers, in that they won't need to re-enter their card details.

One click benefits:

  • improving the customer´s journey for recurring buyers
  • favors impulsive purchases at the same time

The merchant can use the parameter PCNr to make enable 1-Click payments. This could be possible with the CB2A protocol, if they can handle:

  • an original transaction is needed for the TOKEN to be generated
  • reception of the TOKEN from BNP Paribas in the response sent by the payment platform

 

Recurring payment (subscription)

Recurring payment allows automatic payments to be made at regular time intervals. When a user makes a subscription, there is a parameter that will be automatically defined when sending payment requests; it is the RTF parameter which will have two possibilities:

  • I = Initial payment to initiate a subscription.
  • R = Recurring payment.



  • No labels