| Tip | ||
|---|---|---|
| ||
|
| Info | ||
|---|---|---|
| ||
|
Description
Cette section aborde la mise en place des abonnements par carte, conformes à la DSP2, sur Axepta Online pour les cartes CB, VISA, Mastercard.
Axepta Online permet de mettre en place 2 types d'abonnement :
- Abonnement d'un montant et d'une périodicité fixes sur une durée définie : Le montant, la périodicité et la durée sont connus lors de la souscription
- Abonnement variable - CIT/MIT : tout autre cas, le montant, la périodicité ou la durée ne sont pas connus lors de la souscription (tacite reconduction).
Pour les abonnements / paiements récurrents intiés via une 1ère transaction MOTO, veuillez vous référer à la documentation suivante : Paiement récurrent carte (Abonnement) - MOTO (Mail Order / Telephone Order)
| Note |
|---|
Le choix du type d'abonnement doit être défini à la souscription et ne peut pas être modifié au cours de l'abonnement. Si vous souhaitez passer d'un abonnement d'une durée fixe à un abonnement variable il faudra enrôler à nouveau votre client (nouvelle transaction CIT - Customer Initiated Transaction - avec authentification 3DS). |
Prérequis
- Vous souhaitez l'abonnement / paiement récurrent par carte (CB, Visa, Mastercard) :
- Définir quel type d'abonnement vous allez proposer à vos clients (cf. ci-dessous)
- Recueillir le consentement de votre client pour la souscription d'un nouvel abonnement (côté marchand)
- Stocker les données suivantes
- L'objet JSON Card contenant : le numéro de carte tokenisé, la marque de la carte et la date d'expiration
- Le schemeReferenceID reçu en réponse de la transaction d'initialisation de l'abonnement
Premier paiement.
L'information de la demande de paiement récurrent est passé par l'object json "credentialOnFile"
Exemple, d'une demande de paiement récurrent avec un débit d'un montant fixe, tous les jours, commençant le 07 nov et finissant le 20 nov.
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
{
......
"credentialOnFile" : {
"type" : "RECURRING",
"initialPayment": true,
"recurring" : {
"useCase" : "FIXED",
"frequency" : "DAILY",
"startDate" : "2025-11-07",
"expiryDate" : "2025-11-20"
}
},
......
} |
Une fois ce premier paiement accepté, les données nécessaire aux paiement successifs sont disponibles dans la réponse à la requête de demande de statut de la transaction
(lien vers la doc swagger de l'api: Retrieve payment details by Payment ID ou Retrieve payment details by Transaction ID)
Les données à sauvegarder sont:
- Le numéro de carte tokenisé: le parametre: 'pseudoCardNumber'
- Le scheme Reference Id: le paramètre: 'schemeReferenceId'
Elles doivent être présentées lors de demande suivantes:
exemple: Suite à la demande précédente de paiement récurrent, un des paiement journalier :
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
......
"credentialOnFile": {
"type" : "RECURRING",
"initialPayment": false,
"recurring" : {
"useCase" : "FIXED",
"frequency" : "DAILY",
"startDate" : "2025-11-07",
"expiryDate" : "2025-11-20"
}
},
"paymentMethods": {
"integrationType": "HOSTED",
"type" : "Card",
"card" : {
"brandSelection": "MERCHANT", // "CUSTOMER" ou "MERCHANT"
"prefillInfo": {
"number": "0701953701953810", // {{PCnrForStoredCredentials}}
"securityCode": "123",
"expiryDate": "203003",
"cardHolderName": "{{firstName}} {{lastName}}",
"brand" : "VISA"
},
"schemeReferenceId" : "1123456"
}
}
......
} |
Mise en place d'un abonnement
La mise en place d'un abonnement s'effectue en 2 étapes :
- Enrôlement du client : Initialisation de l'abonnement lors de la 1ère échéance
- La 1ère transaction, initiée par le client, sera authentifiée en 3DSV2. On parlera alors de CIT ou Customer Initiated transaction.
- Cette transaction ne pourra pas bénéficier d'une demande d'exemption de l'authentification 3DS.
- Une valeur de chaînage sera envoyée dans la réponse de cette transaction. Elle sera stockée par le marchand et utilisée dans toutes les échéances suivantes de l'abonnement (cf. schéma ci-dessous).
- La 1ère transaction, initiée par le client, sera authentifiée en 3DSV2. On parlera alors de CIT ou Customer Initiated transaction.
- Echéances suivantes de l'abonnement
- Les requêtes de paiement suivantes seront initiéées par le marchand. On parlera de MIT ou Merchant Initiated transaction.
- Elles contiendront la valeur de chaînage reçue en réponse de la transaction d'initialisation de l'abonnement.
- Les requêtes de paiement suivantes seront initiéées par le marchand. On parlera de MIT ou Merchant Initiated transaction.
Mise en place d'un abonnement
Focus : Chaînage des transactions
Une donnée clé
La 1ère échéance d'un abonnement permet de récupérer une donnée de chaînage qui sera utilisée pour relier ("chaîner") les échéances suivantes à cette 1ère échéance.
La donnée de chaînage, reçue en réponse de l'échéance d'initialisation de l'abonnement, est générée soit par la banque du porteur soit par le scheme utilisé (Visa, Mastercard).
Dans la documentation Axepta Online, la donnée de chaînage est renseignée dans le champ paramètre schemeReferenceID.
Principes
Chaînage des transactions d'un abonnement
Implémentation de l'abonnement
Abonnement d'un montant et d'une périodicité fixes sur une durée définie
| Expand | ||||
|---|---|---|---|---|
| ||||
ExempleLe client s’abonne à un gymnase pour 1 an au prix de 34,99 € par mois
1. Enrôlement du client : Initialisation de l'abonnement lors de la 1ère échéance
La création de la première échéance d'un abonnement est effectuée au cours d'un parcours de paiement via :
Requête
| ||||
| Paramètre | Format | CND | Description | Exemple | JSON | M | Objet précisant le type et la série de transactions |
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"type": {
"recurring": {
"recurringFrequency": 30,
"recurringStartDate": "2019-09-14",
"recurringExpiryDate": "2020-09-14"
}
},
"initialPayment": true,
"useCase": "fixed"
} |
JSON
M
Objet précisant le parcours d'authentification 3D Secure (obligatoire ou exemption)
Ici utilisez : Mandate challenge
Réponse
Le tableau suivant décrit les paramètres qui seront reçus dans la réponse du paiement et stockés par le commerçant.
) |
| Tip |
|---|
L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. |
| Info |
|---|
|
2. Échéances suivantes de l'abonnement
Les échéances suivantes d'un abonnement sont initiées par le marchand via :
Server-to-server - direct.aspxInitiate card Direct integration by calling Create payment
Batch - Create Batch payments (File) Paiements ou gestion par batch
| Info |
|---|
Les échéances suivantes ne sont pas soumises à l’authentification 3D Secure car elles sont initiées par le marchand (MIT) |
Server-to-server
Requête
Le tableau suivant décrit les paramètres supplémentaires chiffrés à ajouter aux requêtes de paiement :
) |
| Tip |
|---|
L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. |
| Info |
|---|
Utiliser la valeur reçue dans la réponse de la requête d'initialisation de l'abonnement |
| Code Block | ||
|---|---|---|
| ||
{
"type": {
"recurring": {
"recurringFrequency": 30,
"recurringStartDate": "2019-09-14",
"recurringExpiryDate": "2020-09-14"
}
},
"initialPayment": false,
"useCase": "fixed"
} |
Réponse
| Warning |
|---|
Seule la donnée reçue dans le schemeReferenceID de la réponse de la requête d'initialisation de l'abonnement doit être stockée et réutilisée dans toutes les échéances suivantes de l'abonnement (paiement récurrent). Selon les émetteurs, le champ schemeReferenceID peut être valorisé dans la réponse d'une échéance, mais la donnée reçue ne doit pas être réutilisée. |
Batch
Abonnement à durée et montant fixes
Echéances suivantes : RTF=RAbonnement d'un montant et/ou d'une périodicité variable - CIT / MIT
| Expand | ||||
|---|---|---|---|---|
| ||||
L'abonnement variable correspond à un abonnement dont le montant varie au cours de l'abonnement et / ou dont la durée n'est pas connue lors de la souscription. ExemplesLe client s’abonne à un service avec un forfait et des consommations mensuelles
Ou le client s'abonne à un service avec tacite reconduction mensuelle :
1. Enrôlement du client : Initialisation de l'abonnement lors de la 1ère échéanceLa création de la première échéance d'un abonnement est effectuée au cours d'un parcours de paiement via :
Requête
| ||||
| Paramètre | Format | CND | Description | Exemple | JSON | M | Objet précisant le type et la série de transactions
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"type": {
"unscheduled": "CIT"
},
"initialPayment": true,
"useCase": "ucof"
} |
JSON
O
Objet précisant le parcours d'authentification 3D Secure (obligatoire ou exemption)
Ici utilisez : Mandate challenge
Réponse
Le tableau suivant décrit les paramètres qui seront reçus dans la réponse du paiement et stockés par le commerçant.
Données de la carte (Token / PCN inclus) - card:response EN
| Tip |
|---|
L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. |
| Info |
|---|
|
2. Échéances suivantes de l'abonnement
Les échéances suivantes d'un abonnement sont initiées par le marchand via :
- Server-to-server - direct.aspxInitiate card Direct integration by calling Create payment
Batch -
Create Batch payments (File)
| Info |
|---|
Les échéances suivantes ne sont pas soumises à l’authentification avec le 3D Secure car elles sont initiées par le marchand (MIT) |
Server-to-server
Requête
Le tableau suivant décrit les paramètres supplémentaires chiffrés à ajouter aux requêtes de paiement :
) |
| Tip |
|---|
L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. |
Donnée de chaînage des transactions dans le cadre des abonnements effectués par carte.
| Info |
|---|
Utiliser la valeur reçue dans la réponse de la requête d'initialisation de l'abonnement |
| language | json |
|---|
Réponse
| Warning |
|---|
Seule la donnée reçue dans le schemeReferenceID de la réponse de la requête d'initialisation de l'abonnement doit être stockée et réutilisée dans toutes les échéances suivantes de l'abonnement (paiement récurrent). Selon les émetteurs, le champ schemeReferenceID peut être valorisé dans la réponse d'une échéance, mais la donnée reçue ne doit pas être réutilisée. |
Batch
Abonnement à durée et montants variables
Echéances suivantes : RTF=MAbonnement avec des cartes AMEX
Les abonnements par carte, conformes à la DSP2, sur Axepta Online pour les cartes AMEX nécessite l'usage du paramètre TransactionID à la place du paramètre schemeReferenceID (requête et réponse).
| Table of Contents |
|---|

