• France
Merchant Back Office
assistance
FAQContact support
Search
Categories
Tags
English
French
English
Homepage
Use cases
Create a payment
Create an installment 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

This guide is intended for PCI-DSS merchants using our API to perform authentication.

Version 2.2 of the 3-D Secure protocol introduces merchant-initiated authentication or"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

The use case is determined by the value of the fieldspaymentSource,useCaseandtransactionInitiator.

Here are some examples of how to use 3RI :

Use cases Payment stages useCase paymentSource transactionInitiator
Subscription with fixed frequency and amounts Payment of an nth installment RECURRING_FIXED_TOTALAMOUNT EC MERCHANT
Subscription with variable frequency and/or amounts 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

The general principle applies to authentications "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| Length: 1-12 |required

Transaction amount expressed in the smallest fraction of the currency (for example: 30050 for 30050 XPF).
currency String| Length: 3 |required

Currency code according to ISO 4217 alpha-3 standard (for example: "XPF" for the CFP franc).
Possible values
Currency ISO 4217 ENCODING Fractional unit
Dollar australien (036)AUD2
Renminbi yuan chinois (156)CNY1
Franc Djibouti (262)DJF0
Euro (978)EUR2
Dollar de Fidji (242)FJD2
Livre Sterling (826)GBP2
Dollar de Hong Kong (344)HKD2
Yen (392)JPY0
Riel Cambodgien (116)KHR0
Kip laotien (418)LAK0
Dollar néo-zélandais (554)NZD2
Dollar des Îles Salomon (090)SBD2
Baht thailandais (764)THB2
Dollar des États-Unis (840)USD2
Vatu des Îles Vanuatu (548)VUV0
Franc CFP (953)XPF0
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 Purchase of goods or services. Value used by default.
PREPAID_ACTIVATION_AND_LOAD Activation and loading of a prepaid card.
QUASI_CASH_TRANSACTION Near-cash transactions (e.g. holiday vouchers, lottery tickets, etc.)
transactionCategory énumération|ignoré

Transaction category.
paymentSource énumération required

Source of payment.
Possible values
value Description
EC E-commerce. Typical use case. Payment initiated by the buyer with card details entered.
MAIL_ORDER Payment in remote sales initiated by the merchant by mail or email.
TELEPHONE_ORDER Payment in remote sales initiated by the merchant by telephone.
transactionInitiator énumération|Optional

Initiator of the transaction.
Possible values
</tbody>
value Description
CUSTOMER Buyer Initiated Transaction (BIT).
MERCHANT Merchant Initiated Transaction (MIT).
useCase énumération|required

Transaction use case.
Possible values
value Description
INSTALLMENT Payment in installments.
MAINTAIN_CARD Used for example to confirm card status during recurring payments (subscriptions or installment payments).
OTHER_USE_CASE Another use case.
PAYMENT Immediate payment.
RECURRING_VARIABLE_TOTALAMOUNT Subscription with variable frequency and/or deadlines.
RECURRING_FIXED_TOTALAMOUNT Subscription with fixed frequency and deadlines.
REGISTER Card registration.
SHIPMENT_MULTIPLE_AUTHORISATION Payment on shipment with multiple authorizations.
SHIPMENT_SINGLE_AUTHORISATION Payment on shipment with simple authorization.
TOP_UP Account top-up.
TRUST_LIST_STATUS_CHECK Used to ask the issuer if the merchant is on the buyer's trusted beneficiary list. If so, the merchant can then request an exemption from strong authentication at checkout.
VERIFY_ONLY Used for example to check the card balance during recurring payments (subscriptions or installment payments).
customer objet JSON|required

Object containing information about the buyer.
Item Details
name Description
reference String| Length: 0-80 |Optional

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

Adresse e-mail
accountDetails objet JSON|Recommended

Object containing the buyer's account information on the merchant site.
Item Details
name Description
authenticationMethod énumération|Recommended

Buyer authentication method on the merchant site.
Possible values
value Description
GUEST No authentication (guest).
PERSONAL_CREDENTIALS Use of an account created on the merchant site.
FEDERATED_CREDENTIALS Using federated authentication.
ISSUER_CREDENTIALS Use of identifiers provided by the issuer.
EXTERNAL_CREDENTIALS Third-party authentication.
FIDO_CREDENTIALS Using authentication FIDO (Fast IDentity Online) .
billingDetails objet JSON|Optional

Object containing information about the buyer.
Item Details
name Description
title String| Length: 0-63 |Optional

Buyer's title.
Examples of values
  • Mr
  • Ms.
  • Mrs
category énumération|Optional

Buyer type.
Possible values
value Description
PRIVATE Individual buyer type.
COMPANY Company type client.
firstName String| Length: 0-63 |Optional

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

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

Landline number.
Examples of values
  • 0123456789
  • +33123456789
  • 0033123456789
  • (00.571) 638.14.00
  • 40 41 42 42
streetNumber String| Length: 0-64 |Optional

Street number.
address String| Length: 0-255 |Optional

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

Additional information about the address.
district String| Length: 0-127 |Optional

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

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

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

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

Country code (ISO 3166-1 alpha-2 standard).
Examples of values
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| Length: 2 |Optional

Language code (ISO 639-1 standard).
Examples of values
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| Length: 0-32 |Optional

Cell phone number.
Examples of values
  • 0623456789
  • +33623456789
  • 0033623456789
  • (+34) 824 65 43 21
  • 87 77 12 34
identityCode String| Length: 0-150 |Optional

National identifier.
identityType String| Length: 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| Length: 0-100 |Optional

Raison Sociale.
shippingDetails objet JSON|Optional

Object containing delivery information.
Item Details
name Description
category énumération|Optional

Buyer type.
Possible values
value Description
PRIVATE Individual buyer type.
COMPANY Company type client.
firstName String| Length: 0-63 |Optional

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

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

Landline number.
Examples of values
  • 0123456789
  • +33123456789
  • 0033123456789
  • (00.571) 638.14.00
  • 40 41 42 42
streetNumber String| Length: 0-64 |Optional

Street number.
address String| Length: 0-255 |Optional

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

Additional information about the delivery address.
district String| Length: 0-127 |Optional

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

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

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

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

Country code (ISO 3166-1 alpha-2 standard).
Examples of values
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| Length: 0-127 |Optional

Name of the delivery company.
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.

Values reserved for future use:
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| Length: 0-150 |Optional

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

Raison Sociale.
shoppingCart objet JSON|Optional

Object containing the information about the shopping cart.
Item Details
name Description
insuranceAmount Integer| Length: 1-12 |Optional

Insurance amount for the entire order, expressed in the smallest unit of currency (for example: 30050 for 30050 XPF).
shippingAmount Integer| Length: 1-12 |Optional

Amount of delivery charges for the entire order, expressed in the smallest unit of currency (for example: 30050 for 30050 XPF).
taxAmount Integer| Length: 1-12 |Optional

Tax amount for the entire order, expressed in the smallest unit of currency (for example: 30050 for 30050 XPF).
cartItemInfo tableau |Optional

Liste d'objetsCustomer/ShoppingCartItemcontaining information about each item in the cart.
Item Details
name Description
productLabel String| Length: 0-255 |Optional

Product name.
productType énumération|Optional

Product type.
Possible values
value Description
FOOD_AND_GROCERY Food and grocery.
AUTOMOTIVE Cars / Moto.
ENTERTAINMENT Entertainment / Culture.
HOME_AND_GARDEN Home and gardening.
HOME_APPLIANCE Home equipment.
AUCTION_AND_GROUP_BUYING Auctions and group purchasing.
FLOWERS_AND_GIFTS Flowers and presents.
COMPUTER_AND_SOFTWARE Computers and software.
HEALTH_AND_BEAUTY Health and beauty.
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| Length: 0-64 |Optional

Product reference.
productQty Integer| Length: 1-12 |Optional

Quantity of the product.
productAmount Integer| Length: 1-12 |Optional

Amount of the product, expressed in the smallest unit of the currency (for example: 30050 for 30050 XPF).
productVat String| Length: 1-12 |Optional

Amount of tax on the product.
Type of possible values
  • integer

    To express an amount in cents applied to the product concerned.

  • A decimal number

    To express a percentage applied to the amount of the product concerned with a maximum of 4 digits after the decimal point.

    The decimal is required to express a percentage. The decimal is marked with the character ".".

previousAuthentication objet JSON|required

Object containing the data of the last authentication method used.
Item Details
name Description
dsTransID String| Length: 36 |required

Unique transaction identifier generated by the Directory Server (for example: 4317fdc3-ad24-5443-8000-000000000891).
acsTransID String| Length: 36 |required

Unique transaction identifier generated by the ACS (for example: d727ebfe-de4c-4682-85fa-e60ca00a9cff).
dateTime String| Length: 25 |required

Date and time of authentication in ISO 8601 format, in UTC time zone (for example: 2024-10-14T14:57:37+00:00).
effectiveAuthenticationType énumération|required

Last authentication method used.
Possible values
value Description
FRICTIONLESS Authentication without buyer interaction.
CHALLENGE Authentication with buyer interaction.
DATA_ONLY Authentication processed by the DS without buyer interaction.
device objet JSON|ignoré

Object containing information about the browser.
paymentForm objet JSON|required

Object containing the card data.
Item Details
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
OSB Network OSB
VISA Visa network
accountType énumération|Optional

Card type.
Possible values
value Description
CREDIT Credit card
DEBIT Debit card
pan String| Length: 16-19 |required

Primary Account Number. Card number.
expiryMonth Integer| Length: 2 |required

2-digit expiration month (for example: "09" for September).
expiryYear Integer| Length: 2 |required

2-digit expiration year (for example: "28" for 2028).
cardHolderName String| Length: 0-45 |Optional

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

Number of installments.
protocolRequest objet JSON|required

Object containing information about the authentication protocol.
Item Details
name Description
name énumération|required

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

Version of the authentication protocol to use.
Possible values
value Description
1 Protocol OTP OSB
2 3D Secure 2 Protocol
challengePreference énumération|ignoré

Allows you to request authentication with or without buyer interaction.
merchant objet JSON|required

Object containing information about the contract.
Item Details
name Description
mid String| Length: 1-128 |required

Merchant ID. Merchant contract number.
tid String| Length: 0-128 |Optional

Terminal ID. Point of sale identifier defined on the acceptance contract.
This field is only used in Colombia for choosing between REDEBAN and CREDIBANCO.
name String| Length: 0-25 |Optional

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

Merchant Category Code. Code specific to the issuing DS describing the type of activity, product or service of the merchant.
recurring objet JSON|Optional

Object containing subscription information.
Item Details
name Description
expiryDate String| Length: 10 |Optional

Subscription expiration date (for example: 2025-12-31).
frequency objet JSON| Length: 0-150 |Optional

Object containing information about the frequency of the subscription.
Item Details
name Description
value Integer| Length: 3 |Optional

Minimum number of units between two payments (for example: 12). See fieldunit.
unit énumération|Optional

Subscription frequency unit.
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)

Call the Web ServicePCI/Charge/Authenticate to authenticate the buyer:


Fixed frequency and amounts

{
  "amount":"9990",
  "currency":"XPF",
  "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"
  }
}

Variable frequency and/or amounts

{
  "amount":"9990",
  "currency":"XPF",
  "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"
  }
}

The objectrecurring is required to set the frequency of payments and the end date of the subscription.

Follow the Web Service integration guidePCI/Charge/Authenticate for processing instructions and authenticating the bearer.

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

You must save the returned authentication data, especially the fieldauthenticationDateTime They will be mandatory to initiate authentication. 3RI .


Step 2 - Payment of installments (cardholder not present)

At each deadline, you call the Web ServicePCI/Charge/Authenticate to request authentication 3RI .

The objectrecurring is required to set the frequency of payments and the end date of the subscription.

You must pass the authentication data, obtained when subscribing to the subscription, in the subjectpreviousAuthentication :

Fixed frequency and amounts

{
  "amount":"9990",
  "currency":"XPF",
  "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"
  }
}

Variable frequency and/or amounts

{
  "amount":"9990",
  "currency":"XPF",
  "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:


Exit stage 1 (carrier present) Entrance stage 2 (carrier not present)
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)

Call the Web ServicePCI/Charge/Authenticate to authenticate the buyer. Authentication must be requested for the total amount of the installments.

{
  "amount":"12000",
  "currency":"XPF",
  "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 of the installments is 12,000 XPF.

The fieldinstallmentNumber is required to specify the number of installments (e.g. "3" for a payment in 3 installments).

Follow the Web Service integration guidePCI/Charge/Authenticate for processing instructions and authenticating the bearer.

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

You must save the returned authentication data, especially the fieldauthenticationDateTime They will be mandatory to initiate authentication. 3RI .

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

At each deadline, call the Web ServicePCI/Charge/Authenticate to request authentication 3RI for the amount of the installment.

You must transmit the authentication data obtained during the payment of the first installment, in the subjectpreviousAuthentication :

{
  "amount":"4000",
  "currency":"XPF",
  "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, authentication is requested for an amount of 4000 XPF.

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:

Exit stage 1 (carrier present) Entrance stage 2 (carrier not present)
value.extension.dsTransID customer.previousAuthentication.dsTransID
value.extension.acsTransID customer.previousAuthentication.acsTransID
value.authenticationDateTime customer.previousAuthentication.dateTime
value.authenticationType customer.previousAuthentication.effectiveAuthenticationType
MOTO payment

Call the Web ServicePCI/Charge/Authenticate to authenticate the buyer by specifying your use case:

Payment by phone

{
  "amount":"9990",
  "currency":"XPF",
  "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":"XPF",
  "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 PayZen by OSB
25.25.0-1.11