Implementation guide
Use cases
Use the V4.1/PCI/Charge/CreatePayment Web Service depending on the authentication protocol and the authentication result.
3D Secure v2 authentication
Test
Test the V4.1/PCI/Charge/CreatePayment Web Service using our playground.
Authentication details
Récupérez les données suivantes :
Authentication protocol
name | Description |
---|---|
Name | Name of authentication protocol, with the THREEDS value |
Version | Version of the authentication protocol. Possible values:
|
directoryServer | Name of the Directory Server (DS) used during the authentication. Possible values:
|
ChallengePreference | 3DS preference transmitted to the DS if the cardholder authentication is successful, with the 'SUCCESS' or 'ATTEMPT’ status. |
- If the authentication status has the
SUCCESS
orATTEMPT
, récupérez ces informations :
</tbody>
name | Description |
---|---|
authenticationType | Name of the authentication protocol. Required value:
|
authenticationValue | Reference generated by the issuer to confirm the integrity of the transaction data. Depending on the Directory Server used,
E.g.: +kAr/o8S0DxgGYkz7QQHZCw8V5k= |
commerceIndicator | E-commerce Indicator (ECI). Value returned by the ACS after authentication, depending on the authentication status and the card type. Ex: 05 |
dsTransID | Unique identifier of the transaction generated by the DS 3DS2. E.g.: d6706a0d-c48d-4cf4-a1d2-d4a401a3143e |
exemption | Exemption applied. Required for FRICTIONLESS, value of the 'authenticationType’ field. See:Reason for release and exemptions.
E.g.: LOW_VALUE |
requestorName | Merchant name used to authenticate the cardholder. |
acsTransID | Unique identifier of the transaction generated by the ACS. E.g.: d727ebfe-de4c-4682-85fa-e60ca00a9cff |
authValueAlgorithm | Algorithm used to verify bearer authentication. Possible values:
|
dsScore | Authentication scoring. Ex : 31 |
- Si le statut de l'authentification est en échec avec les valeurs suivantes :
- DISABLED
- ENROLLED_UNAVAILABLE
- FAILED
- NOT_ENROLLED
- UNAVAILABLE
Dans ce cas, récupérez ces informations :
name | Description |
---|---|
challengeCancelationIndicator | Name of the authentication protocol. Required value: Challenge cancellation indicator received in the RReq message. Value returned by the DS if the authentication is cancelled. Ex: 01 |
transactionStatusReason | The reason returned by the DS in case of authentication failure. Ex: 82 |
For the CB network
Request
Required fields
- Amount.
- Currency
Card data
- Payment method type:
CARDS
- Main card number: pan.
- Expiry month.
- Expiry year.
Authentication details
- For the protocol
- name:
THREEDS
- version number
- directoryServer : CB
- challengePreference: Ex: NO_CHALLENGE_REQUESTED in case of success during authentication (status
SUCCESS
orATTEMPT
).
- Test data
authValueAlgorithm : | 2 | authenticationType : | FRICTIONLESS |
authenticationValue : | +kAr/o8S0DxgGYkz7QQHZCw8V5k= | commerceIndicator : | 05 |
challengePreference : | NO_CHALLENGE_REQUESTED | dsTransID : | d6706a0d-c48d-4cf4-a1d2-d4a401a3143e |
exemption : | LOW_VALUE | acsTransID : | d727ebfe-de4c-4682-85fa-e60ca00a9cff |
requestorName : | DEMO STORE | dsScore : | 31 |
Sample query
{ "amount": "1230", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970110000001029", "expiryMonth": "03", "expiryYear": "27", "securityCode": "123" } ], "customer": { "email": "sample@example.com" }, "authenticationDetails":{ "protocol":{ "name":"THREEDS", "version":"2", "directoryServer":"CB", "challengePreference":"NO_CHALLENGE_REQUESTED" }, "status":"SUCCESS", "authenticationType":"FRICTIONLESS", "commerceIndicator":"05", "authenticationValue":"+kAr/o8S0DxgGYkz7QQHZCw8V5k=", "dsTransID":"d6706a0d-c48d-4cf4-a1d2-d4a401a3143e", "acsTransID":"d727ebfe-de4c-4682-85fa-e60ca00a9cff", "authValueAlgorithm":"2", "dsScore":"31", "exemption":"LOW_VALUE", "requestorName":"DEMO STORE" } }
Pour connaître l'intégralité et la description des champs, consultez le playground : V4.1/PCI/Charge/CreatePayment (menu à gauche)
For VISA / Mastercard / AMEX network
Request
Required fields
- Amount.
- Currency
Card data
- Payment method type:
CARDS
- Main card number: pan.
- Expiry month.
- Expiry year.
Authentication details
- For the protocol
- name:
THREEDS
- version number
- directoryServer: the DS name. E.g.:
VISA
orMASTERCARD
orAMEX
- challengePreference: E.g.:
NO_CHALLENGE_REQUESTED
In case of successful authentication (statusSUCCESS
orATTEMPT
).
- Test data
authenticationType : | FRICTIONLESS | dsTransID : | d6706a0d-c48d-4cf4-a1d2-d4a401a3143e |
authenticationValue : | +kAr/o8S0DxgGYkz7QQHZCw8V5k= | commerceIndicator : | 05 |
challengePreference : | NO_CHALLENGE_REQUESTED | exemption : | LOW_VALUE |
Example of a request for VISA
{ "amount": "990", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970110000001029", "expiryMonth": "09", "expiryYear": "27", "securityCode": "123" } ], "customer": { "email": "sample@example.com" }, "authenticationDetails":{ "protocol":{ "name":"THREEDS", "version":"2.1.0", "directoryServer":"VISA", "challengePreference":"NO_CHALLENGE_REQUESTED" }, "status":"SUCCESS", "authenticationType":"FRICTIONLESS", "commerceIndicator":"05", "authenticationValue":"+kAr/o8S0DxgGYkz7QQHZCw8V5k=", "dsTransID":"d6706a0d-c48d-4cf4-a1d2-d4a401a3143e", "exemption":"OTHER_EXEMPTION", } }
Pour connaître l'intégralité et la description des champs, consultez le playground : V4.1/PCI/Charge/CreatePayment (menu à gauche)
Disabled authentication.
Le service permet de créer un paiement lorsque l'authentification du porteur a été volontairement désactivée.
Dans ce cas, la raison de cette décision doit être précisée en utilisant le champ exemption (Voir chapitre Motif de débrayage et exemptions).
Required fields
- Amount.
- Currency
Card data
- Payment method type:
CARDS
- Main card number: pan.
- Expiry month.
- Expiry year.
Authentication details
- Status:
DISABLED
- Exemption: See: Reason for release and exemptions.
Sample query
{ "amount": "1230", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970100000000022", "expiryMonth": "09", "expiryYear": "27", "securityCode": "123" } ], "customer": { "email": "sample@example.com" }, "authenticationDetails":{ "status":"DISABLED", "exemption":"OTHER_EXEMPTION" } }
Pour connaître l'intégralité et la description des champs, consultez le playground : V4.1/PCI/Charge/CreatePayment (menu à gauche)