support
Retour à la documentation
Rechercher
Catégories
Tags
Information sur la transactiontout montrer
amount
requis
currency
requis
transactionCategory
requis
productType
merchant
mid
requis
tid
name
recurring
expiryDate
requis
frequency
value
requis
unit
requis
Moyen de paiement
paymentForm
networkPreference
requis
accountType
pan
requis
expiryMonth
requis
expiryYear
requis
cardHolderName
installmentNumber
issuerInstallment
information sur l'acheteur
customer
reference
email
recommandé
billingDetails
title
category
firstName
lastName
phoneNumber
streetNumber
address
address2
district
zipCode
city
state
country
language
cellPhoneNumber
identityCode
shippingDetails
category
firstName
lastName
phoneNumber
streetNumber
address
address2
district
zipCode
city
state
country
deliveryCompanyName
shippingSpeed
shippingMethod
legalName
identityCode
shoppingCart
insuranceAmount
shippingAmount
taxAmount
cartItemInfo
[1]
productLabel
productType
productRef
productQty
productAmount
productVat
Information sur le protocole
protocolRequest
name
requis
version
challengePreference
Information sur le périphérique
device
deviceType
requis
acceptHeader
requis
userAgent
requis
ip
javaEnabled
requis
language
requis
colorDepth
requis
screenHeight
requis
screenWidth
requis
timeZoneOffset
requis
Paramètres de retour 3DS
id
instructionResult
name
requis
value
requis
protocol
name
requis
version
requis
network
requis
challengePreference
requis
simulation
requis
Testez moi
Documentation

PCI/Charge/Authenticate (PCI)

POSThttps://api.systempay.fr/api-payment/V4/PCI/Charge/Authenticate

L'activation de cette fonctionnalité est soumise à accord préalable de Systempay.

Documentation de référence, pour voir comment l'intégrer, c'est ici: Service d'authentification du porteur

Paramètres de la requête

amount

Montant de la transaction à authentifier. Sa valeur doit être un entier positif, dans sa plus petite unité monétaire.

Exemple : 30050 pour 300, 50 EUR.

Format

currency

Devise de la transaction à authentifier. Code alphabétique en majuscule selon la norme ISO 4217 (ex: "EUR" pour l'euro).

Format

transactionCategory

Catégorie de la transaction. Sera généralement valorisé avec PAYMENT pour un paiement classique.

Valeurs possibles

Valeurs Description
ADD_CARD Ajout d'une carte dans un wallet.
PAYMENT Paiement classique (inclut les paiements récurrents ou en n-fois).

Format

productType

Type de produit concerné par la transaction.

Valeurs possibles

valeurs 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 si le champ n'est pas transmis dans la requête.
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.)

Format

merchant.name

Nom du marchand.

Format

merchant.mid

Numéro de contrat commerçant.

Format

merchant.tid

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.

Format

networkPreference

Chemin: paymentForm.networkPreference

Nom du réseau préférentiel préconisé par le marchand en cas de cartes multi-marques (ex: CB et VISA sur une même carte).

Valeurs possibles

Valeur Description
AMEX Réseau American Express (Safekey)
CB Réseau Carte Bancaire
MASTERCARD Réseau Mastercard
VISA Réseau Visa
ELO Réseau Elo (Brésil)
DINERS Réseau Diners
DISCOVER Réseau Discover
OSB Réseau OSB

Format

accountType

Chemin: paymentForm.accountType

Type de carte. Ce champ est obligatoire au brésil

Valeurs possibles

valeurs Description
DEBIT Carte de débit
CREDIT Carte de crédit

Format

paymentForm.pan

Le PAN (Primary Account Number) est le numéro principal de la carte généralement composé de 16 chiffres).

Format

expiryMonth

Chemin: paymentForm.expiryMonth

Mois d’expiration sur 2 chiffres. Exemple : "09" pour septembre.

Format

expiryYear

Chemin: paymentForm.expiryYear

Année d’expiration sur 2 chiffres. Exemple : "25" pour 2025.

Format

cardHolderName

Chemin: paymentForm.cardHolderName

Nom et prénom du porteur de la carte

Format

installmentNumber

Chemin: paymentForm.installmentNumber

Nombre d'échéances.

Format

customer.reference

Identifiant de l’acheteur chez le marchand.

Format

customer.email

Adresse e-mail de l'acheteur.

Format

address

Chemin: customer.billingDetails.address

Adresse de facturation.

Attention : Les caractères > et < ne sont pas autorisés.

Format

address2

Chemin: customer.billingDetails.address2

Informations complémentaires sur l'adresse de facturation.

Attention : Les caractères > et < ne sont pas autorisés.

Format

category

Chemin: customer.billingDetails.category

Type de client.

Format

Valeurs possibles

valeurs Description
PRIVATE Client de type Particulier
COMPANY Client de type Société

cellPhoneNumber

Chemin: customer.billingDetails.cellPhoneNumber

Téléphone portable de l'acheteur.

Accepte tous les formats:

Exemples:

  • 0623456789
  • +33623456789
  • 0033623456789
  • (+34) 824 65 43 21
  • 87 77 12 34

En fonction du moyen de paiement, certaines restrictions peuvent modifier le format. Veuillez vous reporter à la documentation technique spécifique au moyen de paiement pour plus de détails.

Format

city

Chemin: customer.billingDetails.city

Ville de facturation.

Format

country

Chemin: customer.billingDetails.country

Pays de l'acheteur (en majuscule, suivant la norme ISO 3166-1 alpha-2).

Format

Valeurs possibles

Exemples de valeurs possibles :

Pays Code
AUTRICHE AT
BRESIL BR
CORSE FR
COTE D'IVOIRE CI
FRANCE FR
GUADELOUPE GP
INDE IN
MARTINIQUE MQ
NOUVELLE-CALÉDONIE NC
ST-PIERRE-ET-MIQUELON PM
POLYNESIE FRANCAISE PF

district

Chemin: customer.billingDetails.district

Quartier de l'adresse de facturation.

Format

firstName

Chemin: customer.billingDetails.firstName

Prénom de l'acheteur.

Format

identityCode

Chemin: customer.billingDetails.identityCode

Identifiant national. Permet d'identifier de façon unique chaque citoyen au sein d'un pays.

Format

identityType

Chemin: customer.billingDetails.identityType

Type de pièce d'identité.

Format

language

Chemin: customer.billingDetails.language

Code de la langue de l'acheteur, selon la norme norme ISO 639-1.

Permet de spécifier la langue dans laquelle sont envoyés les e-mails de confirmation de paiement.

Format

Valeurs possibles

Exemples de valeurs possibles:

Langue Code
Allemand (Allemagne) DE
Anglais (Royaume Uni) EN
Anglais (Etats-Unis) EN
Chinois (Traditionnel) ZH
Espagnol (Espagne) ES
Espagnol (Chili) ES
Français (France) FR
Italien (Italie) IT
Japonais (Japon) JP
Néerlandais (Pays-Bas) NL
Polonais (Pologne) PL
Portugais (Brésil) PT
Portugais (Portugal) PT
Russe (Russie) RU

lastName

Chemin: customer.billingDetails.lastName

Nom de l'acheteur.

Format

legalName

Chemin: customer.billingDetails.legalName

Raison sociale.

Format

phoneNumber

Chemin: customer.billingDetails.phoneNumber

Numéro de téléphone de l'acheteur.

Accepte tous les formats:

Exemples:

  • 0123456789
  • +33123456789
  • 0033123456789
  • (00.571) 638.14.00
  • 40 41 42 42

En fonction du moyen de paiement, certaines restrictions peuvent modifier le format. Veuillez vous reporter à la documentation technique spécifique au moyen de paiement pour plus de détails.

Format

state

Chemin: customer.billingDetails.state

Région (état) de l'adresse de facturation. Il est recommandé mais non obligatoire de passer la valeur en ISO-3166-2.

Format

streetNumber

Chemin: customer.billingDetails.streetNumber

Numéro de rue de l'adresse de facturation.

Caractères acceptés:

  • Caractères alphabétiques (de "A" à "Z" et de "a" à "z")
  • Espace

Format

title

Chemin: customer.billingDetails.title

Civilité de l’acheteur.

Exemples:

  • Mr
  • M.
  • Mme

Format

zipCode

Chemin: customer.billingDetails.zipCode

Code postal de l'adresse de facturation.

Format

address

Chemin: customer.shippingDetails.address

Adresse de livraison.

Attention : Les caractères > et < ne sont pas autorisés.

Format

address2

Chemin: customer.shippingDetails.address2

Deuxième ligne d'adresse de livraison.

Attention : Les caractères > et < ne sont pas autorisés.

Format

category

Chemin: customer.shippingDetails.category

Type de client.

Format

Valeurs possibles

valeurs Description
PRIVATE Client de type Particulier
COMPANY Client de type Société

city

Chemin: customer.shippingDetails.city

Ville de livraison.

Format

country

Chemin: customer.shippingDetails.country

Pays de livraison (en majuscule, suivant la norme ISO 3166-1 alpha-2).

Format

Valeurs possibles

Exemples de valeurs possibles:

Pays Code
AUTRICHE AT
BRESIL BR
CORSE FR
COTE D'IVOIRE CI
FRANCE FR
GUADELOUPE GP
INDE IN
MARTINIQUE MQ
NOUVELLE-CALÉDONIE NC
ST-PIERRE-ET-MIQUELON PM
POLYNESIE FRANCAISE PF

deliveryCompanyName

Chemin: customer.shippingDetails.deliveryCompanyName

Nom de la société qui délivre le produit.

Format

district

Chemin: customer.shippingDetails.district

Quartier de l'adresse de facturation.

Format

firstName

Chemin: customer.shippingDetails.firstName

Prénom du destinataire.

Format

identityCode

Chemin: customer.shippingDetails.identityCode

Identifiant national. Permet d'identifier de façon unique chaque citoyen au sein d'un pays.

Format

lastName

Chemin: customer.shippingDetails.lastName

Nom de l'acheteur.

Format

legalName

Chemin: customer.shippingDetails.legalName

Raison sociale en cas de livraison en entreprise.

Format

phoneNumber

Chemin: customer.shippingDetails.phoneNumber

Numéro de téléphone de l'acheteur.

Accepte tous les formats:

Exemples:

  • 0123456789
  • +33123456789
  • 0033123456789
  • (00.571) 638.14.00
  • 40 41 42 42

Format

shippingMethod

Chemin: customer.shippingDetails.shippingMethod

Mode de livraison.

Format

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.
CARD_HOLDER_ADDRESS Livraison chez l'acheteur. Réservé à un usage futur.
VERIFIED_ADDRESS Livraison à une adresse vérifiée. Réservé à un usage futur.
NOT_VERIFIED_ADDRESS Livraison à une adresse non vérifiée. Réservé à un usage futur.
SHIP_TO_STORE Livraison en magasin. Réservé à un usage futur.
DIGITAL_GOOD Livraison digitale. Réservé à un usage futur.
ETRAVEL_OR_ETICKET Billet électronique. Réservé à un usage futur.
OTHER Autre: Réservé à un usage futur.
PICKUP_POINT Retrait en point relais. Réservé à un usage futur.
AUTOMATED_PICKUP_POINT Retrait en point relais automatique. Réservé à un usage futur.

shippingSpeed

Chemin: customer.shippingDetails.shippingSpeed

Délai de livraison.

Format

Valeurs possibles

Exemples de valeurs possibles:

Valeur Description
STANDARD Livraison standard
EXPRESS Livraison en moins de 24h
PRIORITY Livraison Prioritaire (Click & Collect)

state

Chemin: customer.shippingDetails.state

Région de l'adresse de facturation.

Format

streetNumber

Chemin: customer.shippingDetails.streetNumber

Numéro de rue de l'adresse de livraison.

Caractères acceptés:

  • Caractères alphabétiques (de "A" à "Z" et de "a" à "z")
  • Espace

Format

zipCode

Chemin: customer.shippingDetails.zipCode

Code postal de l'adresse de facturation.

Format

insuranceAmount

Chemin: customer.shoppingCart.insuranceAmount

Montant de l’assurance pour l’ensemble de la commande exprimé dans sa plus petite unité monétaire (le centime pour l'euro).

Exemple: 30050 pour 300, 50 EUR.

Format

shippingAmount

Chemin: customer.shoppingCart.shippingAmount

Montant des frais de livraison pour l’ensemble de la commande exprimé dans sa plus petite unité monétaire (le centime pour l'euro).

Exemple: 30050 pour 300, 50 EUR.

Format

taxAmount

Chemin: customer.shoppingCart.taxAmount

Montant des taxes pour l’ensemble de la commande exprimé dans sa plus petite unité monétaire (le centime pour l'euro).

Exemple: 30050 pour 300, 50 EUR.

Format

cartItemInfo

Chemin: customer.shoppingCart.cartItemInfo

cardItemInfo est une liste qui contient des objets Customer/ShoppingCartItemInfo.

Il permet de décrire chaque article du panier.

Format

productAmount

Chemin: customer.shoppingCart.cartItemInfo.productAmount

Montant du produit exprimé dans sa plus petite unité monétaire (le centime pour l'euro).

Exemple: 30050 pour 300, 50 EUR.

Format

productLabel

Chemin: customer.shoppingCart.cartItemInfo.productLabel

Nom du produit.

Format

productQty

Chemin: customer.shoppingCart.cartItemInfo.productQty

Quantité de produit.

Format

productRef

Chemin: customer.shoppingCart.cartItemInfo.productRef

Référence produit.

Format

productType

Chemin: customer.shoppingCart.cartItemInfo.productType

Type du 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 Equipement 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

Format

productVat

Chemin: customer.shoppingCart.cartItemInfo.productVat

Type du produit.

Montant de la taxe sur le produit (dans la plus petite unité de la devise).

Valeurs possibles

Valeur Description
Un nombre entier Montant de la transaction. Sa valeur doit être un entier positif (ex: 1234 pour 12, 34 EUR).
Un nombre décimal, inférieur à 100 Pourcentage appliqué sur le montant. Exemples : 20.0 ou 19.6532

Pour exprimer un pourcentage appliqué sur le montant du produit concerné, la valeur doit avoir au 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 ".".

Format

device.deviceType

Type d'appareil sur lequel s'effectue l'authentification.

Valeurs possibles

Valeur Description
BROWSER l'authentification a lieu dans un navigateur

Format

device.acceptHeader

Contenu exact du header HTTP "accept" tel qu'envoyé par le navigateur du client.

Format

device.userAgent

Contenu exact de l'entête HTTP "user-agent" envoyé par le navigateur. Doit être tronqué si la valeur dépasse 2048 caractères.

Obtenue du navigateur client via la propriété "navigator.userAgent".

Code javascript permettant de récupérer la valeur :

const language = navigator.userAgent;

Format

device.ip

Adresse IP du navigateur telle que renvoyée dans les entêtes HTTP par le client. Format IPV4 (ex: 1.12.123.255) ou IPV6 (ex: 2011:0db8:85a3:0101:0101:8a2e:0370:7334). Longueur variable, maximum 45 caractères.

Format

device.javaEnabled

Booléen qui représente la capacité du navigateur à exécuter du Java. La valeur est celle retournée par la fonction "navigator.javaEnabled()" et peut être true ou false.

Code javascript permettant de récupérer la valeur:

const javaEnabled = navigator.javaEnabled();

Format

device.language

Chaîne de caractère indiquant la langue du navigateur.

Obtenue du navigateur client via la propriété "navigator.language".

Exemples : "en", "en-US", "de", "fr", etc.

Code javascript permettant de récupérer la valeur :

const language = navigator.language;

Format

device.colorDepth

Valeur représentant la profondeur de la palette de couleurs utilisée pour afficher les images, en bits par pixel.

Obtenue du navigateur client via la propriété "screen.colorDepth".

Code javascript permettant de récupérer la valeur :

const colorDepth = screen.colorDepth;

Format

device.screenHeight

La hauteur totale de l'écran du client en pixels. La valeur est celle retournée par la propriété "screen.height". De 1 à 6 caractères.

Code javascript permettant de récupérer la valeur :

const screenHeight = screen.height;

Format

device.screenWidth

La largeur totale de l'écran du client en pixels. La valeur est celle retournée par la propriété "screen.width". De 1 à 6 caractères.

Code javascript permettant de récupérer la valeur :

const screenWidth = screen.width;

Format

timeZoneOffset

Chemin: device.timeZoneOffset

Différence de temps entre le temps UTC et le temps local du navigateur client, en minutes. Sa valeur est de -120 pour un utilisateur dans le fuseau horaire UTC+2 et de 570 pour le fuseau horaire UTC−09:30.

Code javascript permettant de récupérer la valeur :

const timeZoneOffset = new Date().getTimezoneOffset();

Format

id

Identifiant unique de l'authentification, au format UUID.

Null au premier appel.

Lorsque plusieurs appels au Web Service PCI/Charge/Authenticate sont nécessaires pour réaliser l'authentification d'un acheteur, la valeur de l'ID transmis doit être la même pour chaque appel d'une même authentification. Il faut alors reprendre l'ID fourni dans la précédente réponse.

Format

name

Chemin: instructionResult.name

Nom de l'instruction

Valeurs possibles

Valeur Description
CHALLENGE Instruction Challenge, qui permet l'authentification interactive de l'utilisateur auprès de l'ACS
FINGERPRINT Instruction Fingerprint, qui permet d'identifier l'utilisateur auprès de l'ACS

Format

value

Chemin: instructionResult.value

Résultat sous forme de chaine JWT, ou un code d'erreur en texte simple en cas d'erreur ( timeout par exemple).

Format

challengePreference

Chemin: instructionResult.protocol.challengePreference

Indique si le commerçant a demandé un challenge ou pas.

Valeurs possibles

Valeur Carte 3DS1 Carte 3DS2
NO_PREFERENCE Authentification 3DS1 forcée. Le choix de la préférence est délégué à l'émetteur de la carte.
NO_CHALLENGE_REQUESTED Authentification 3DS1 débrayée. Permet de demander une authentification sans interaction (frictionless)
CHALLENGE_REQUESTED Authentification 3DS1 forcée. Permet de demander une authentification forte pour la transaction.
CHALLENGE_MANDATED Authentification 3DS1 forcée. Permet d'indiquer que pour des raisons réglementaires, une authentification forte est requise pour la transaction.
DATA_ONLY Authentification 3DS1 débrayée. Permet de demander une authentification sans interaction, prise en charge par le DS au lieu de l'ACS de la banque émettrice. La transaction ne bénéficiera pas du transfert de responsabilité. L'authentification sera désactivée si le réseau n'est pas compatible avec cette fonctionnalité. Le service PCI/Charge/Authenticate retourne un code erreur INT_808, si le champ transactionCategory n'est pas valorisé à PAYMENT.

Format

name

Chemin: instructionResult.protocol.name

Nom du protocole d'authentification du porteur de carte.

Valeurs possibles

Valeur Description
THREEDS Protocole 3D Secure

Format

network

Chemin: instructionResult.protocol.network

Nom du réseau préférentiel préconisé par le marchand en cas de cartes multi-marques (ex: CB et VISA sur une même carte).

Ce champ est obligatoire pour la gestion du timeout sur le 3ds method, lorsque le champ instructionResult.value a pour valeur TIMEOUT.

Valeurs possibles

Valeur Description
AMEX Réseau American Express (Safekey)
CB Réseau Carte Bancaire
MASTERCARD Réseau Mastercard
VISA Réseau Visa
ELO Réseau Elo (Brésil)
DINERS Réseau Diners
DISCOVER Réseau Discover
OSB Réseau OSB

Format

simulation

Chemin: instructionResult.protocol.simulation

Booléen qui indique si l'authentification doit être réalisée en mode simulation. Si vous valorisez ce champ obligatoire à :

  • true, vous activez le mode simulation.
  • false, vous n'activez pas le mode simulation.

Ce mode permet de réaliser une intégration marchand sans être en production, ni utiliser de vraies cartes.

Format

version

Chemin: instructionResult.protocol.version

Version du protocole d'authentification du porteur de carte.

Versions supportées actuellement

Valeur Description
1.0.2 Version 1.0.2
2.1.0 Version 2.1.0
2.2.0 Version 2.2.0

Format

protocolRequest.name

Nom du protocole d'authentification du porteur de carte.

Valeurs possibles

Valeur Description
THREEDS Protocole 3D Secure

Format

version

Chemin: protocolRequest.version

Permet de forcer la version du protocole d'authentification à utiliser.

Versions supportées actuellement

Valeur Description
1 3D Secure 1
2 3D Secure 2

Format

challengePreference

Chemin: protocolRequest.challengePreference

Indique si le commerçant a demandé un challenge ou pas.

Valeurs possibles

Valeur Carte 3DS1 Carte 3DS2
NO_PREFERENCE Authentification 3DS1 forcée. Le choix de la préférence est délégué à l'émetteur de la carte.
NO_CHALLENGE_REQUESTED Authentification 3DS1 débrayée. Permet de demander une authentification sans interaction (frictionless)
CHALLENGE_REQUESTED Authentification 3DS1 forcée. Permet de demander une authentification forte pour la transaction.
CHALLENGE_MANDATED Authentification 3DS1 forcée. Permet d'indiquer que pour des raisons réglementaires, une authentification forte est requise pour la transaction.
DATA_ONLY Authentification 3DS1 débrayée. Permet de demander une authentification sans interaction, prise en charge par le DS au lieu de l'ACS de la banque émettrice. La transaction ne bénéficiera pas du transfert de responsabilité. L'authentification sera désactivée si le réseau n'est pas compatible avec cette fonctionnalité. Le service PCI/Charge/Authenticate retourne un code erreur INT_808, si le champ transactionCategory n'est pas valorisé à PAYMENT.

Format

recurring.expiryDate

Date d'expiration de la récurrence. Exemple: 2019-12-24

Format

unit

Chemin: recurring.frequency.unit

Unité de fréquence de la récurrence

Valeurs possibles

valeurs Description
DAY En jours
MONTH En mois
YEAR En années

Format

value

Chemin: recurring.frequency.value

Valeur de la fréquence de la récurrence, exprimée en unité de fréquence. Exemple: 12

Format

Référence de la réponse

Plusieurs réponses sont possibles en fonction du contexte:

Réponse Contexte
AuthenticationResponseData Objet contenant le résultat de l'authentification

Voir la référence de chaque réponse pour plus de détails.