• France
Back Office Marchand
assistance
FAQContacter le support
Rechercher
Catégories
Tags
Français
Français
Anglais
Accueil
Cas d'usage
Créer un paiement
Créer un paiement en plusieurs fois
Créer un paiement par alias (token)
Créer un lien de paiement
Créer un abonnement
Gérer vos abonnements
Gérer vos transactions (rembourser,...)
Analyser vos journaux
Docs API
Formulaire embarqué
API REST
Formulaire en redirection
Intégration mobile
Échange de fichiers
Exemples de code
Moyens de paiement
Modules de paiement
Guides
Back Office Marchand
Guides fonctionnels

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 est utilisé notamment :

  • lors du paiement d'une échéance d'un abonnement
  • lors du paiement d'une énième échéance d'un paiement en plusieurs fois
  • pour le paiement MOTO

Le cas d'utilisation est déterminé par la valeur des champs paymentSource, useCase et transactionInitiator.

Voici quelques exemples d'utilisation de 3RI :

Cas d'utilisation Étape du paiement useCase paymentSource transactionInitiator
Abonnement à fréquence et montants fixes Paiement d'une énième échéance RECURRING_FIXED_TOTALAMOUNT EC MERCHANT
Abonnement à fréquence et/ou montants variables Paiement d'une énième échéance RECURRING_ VARIABLE_TOTAL_AMOUNT EC MERCHANT
Paiement en plusieurs fois Paiement d'une énième échéance INSTALLMENT EC MERCHANT
Paiement par courrier Paiement PAYMENT MAIL_ORDER n/a
Paiement par téléphone Paiement PAYMENT TELEPHONE_ORDER n/a

En fonction du cas d'utilisation, des champs additionnels doivent être transmis dans la requête.

Principe de fonctionnement

Le principe général s'applique aux authentifications "3RI".
Un seul appel au Web Service PCI/Charge/Authenticate est nécessaire, le marchand n'a pas d'instruction à traiter ni d'objet device à transmettre.

Liste des champs relatifs à 3RI :

NOM DESCRIPTION
amount entier | Longueur : 1-12 | requis

Montant de la transaction exprimé dans la plus petite fraction de la devise (par exemple : 30050 pour 30050 XPF).
currency chaine | Longueur : 3 | requis

Code de la devise selon la norme ISO 4217 alpha-3 (par exemple : "XPF" pour le franc CFP).
Valeurs possibles
Devise CODIFICATION ISO 4217 Unité fractionnaire
Dollar australien (036)AUD 2
Renminbi yuan chinois (156)CNY 1
Franc Djibouti (262)DJF 0
Euro (978)EUR 2
Dollar de Fidji (242)FJD 2
Livre Sterling (826)GBP 2
Dollar de Hong Kong (344)HKD 2
Yen (392)JPY 0
Riel Cambodgien (116)KHR 0
Kip laotien (418)LAK 0
Dollar néo-zélandais (554)NZD 2
Dollar des Îles Salomon (090)SBD 2
Baht thailandais (764)THB 2
Dollar des États-Unis (840)USD 2
Vatu des Îles Vanuatu (548)VUV 0
Franc CFP (953)XPF 0
productType énumération | optionnel

Type de produit concerné par la transaction.
Valeurs possibles
Valeur Description
ACCOUNT_FUNDING Versement sur un compte
CHECK_ACCEPTANCE Vérification d'acceptation
GOODS_OR_SERVICE_PURCHASE Achat de bien ou de service. Valeur utilisée par défaut.
PREPAID_ACTIVATION_AND_LOAD Activation et charge d'une carte prépayée
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 requis

Source du paiement.
Valeurs possibles
Valeur 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 | optionnel

Initiateur de la transaction.
Valeurs possibles
</tbody>
Valeur Description
CUSTOMER Transaction initiée par l'acheteur (CIT).
MERCHANT Transaction initiée par le marchand (MIT).
useCase énumération | requis

Cas d'utilisation de la transaction.
Valeurs possibles
Valeur Description
INSTALLMENT Paiement en plusieurs fois.
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 Paiement comptant.
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 | requis

Objet contenant les informations sur l'acheteur.
Détails de l'objet
NOM DESCRIPTION
reference chaine | Longueur : 0-80 | optionnel

Identifiant de l'acheteur chez le marchand.
email chaine | Longueur : 0-150 | recommandé

Adresse e-mail
accountDetails objet JSON | recommandé

Objet contenant les informations du compte de l'acheteur sur le site marchand.
Détails de l'objet
NOM DESCRIPTION
authenticationMethod énumération | recommandé

Méthode d'authentification de l'acheteur sur le site marchand.
Valeurs possibles
Valeur 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 | optionnel

Objet contenant les informations sur l'acheteur.
Détails de l'objet
NOM DESCRIPTION
title chaine | Longueur : 0-63 | optionnel

Civilité de l'acheteur.
Exemples de valeurs
  • Mr
  • M.
  • Mme
category énumération | optionnel

Type de client.
Valeurs possibles
Valeur Description
PRIVATE Client de type Particulier.
COMPANY Client de type Société.
firstName chaine | Longueur : 0-63 | optionnel

Prénom.
lastName chaine | Longueur : 0-63 | optionnel

Nom.
phonenumber chaine | Longueur : 0-32 | optionnel

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

Numéro de rue.
address chaine | Longueur : 0-255 | optionnel

Adresse de facturation.
address2 chaine | Longueur : 0-255 | optionnel

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

Quartier.
zipCode chaine | Longueur : 0-64 | optionnel

Code postal.
city chaine | Longueur : 0-128 | optionnel

Ville.
state chaine | Longueur : 0-127 | optionnel

Région.
country chaine | Longueur : 2 | optionnel

Code pays (norme ISO 3166-1 alpha-2).
Exemples de valeurs
Valeur Description
AT AUTRICHE
BE BELGIQUE
FR CORSE
CI COTE D'IVOIRE
FR FRANCE
GP GUADELOUPE
MQ MARTINIQUE
NC NOUVELLE-CALÉDONIE
PM ST-PIERRE-ET-MIQUELON
PF POLYNESIE FRANCAISE
language chaine | Longueur : 2 | optionnel

Code langue (norme ISO 639-1).
Exemples de valeurs
Valeur Description
DE Allemand (Allemagne)
EN Anglais (Royaume Uni)
EN Anglais (Etats-Unis )
ZH Chinois (Traditionnel)
ES Espagnol (Espagne)
ES Espagnol (Chili)
FR Français (France)
IT Italien (Italie)
JP Japonais (Japon)
NL Néerlandais (Pays-Bas)
PL Polonais (Pologne)
PT Portugais (Brésil)
PT Portugais (Portugal)
RU Russe (Russie)
cellPhonenumber chaine | Longueur : 0-32 | optionnel

Numéro de téléphone mobile.
Exemples de valeurs
  • 0623456789
  • +33623456789
  • 0033623456789
  • (+34) 824 65 43 21
  • 87 77 12 34
identityCode chaine | Longueur : 0-150 | optionnel

Identifiant national.
identityType chaine | Longueur : 0-3 | optionnel

Type de pièce d'identité.
Valeurs possibles
Pays 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 chaine | Longueur : 0-100 | optionnel

Raison Sociale.
shippingDetails objet JSON | optionnel

Objet contenant les informations de livraison.
Détails de l'objet
NOM DESCRIPTION
category énumération | optionnel

Type de client.
Valeurs possibles
Valeur Description
PRIVATE Client de type Particulier.
COMPANY Client de type Société.
firstName chaine | Longueur : 0-63 | optionnel

Prénom.
lastName chaine | Longueur : 0-63 | optionnel

Nom.
phonenumber chaine | Longueur : 0-32 | optionnel

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

Numéro de rue.
address chaine | Longueur : 0-255 | optionnel

Adresse de livraison.
address2 chaine | Longueur : 0-255 | optionnel

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

Quartier.
zipCode chaine | Longueur : 0-64 | optionnel

Code postal.
city chaine | Longueur : 0-128 | optionnel

Ville.
state chaine | Longueur : 0-127 | optionnel

Région.
country chaine | Longueur : 2 | optionnel

Code pays (norme ISO 3166-1 alpha-2).
Exemples de valeurs
Valeur Description
AT AUTRICHE
BE BELGIQUE
FR CORSE
CI COTE D'IVOIRE
FR FRANCE
GP GUADELOUPE
MQ MARTINIQUE
NC NOUVELLE-CALÉDONIE
PM ST-PIERRE-ET-MIQUELON
PF POLYNESIE FRANCAISE
deliveryCompanyName chaine | Longueur : 0-127 | optionnel

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

Délai de livraison.
Valeurs possibles
Valeur Description
STANDARD Livraison standard.
EXPRESS Livraison en moins de 24h.
PRIORITY Livraison Prioritaire (Click & Collect).
shippingMethod énumération | optionnel

Mode de livraison.
Valeurs possibles
Valeur Description
RECLAIM_IN_SHOP Retrait de marchandise en magasin.
RELAY_POINT Utilisation d'un réseau de points de retrait tiers (Kiala, Alveol, etc).
RECLAIM_IN_STATION Retrait dans un aéroport, une gare ou une agence de voyage.
PACKAGE_DELIVERY_COMPANY Livraison par transporteur (Colissimo, UPS, etc).
ETICKET Emission d'un billet électronique, téléchargement de produit virtuel.

Valeurs réservées à un usage futur :
Valeur Description
CARD_HOLDER_ADDRESS Livraison chez l'acheteur.
VERIFIED_ADDRESS Livraison à une adresse vérifiée.
NOT_VERIFIED_ADDRESS Livraison à une adresse non vérifiée.
SHIP_TO_STORE Livraison en magasin.
DIGITAL_GOOD Livraison digitale.
ETRAVEL_OR_ETICKET Billet électronique.
OTHER Autre.
PICKUP_POINT Retrait en point relais.
AUTOMATED_PICKUP_POINT Retrait en point relais automatique.
identityCode chaine | Longueur : 0-150 | optionnel

Identifiant national.
legalName chaine | Longueur : 0-100 | optionnel

Raison Sociale.
shoppingCart objet JSON | optionnel

Objet contenant les informations sur le panier.
Détails de l'objet
NOM DESCRIPTION
insuranceAmount entier | Longueur : 1-12 | optionnel

Montant de l'assurance pour l'ensemble de la commande, exprimé dans la plus petite unité de la devise (par exemple : 30050 pour 30050 XPF).
shippingAmount entier | Longueur : 1-12 | optionnel

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

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

Liste d'objets Customer/ShoppingCartItem contenant les informations sur chaque article du panier.
Détails de l'objet
NOM DESCRIPTION
productLabel chaine | Longueur : 0-255 | optionnel

Nom du produit.
productType énumération | optionnel

Type de produit.
Valeurs possibles
Valeur Description
FOOD_AND_GROCERY Produits alimentaires et d'épicerie.
AUTOMOTIVE Automobile / Moto.
ENTERTAINMENT Divertissement / Culture.
HOME_AND_GARDEN Maison et jardin.
HOME_APPLIANCE Équipement de la maison.
AUCTION_AND_GROUP_BUYING Ventes aux enchères et achats groupés.
FLOWERS_AND_GIFTS Fleurs et cadeaux.
COMPUTER_AND_SOFTWARE Ordinateurs et logiciels.
HEALTH_AND_BEAUTY Santé et beauté.
SERVICE_FOR_INDIVIDUAL Services à la personne.
SERVICE_FOR_BUSINESS Services aux entreprises.
SPORTS Sports.
CLOTHING_AND_ACCESSORIES Vêtements et accessoires.
TRAVEL Voyage.
HOME_AUDIO_PHOTO_VIDEO Son, image et vidéo.
TELEPHONY Téléphonie.
productRef chaine | Longueur : 0-64 | optionnel

Référence du produit.
productQty entier | Longueur : 1-12 | optionnel

Quantité du produit.
productAmount entier | Longueur : 1-12 | optionnel

Montant du produit, exprimé dans la plus petite unité de la devise (par exemple : 30050 pour 30050 XPF).
productVat chaine | Longueur : 1-12 | optionnel

Montant de la taxe sur le produit.
Type de valeurs possibles
  • Un nombre entier

    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 | requis

Objet contenant les données de la dernière méthode d'authentification utilisée.
Détails de l'objet
NOM DESCRIPTION
dsTransID chaine | Longueur : 36 | requis

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

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

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 | requis

Dernière méthode d'authentification utilisée.
Valeurs possibles
Valeur 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 | requis

Objet contenant les données de la carte.
Détails de l'objet
NOM DESCRIPTION
networkPreference énumération | requis

Nom du réseau préférentiel préconisé par le marchand.
Valeurs possibles
Valeur Description
AMEX Réseau American Express (Safekey)
CB Réseau Carte Bancaire
DINERS Réseau Diners
DISCOVER Réseau Discover
MASTERCARD Réseau Mastercard
OSB Réseau OSB
VISA Réseau Visa
accountType énumération | optionnel

Type de carte.
Valeurs possibles
Valeur Description
CREDIT Carte de crédit
DEBIT Carte de débit
pan chaine | Longueur : 16-19 | requis

Primary Account Number. Numéro de carte.
expiryMonth entier | Longueur : 2 | requis

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

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

Nom et prénom du porteur de la carte.
installmentNumber entier | Longueur : 3 | optionnel

Nombre d'échéances.
protocolRequest objet JSON | requis

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

Nom du protocole d'authentification du porteur de carte.
Valeurs possibles
Valeur Description
THREEDS Protocole 3D Secure
OSB Protocole OTP OSB
version chaine | Longueur : 1 | optionnel

Version du protocole d'authentification à utiliser.
Valeurs possibles
Valeur Description
1 Protocole OTP OSB
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 | requis

Objet contenant les informations sur le contrat.
Détails de l'objet
NOM DESCRIPTION
mid chaine | Longueur : 1-128 | requis

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

Terminal ID. Identifiant du point de vente défini sur le contrat d'acceptation.
Ce champ est utilisé uniquement en Colombie afin de choisir entre REDEBAN et CREDIBANCO.
name chaine | Longueur : 0-25 | optionnel

Nom du marchand.
mcc chaine | Longueur : 10 | optionnel

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 | optionnel

Objet contenant les informations sur l'abonnement.
Détails de l'objet
NOM DESCRIPTION
expiryDate chaine | Longueur : 10 | optionnel

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

Objet contenant les informations sur la fréquence de l'abonnement.
Détails de l'objet
NOM DESCRIPTION
value entier | Longueur : 3 | optionnel

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

Unité de fréquence de l'abonnement.
Valeurs possibles
Valeur Description
DAY En jours.
MONTH En mois.
YEAR En années.

La réponse contient les données d'authentification utiles pour une future demande d'autorisation.

Cas d'utilisation

Abonnements

Étape 1 - Souscription à l'abonnement (porteur présent)

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


Fréquence et montants fixes

{
  "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"
  }
}

Fréquence et/ou montants variables

{
  "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"
  }
}

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.

Une fois le résultat final obtenu, vous pouvez procéder à la demande d'autorisation.

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


Étape 2 - Paiement des échéances (porteur non présent)

À 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":"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"
  }
}

Fréquence et/ou montants variables

{
  "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"
  }
}

La réponse contient les données d'authentification nécessaires à la demande d'autorisation pour le paiement de l'échéance.

Pour vous aider, voici une table de correspondance entre les données obtenues à l'étape 1 et les données requises à l'étape 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
Paiements en plusieurs fois

Étape 1 : Paiement de la première échéance (porteur présent)

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":"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"
  }
}

Dans cet exemple, le montant total des échéances est de 12000 XPF.

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.

Une fois le résultat final obtenu, vous pouvez procéder à la demande d'autorisation pour le montant de la première échéance.

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

Étape 2 : Paiement d'une énième échéance (porteur non présent)

À 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":"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"
  }
}

Dans cet exemple, l'authentification est demandée pour un montant de 4000 XPF.

La réponse contient les données d'authentification nécessaires à la demande d'autorisation pour le paiement de l'échéance.

Pour vous aider, voici une table de correspondance entre les données obtenues à l'étape 1 et les données requises à l'étape 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
Paiement MOTO

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

Paiement par télé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"
  }
}

Paiement par courrier

{
  "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"
  }
}

La réponse contient les données d'authentification nécessaires à la demande d'autorisation.

© 2025 Tous droits réservés à PayZen by OSB
25.18-1.11