|
|
This section explains how to implement card subscriptions that comply with PSD2 regulations on Axepta Online for CB, VISA, and Mastercard cards.
Axepta Online supports two types of subscriptions:
Fixed Amount and Frequency Subscription for a defined duration: The amount, frequency, and duration are known at the time of subscription
Variable Subscription (CIT/MIT): For cases where the amount, frequency or duration are not known at the time of subscription (tacit renewal)
The subscription type must be determined at the time of enrollment and cannot be changed during the subscription period. If you wish to switch from a fixed-duration subscription to a variable subscription, you will need to re-enroll your customer (new CIT - Customer Initiated Transaction - with 3DS authentication). |
The information for the recurring payment request is passed through the JSON object "credentialOnFile".
Example of a recurring payment request with a fixed amount debit, every day, starting on November 7 and ending on November 20.
{
......
"credentialOnFile" : {
"type" : "RECURRING",
"initialPayment": true,
"recurring" : {
"useCase" : "FIXED",
"frequency" : "DAILY",
"startDate" : "2025-11-07",
"expiryDate" : "2025-11-20"
}
},
......
} |
Once the first payment is accepted, the data needed for subsequent payments are available in the response to the transaction status request query
(API documentation link: Retrieve payment details by Payment ID ou Retrieve payment details by Transaction ID)
The data to be saved are:
This data must be presented in subsequent requests:
Example: Following the previous request for recurring payment, one of the daily payments:
{
......
"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"
}
}
......
} |
Subscription flows
The subscription setup process involves two main steps:
Customer Enrollment: Subscription Initialization at First Due Date
Subsequent Subscription Payments

Subscription flows
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 paramètre schemeReferenceID.

Chaînage des transactions d'un abonnement
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 :
2. Échéances suivantes de l'abonnement Les échéances suivantes d'un abonnement sont initiées par le marchand via :
|
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 :
2. Échéances suivantes de l'abonnement Les échéances suivantes d'un abonnement sont initiées par le marchand via :
|
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).