• France
status page
demonstrations
assistance
FAQContact support
Search
Categories
Tags
English
French
English
Homepage
Use cases
Create a payment
Create an installment payment
Create a multi-card (split) payment
Create a payment by Alias (Token)
Create a payment link
Create a recurring payment
Manage subscriptions
Manage your transactions (refund, cancel...)
Analyze your reports
API docs
Embedded Form
REST API
Hosted payment
Mobile payment
File exchange
Snippets
Payment methods
Plugins
Guides
Merchant Back Office
Functional guides

3RI - Requestor-Initiated Authentication

Ce guide est destiné aux marchands PCI-DSS utilisant notre API pour réaliser les authentifications.

La version 2.2 du protocole 3-D Secure introduit les authentifications initiées par le marchand ou"3DS Requestor initiated (3RI) authentications".

3RI is used in particular:

  • when paying an installment of a subscription
  • when paying a later installment of a payment in installments
  • for the MOTO payment

Le cas d'utilisation est déterminé par la valeur des champspaymentSource,useCaseandtransactionInitiator.

Voici quelques exemples d'utilisation de 3RI :

Use cases Payment stages useCase paymentSource transactionInitiator
Abonnement à fréquence et montants fixes Payment of an nth installment RECURRING_FIXED_TOTALAMOUNT EC MERCHANT
Abonnement à fréquence et/ou montants variables Payment of an nth installment RECURRING_ VARIABLE_TOTAL_AMOUNT EC MERCHANT
Payment in installments Payment of an nth installment INSTALLMENT EC MERCHANT
Payment by post Payment PAYMENT MAIL_ORDER n/a
Payment by phone Payment PAYMENT TELEPHONE_ORDER n/a

Depending on the use case, additional fields must be included in the request.

Operating principle

Le principe général s'applique aux authentifications "3RI".
A single call to the Web ServicePCI/Charge/Authenticateis all that's needed, and the merchant has no instructions to process or objectsdeviceto transmit.

List of fields relating to3RI:

name Description
amount Integer| Longueur : 1-12 |required

Montant de la transaction exprimé dans la plus petite fraction de la devise (par exemple : 30050 pour 300,50 EUR).
currency String| Longueur : 3 |required

Code de la devise selon la norme ISO 4217 alpha-3 (par exemple : "EUR" pour l'euro).
Possible values
Currency ISO 4217 ENCODING Fractional unit
Dollar australien (036)AUD2
Real du Brésil (986)BRL2
Dollar canadien (124)CAD2
Franc suisse (756)CHF2
Renminbi yuan chinois (156)CNY1
Couronne tchèque (203)CZK2
Couronne danoise (208)DKK2
Euro (978)EUR2
Livre Sterling (826)GBP2
Dollar de Hong Kong (344)HKD2
Forint hongrois (348)HUF2
Roupie Indienne (356)INR2
Roupie indonésienne (360)IDR2
Yen (392)JPY0
Riel Cambodgien (116)KHR0
Won Sud Coréen (410)KRW0
Dinar Koweïtien (414)KWD3
Dirham Marocain (504)MAD2
Peso mexicain (484)MXN2
Ringgit malais (458)MYR2
Dollar néo-zélandais (554)NZD2
Couronne norvégienne (578)NOK2
Peso philippin (608)PHP2
Zloty polonais (985)PLN2
Leu Roumain (946)RON2
Rouble russe (643)RUB2
Dollar de Singapour (702)SGD2
Couronne suédoise (752)SEK2
Baht thailandais (764)THB2
Dinar Tunisien (788)TND3
Lire turque (949)TRY2
Nouveau dollar de Taïwan (901)TWD2
Dollar des États-Unis (840)USD2
Rand sud-africain (710)ZAR2
productType énumération|Optional

Product type for which the transaction is made.
Possible values
value Description
ACCOUNT_FUNDING Wire transfer to an account.
CHECK_ACCEPTANCE Acceptance testing.
GOODS_OR_SERVICE_PURCHASE Achat de bien ou de service. Valeur utilisée par défaut.
PREPAID_ACTIVATION_AND_LOAD Activation and loading of a prepaid card.
QUASI_CASH_TRANSACTION Transactions en quasi-espèces (ex : chèque vacances, billet de loterie, etc.)
transactionCategory énumération|ignoré

Catégorie de la transaction.
paymentSource énumération required

Source du paiement.
Possible values
value Description
EC E-commerce. Cas d'utilisation classique. Paiement initié par l'acheteur avec saisie des données de carte.
MAIL_ORDER Paiement en vente à distance initié par le marchand par courrier ou e-mail.
TELEPHONE_ORDER Paiement en vente à distance initié par le marchand par téléphone.
transactionInitiator énumération|Optional

Initiateur de la transaction.
Possible values
</tbody>
value Description
CUSTOMER Transaction initiée par l'acheteur (CIT).
MERCHANT Transaction initiée par le marchand (MIT).
useCase énumération|required

Cas d'utilisation de la transaction.
Possible values
value Description
INSTALLMENT Payment in installments.
MAINTAIN_CARD Utilisé par exemple pour confirmer l'état de la carte lors de paiements récurrents (abonnements ou paiements en plusieurs fois).
OTHER_USE_CASE Autre cas d'utilisation.
PAYMENT Immediate payment.
RECURRING_VARIABLE_TOTALAMOUNT Abonnement à fréquence et/ou échéances variables.
RECURRING_FIXED_TOTALAMOUNT Abonnement à fréquence et échéances fixes.
REGISTER Enregistrement de la carte.
SHIPMENT_MULTIPLE_AUTHORISATION Paiement à l'expédition avec autorisations multiples.
SHIPMENT_SINGLE_AUTHORISATION Paiement à l'expédition avec autorisation simple.
TOP_UP Rechargement de compte.
TRUST_LIST_STATUS_CHECK Utilisé pour demander à l'emetteur si le marchand fait partie de la liste des bénéficiaires de confiance de l'acheteur. Dans ce cas, le marchand peut ensuite demander une exemption à l'authentification forte lors du paiement.
VERIFY_ONLY Utilisé par exemple pour vérifier le solde de la carte lors de paiements récurrents (abonnements ou paiements en plusieurs fois).
customer objet JSON|required

Objet contenant les informations sur l'acheteur.
Détails de l'objet
name Description
reference String| Longueur : 0-80 |Optional

Buyer ID on the merchant side.
email String| Longueur : 0-150 |Recommended

Adresse e-mail
accountDetails objet JSON|Recommended

Objet contenant les informations du compte de l'acheteur sur le site marchand.
Détails de l'objet
name Description
authenticationMethod énumération|Recommended

Méthode d'authentification de l'acheteur sur le site marchand.
Possible values
value Description
GUEST Pas d'authentification (invité).
PERSONAL_CREDENTIALS Utilisation d'un compte créé sur le site marchand.
FEDERATED_CREDENTIALS Utilisation de l'authentification fédérée.
ISSUER_CREDENTIALS Utilisation d'identifiants fournis par l'émetteur.
EXTERNAL_CREDENTIALS Authentification par un tiers.
FIDO_CREDENTIALS Utilisation de l'authentification FIDO (Fast IDentity Online).
billingDetails objet JSON|Optional

Objet contenant les informations sur l'acheteur.
Détails de l'objet
name Description
title String| Longueur : 0-63 |Optional

Buyer's title.
Exemples de valeurs
  • Mr
  • Ms.
  • Mrs
category énumération|Optional

Buyer type.
Possible values
value Description
PRIVATE Individual buyer type.
COMPANY Client de type Société.
firstName String| Longueur : 0-63 |Optional

First name.
lastName String| Longueur : 0-63 |Optional

name.
phonenumber String| Longueur : 0-32 |Optional

Numéro de téléphone fixe.
Exemples de valeurs
  • 0123456789
  • +33123456789
  • 0033123456789
  • (00.571) 638.14.00
  • 40 41 42 42
streetNumber String| Longueur : 0-64 |Optional

Numéro de rue.
address String| Longueur : 0-255 |Optional

Billing address.
address2 String| Longueur : 0-255 |Optional

Informations complémentaires sur l'adresse.
district String| Longueur : 0-127 |Optional

District.
zipCode String| Longueur : 0-64 |Optional

Zip code.
city String| Longueur : 0-128 |Optional

City.
state String| Longueur : 0-127 |Optional

Région.
country String| Longueur : 2 |Optional

Code pays (norme ISO 3166-1 alpha-2).
Exemples de valeurs
value Description
AT AUSTRIA
BE BELGIQUE
FR CORSICA
CI IVORY COAST
FR FRANCE
GP GUADELOUPE
MQ MARTINIQUE
NC NEW CALEDONIA
PM ST-PIERRE-ET-MIQUELON
PF FRENCH POLYNESIA
language String| Longueur : 2 |Optional

Code langue (norme ISO 639-1).
Exemples de valeurs
value Description
DE German (Germany)
EN English (United Kingdom)
EN English (United States)
ZH Chinese (Traditional)
ES Spanish (Spain)
ES Spanish (Chile)
FR French (France)
IT Italian (Italy)
JP Japanese (Japan)
NL Dutch (the Netherlands)
PL Polish (Poland)
PT Portuguese (Brazil)
PT Portuguese (Portugal)
RU Russian (Russia)
cellPhonenumber String| Longueur : 0-32 |Optional

Cell phone number.
Exemples de valeurs
  • 0623456789
  • +33623456789
  • 0033623456789
  • (+34) 824 65 43 21
  • 87 77 12 34
identityCode String| Longueur : 0-150 |Optional

National identifier.
identityType String| Longueur : 0-3 |Optional

ID type.
Possible values
Country Type Description
Argentina DNI Documento Nacional de Identidad.
Brasil CNPJ Cadastro Nacional da Pessoa Jurídica.
CPF Cadastro de Pessoas Físicas.
Colombia CC Cédula de ciudadania.
TI Tarjeta de Identidad.
CE Cédula de Extranjeria.
NI Número de Identificación Tributaria.
PS Pasaporte.
Peru DNI_PER Documento National de Identidad.
PAR Partida de Nacimiento.
PAS Pasaporte.
LMI Libreta Militar.
NAN Otro.
legalName String| Longueur : 0-100 |Optional

Raison Sociale.
shippingDetails objet JSON|Optional

Objet contenant les informations de livraison.
Détails de l'objet
name Description
category énumération|Optional

Buyer type.
Possible values
value Description
PRIVATE Individual buyer type.
COMPANY Client de type Société.
firstName String| Longueur : 0-63 |Optional

First name.
lastName String| Longueur : 0-63 |Optional

name.
phonenumber String| Longueur : 0-32 |Optional

Numéro de téléphone fixe.
Exemples de valeurs
  • 0123456789
  • +33123456789
  • 0033123456789
  • (00.571) 638.14.00
  • 40 41 42 42
streetNumber String| Longueur : 0-64 |Optional

Numéro de rue.
address String| Longueur : 0-255 |Optional

Shipping address.
address2 String| Longueur : 0-255 |Optional

Informations complémentaires sur l'adresse de livraison.
district String| Longueur : 0-127 |Optional

District.
zipCode String| Longueur : 0-64 |Optional

Zip code.
city String| Longueur : 0-128 |Optional

City.
state String| Longueur : 0-127 |Optional

Région.
country String| Longueur : 2 |Optional

Code pays (norme ISO 3166-1 alpha-2).
Exemples de valeurs
value Description
AT AUSTRIA
BE BELGIQUE
FR CORSICA
CI IVORY COAST
FR FRANCE
GP GUADELOUPE
MQ MARTINIQUE
NC NEW CALEDONIA
PM ST-PIERRE-ET-MIQUELON
PF FRENCH POLYNESIA
deliveryCompanyName String| Longueur : 0-127 |Optional

Nom de la société de livraison.
shippingSpeed énumération|Optional

Shipping delay.
Possible values
value Description
STANDARD Standard shipping.
EXPRESS Express shipping (in less than 24h).
PRIORITY -MISSED-ON-SOURCE-af02ef0e65a667ccdb3eff3d5ff103dbb07e5a15f98a2182543ef8822ab9be09.
shippingMethod énumération|Optional

Shipping mode.
Possible values
value Description
RECLAIM_IN_SHOP Item pickup at the shop.
RELAY_POINT Use of a third-party pickup network (Kiala, Alveol, etc.).
RECLAIM_IN_STATION Pickup at an airport, a train station or a travel agency.
PACKAGE_DELIVERY_COMPANY Shipping by the transporter (Colissimo, UPS, etc.).
ETICKET Issue of an electronic ticket, online download of the product.

Valeurs réservées à un usage futur :
value Description
CARD_HOLDER_ADDRESS Delivery to the buyer.
VERIFIED_ADDRESS Delivery to a verified address.
NOT_VERIFIED_ADDRESS Delivery to a non-verified address.
SHIP_TO_STORE In-store pickup.
DIGITAL_GOOD Digital delivery.
ETRAVEL_OR_ETICKET E-ticket.
OTHER Autre.
PICKUP_POINT Pickup point delivery.
AUTOMATED_PICKUP_POINT Pickup at an automatic pickup point.
identityCode String| Longueur : 0-150 |Optional

National identifier.
legalName String| Longueur : 0-100 |Optional

Raison Sociale.
shoppingCart objet JSON|Optional

Objet contenant les informations sur le panier.
Détails de l'objet
name Description
insuranceAmount Integer| Longueur : 1-12 |Optional

Montant de l'assurance pour l'ensemble de la commande, exprimé dans la plus petite unité de la devise (par exemple : 30050 pour 300,50 EUR).
shippingAmount Integer| Longueur : 1-12 |Optional

Montant des frais de livraison pour l'ensemble de la commande, exprimé dans la plus petite unité de la devise (par exemple : 30050 pour 300,50 EUR).
taxAmount Integer| Longueur : 1-12 |Optional

Montant des taxes pour l'ensemble de la commande, exprimé dans la plus petite unité de la devise (par exemple : 30050 pour 300,50 EUR).
cartItemInfo tableau |Optional

Liste d'objetsCustomer/ShoppingCartItemcontenant les informations sur chaque article du panier.
Détails de l'objet
name Description
productLabel String| Longueur : 0-255 |Optional

Product name.
productType énumération|Optional

Type de produit.
Possible values
value Description
FOOD_AND_GROCERY Food and grocery.
AUTOMOTIVE Cars / Moto.
ENTERTAINMENT Entertainment / Culture.
HOME_AND_GARDEN Home and gardening.
HOME_APPLIANCE Équipement de la maison.
AUCTION_AND_GROUP_BUYING Auctions and group purchasing.
FLOWERS_AND_GIFTS Flowers and presents.
COMPUTER_AND_SOFTWARE Computers and software.
HEALTH_AND_BEAUTY Santé et beauté.
SERVICE_FOR_INDIVIDUAL Services for individuals.
SERVICE_FOR_BUSINESS Services for companies.
SPORTS Sports.
CLOTHING_AND_ACCESSORIES Clothes and accessories.
TRAVEL Travel.
HOME_AUDIO_PHOTO_VIDEO Sound, image and video.
TELEPHONY Telephony.
productRef String| Longueur : 0-64 |Optional

Référence du produit.
productQty Integer| Longueur : 1-12 |Optional

Quantité du produit.
productAmount Integer| Longueur : 1-12 |Optional

Montant du produit, exprimé dans la plus petite unité de la devise (par exemple : 30050 pour 300,50 EUR).
productVat String| Longueur : 1-12 |Optional

Montant de la taxe sur le produit.
Type de valeurs possibles
  • integer

    Pour exprimer un montant en centime appliqué sur le produit concerné.

  • Un nombre décimal

    Pour exprimer un pourcentage appliqué sur le montant du produit concerné avec maximum 4 chiffres après la virgule.

    La décimale est obligatoire pour exprimer un pourcentage. La décimale est marquée par le caractère ".".

previousAuthentication objet JSON|required

Objet contenant les données de la dernière méthode d'authentification utilisée.
Détails de l'objet
name Description
dsTransID String| Longueur : 36 |required

Identifiant unique de la transaction généré par le Directory Server (par exemple : 4317fdc3-ad24-5443-8000-000000000891).
acsTransID String| Longueur : 36 |required

Identifiant de transaction unique généré par l'ACS (par exemple : d727ebfe-de4c-4682-85fa-e60ca00a9cff).
dateTime String| Longueur : 25 |required

Date et heure de l'authentification au format ISO 8601, dans le fuseau horaire UTC (par exemple : 2024-10-14T14:57:37+00:00).
effectiveAuthenticationType énumération|required

Dernière méthode d'authentification utilisée.
Possible values
value Description
FRICTIONLESS Authentification sans interaction de l'acheteur.
CHALLENGE Authentification avec interaction de l'acheteur.
DATA_ONLY Authentification traitée par le DS sans interraction de l'acheteur.
device objet JSON|ignoré

Objet contenant les informations sur le navigateur.
paymentForm objet JSON|required

Object containing the card data.
Détails de l'objet
name Description
networkPreference énumération|required

Name of the preferred network recommended by the merchant.
Possible values
value Description
AMEX American Express network (SafeKey)
CB Bank Card Network
DINERS Diners network
DISCOVER Discover network
MASTERCARD MasterCard network
VISA Visa network
accountType énumération|Optional

Type de carte.
Possible values
value Description
CREDIT Credit card
DEBIT Debit card
pan String| Longueur : 16-19 |required

Primary Account Number. Numéro de carte.
expiryMonth Integer| Longueur : 2 |required

Mois d'expiration sur 2 chiffres (par exemple : "09" pour septembre).
expiryYear Integer| Longueur : 2 |required

Année d'expiration sur 2 chiffres (par exemple : "28" pour 2028).
cardHolderName String| Longueur : 0-45 |Optional

Cardholder's first and last names.
installmentNumber Integer| Longueur : 3 |Optional

Number of installments.
protocolRequest objet JSON|required

Objet contenant les informations sur le protocole d'authentification.
Détails de l'objet
name Description
name énumération|required

Name of the protocol used by the cardholder authentication services.
Possible values
value Description
THREEDS 3D Secure protocol
version String| Longueur : 1 |Optional

Version du protocole d'authentification à utiliser.
Possible values
value Description
2 Protocole 3D Secure 2
challengePreference énumération|ignoré

Permet de demander une authentication avec ou sans intéraction de l'acheteur.
merchant objet JSON|required

Object containing information about the contract.
Détails de l'objet
name Description
mid String| Longueur : 1-128 |required

Merchant ID. Numéro de contrat commerçant.
tid String| Longueur : 0-128 |Optional

Terminal ID. Identifiant du point de vente défini sur le contrat d'acceptation.
This field is only used in Colombia for choosing between REDEBAN and CREDIBANCO.
name String| Longueur : 0-25 |Optional

Merchant's name.
mcc String| Longueur : 10 |Optional

Merchant Category Code. Code spécifique au DS émetteur décrivant le type d'activité, de produit ou de service du marchand.
recurring objet JSON|Optional

Objet contenant les informations sur l'abonnement.
Détails de l'objet
name Description
expiryDate String| Longueur : 10 |Optional

Date d'expiration de l'abonnement (par exemple: 2025-12-31).
frequency objet JSON| Longueur : 0-150 |Optional

Objet contenant les informations sur la fréquence de l'abonnement.
Détails de l'objet
name Description
value Integer| Longueur : 3 |Optional

Nombre minimal d'unités entre deux paiements (par exemple : 12). Voir champunit.
unit énumération|Optional

Unité de fréquence de l'abonnement.
Possible values
value Description
DAY In days.
MONTH In months.
YEAR In years.

The response contains authentication data for future authorization requests.

Use cases

Recurring payments

Step 1 - Subscription to the plan (cardholder present)

Appelez le Web Service PCI/Charge/Authenticate pour authentifier l'acheteur :


Fréquence et montants fixes

{
  "amount":"9990",
  "currency":"EUR",
  "recurring":{
    "expiryDate": "2025-05-13",
    "frequency": {
        "unit": "DAY",
        "value": "30"
    }
  },
  "transactionCategory":"PAYMENT",
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021"
  },
  "device": {
    "acceptHeader":"text/html",
    "colorDepth":"32",
    "deviceType":"BROWSER",
    "ip":"69.89.31.226",
    "javaEnabled": true,
    "language":"FR",
    "screenHeight":"768",
    "screenWidth":"1258",
    "timeZoneOffset":"-120",
    "userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101"
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2",
    "challengePreference":"NO_PREFERENCE"
  }
}

Fréquence et/ou montants variables

{
  "amount":"9990",
  "currency":"EUR",
  "recurring":{
    "expiryDate": "2025-05-13",
    "frequency": {
        "unit": "DAY",
        "value": "30"
    }
  },
  "transactionCategory":"PAYMENT",
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021"
  },
  "device": {
    "acceptHeader":"text/html",
    "colorDepth":"32",
    "deviceType":"BROWSER",
    "ip":"69.89.31.226",
    "javaEnabled": true,
    "language":"FR",
    "screenHeight":"768",
    "screenWidth":"1258",
    "timeZoneOffset":"-120",
    "userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101"
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2",
    "challengePreference":"NO_PREFERENCE"
  }
}

L'objet recurring est requis pour définir la fréquence des échéances et la date de fin de l'abonnement.

Suivez le guide d'intégration du Web Service PCI/Charge/Authenticate pour le traitement des instructions et l'authentification du porteur.

Once the final result has been obtained, you can proceed with the authorization request.

Vous devez sauvegarder les données d'authentification retournées, et notamment le champ authenticationDateTime. Elles seront obligatoires pour initier une authentification 3RI.


Step 2 - Payment of installments (cardholder not present)

À chaque échéance, vous appelez le Web Service PCI/Charge/Authenticate pour demander une authentification 3RI.

L'objet recurring est requis pour définir la fréquence des échéances et la date de fin de l'abonnement.

Vous devez transmettre les données de l'authentification, obtenues lors de la souscription de l'abonnement, dans l'objet previousAuthentication :

Fréquence et montants fixes

{
  "amount":"9990",
  "currency":"EUR",
  "transactionInitiator": "MERCHANT",
  "useCase": "RECURRING_FIXED_TOTALAMOUNT",
  "recurring":{
    "expiryDate": "2025-05-13",
    "frequency": {
        "unit": "DAY",
        "value": "30"
    }
  },
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021"
  },
  "customer": {
    "previousAuthentication": {
        "dsTransID":"18e46ff7-b882-4102-9af4-aef9f40ee6a6",
        "acsTransID":"410d9fb4-8db1-483e-9a80-f94c3a79017e",
        "dateTime": "2024-10-09T06:37:22+00:00",
        "effectiveAuthenticationType": "CHALLENGE"
    }
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2"
  }
}

Fréquence et/ou montants variables

{
  "amount":"9990",
  "currency":"EUR",
  "transactionInitiator": "MERCHANT",
  "useCase": "RECURRING_VARIABLE_TOTAL_AMOUNT",
  "recurring":{
    "expiryDate": "2025-05-13",
    "frequency": {
        "unit": "DAY",
        "value": "30"
    }
  },
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021"
  },
  "customer": {
    "previousAuthentication": {
        "dsTransID":"18e46ff7-b882-4102-9af4-aef9f40ee6a6",
        "acsTransID":"410d9fb4-8db1-483e-9a80-f94c3a79017e",
        "dateTime": "2024-10-09T06:37:22+00:00",
        "effectiveAuthenticationType": "CHALLENGE"
    }
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2"
  }
}

The response contains the authentication data required for requesting authorization for the installment payment.

To help you, here is a table of correspondence between the data obtained in step 1 and the data required in step 2:


Sortie étape 1 (porteur présent) Entrée étape 2 (porteur non présent)
value.extension.dsTransID customer.previousAuthentication.dsTransID
value.extension.acsTransID customer.previousAuthentication.acsTransID
value.authenticationDateTime customer.previousAuthentication.dateTime
value.authenticationType customer.previousAuthentication.effectiveAuthenticationType
Payments in installments

Step 1: Payment of the first installment (cardholder present)

Appelez le Web Service PCI/Charge/Authenticate pour authentifier l'acheteur. L'authentification doit être demandée pour le montant total des échéances.

{
  "amount":"12000",
  "currency":"EUR",
  "transactionCategory":"PAYMENT",
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021",
    "installmentNumber": "3"
  },
  "device": {
    "acceptHeader":"text/html",
    "colorDepth":"32",
    "deviceType":"BROWSER",
    "ip":"69.89.31.226",
    "javaEnabled": true,
    "language":"FR",
    "screenHeight":"768",
    "screenWidth":"1258",
    "timeZoneOffset":"-120",
    "userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101"
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2",
    "challengePreference":"NO_PREFERENCE"
  }
}

In this example, the total amount due is EUR 120.00.

Le champ installmentNumber est requis pour spécifier le nombre d'échéances (ex : "3" pour un paiement en 3 fois).

Suivez le guide d'intégration du Web Service PCI/Charge/Authenticate pour le traitement des instructions et l'authentification du porteur.

Once the final result has been obtained, you can proceed with the authorization request for the amount of the first installment.

Vous devez sauvegarder les données d'authentification retournées, et notamment le champ authenticationDateTime. Elles seront obligatoires pour initier une authentification 3RI.

Step 2: Payment of a subsequent installment (cardholder not present)

À chaque échéance, appelez le Web Service PCI/Charge/Authenticate pour demander une authentification 3RI pour le montant de l'échéance.

Vous devez transmettre les données de l'authentification obtenues lors du paiement de la première échéance, dans l'objet previousAuthentication :

{
  "amount":"4000",
  "currency":"EUR",
  "transactionInitiator": "MERCHANT",
  "useCase": "INSTALLMENT",  
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021",
    "installmentNumber": "3"
  },
  "customer": {
    "previousAuthentication": {
        "dsTransID":"18e46ff7-b882-4102-9af4-aef9f40ee6a6",
        "acsTransID":"410d9fb4-8db1-483e-9a80-f94c3a79017e",
        "dateTime": "2024-10-09T06:37:22+00:00",
        "effectiveAuthenticationType": "CHALLENGE"
    }
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2"
  }
}

In this example, the authentication is requested for an amount of 40.00 EUR.

The response contains the authentication data required for requesting authorization for the installment payment.

To help you, here is a table of correspondence between the data obtained in step 1 and the data required in step 2:

Sortie étape 1 (porteur présent) Entrée étape 2 (porteur non présent)
value.extension.dsTransID customer.previousAuthentication.dsTransID
value.extension.acsTransID customer.previousAuthentication.acsTransID
value.authenticationDateTime customer.previousAuthentication.dateTime
value.authenticationType customer.previousAuthentication.effectiveAuthenticationType
MOTO payment

Appelez le Web Service PCI/Charge/Authenticate pour authentifier l'acheteur en précisant votre cas d'utilisation :

Payment by phone

{
  "amount":"9990",
  "currency":"EUR",
  "paymentSource": "TELEPHONE_ORDER",
  "useCase": "PAYMENT",
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021"
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2"
  }
}

Payment by post

{
  "amount":"9990",
  "currency":"EUR",
  "paymentSource": "MAIL_ORDER",
  "useCase": "PAYMENT",
  "productType":"GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid":"9876357"
  },
  "paymentForm": {
    "expiryMonth":"09",
    "expiryYear":"28",
    "networkPreference":"VISA",
    "pan":"4970110000000021"
  },
  "protocolRequest": {
    "name":"THREEDS",
    "version":"2"
  }
}

The response contains the authentication data required for the authorization request.

© 2025 {'|'} All rights reserved to Sogecommerce
25.20-1.11