The recurrent payment module allows to merchant to execute transactions according to criteria established with the client and without the presence of the cardholder. It also allows to automatically making payments at regular intervals.
Once the registration and data entry of the cardholder completed, the card number is found in the PayFacto secured database and a token, associated with the card, is returned to the merchant. Here are the financial operations available with the use of tokens :
| 1. Purchase with token | https://test.api.payfacto.cloud/v1/purchaseWithToken |
| 2. Pré-autorisation avec jeton | https://test.api.payfacto.cloud/v1/preAuthorizationWithToken |
| 3. Remboursement avec jeton | https://test.api.payfacto.cloud/v1/refundWithToken |
| 4. Récurrence - Ajout d'abonnement | https://test.api.payfacto.cloud/v1/recur/AddSubscription |
| 5. Récurrence - Modification d'abonnement | https://test.api.payfacto.cloud/v1/recur/ModSubscription |
| 6. Récurrence- Supression d'abonnement | https://test.api.payfacto.cloud/v1/recur/DelSubscription |
| 7. Récurrence - Information d'usager | https://test.api.payfacto.cloud/v1/recur/InfoUser |
| 8. Récurrence - Vérification d'usager | https://test.api.payfacto.cloud/v1/recur/VerifyUser |
| 9. Récurrence- Information d'abonnement | https://test.api.payfacto.cloud/v1/recur/InfoSubscription |
Management of storage card numbers by PayFacto allows to the merchant easing significantly the constraints related to PCI-DSS certification.
The document includes the following sections :
- Functional architecture;
- Technological architecture;
- Use recurrence via the payment manager.
The basic functionality of recurring payment is the association of the cardholder's credit card number to a token. To perform transactions with a token (without the presence of the cardholder), we must have previously input this information and have registered it for a future use.
Storage of this information is made in the PayFacto database accordingly to security standards required by PCIDSS.
There are three possible action categories :
- Client’s information input;
- Recurrence management;
- Recurring transaction or without card present.
For all transactions on a customer profile or a subscription which are done from a server to a server, a security token is necessary.
This token is provided :
1. To the merchant at the time of the creation of customer profile from the “addUser” function.
2. To the merchant at the time of card present transaction when the feature is enabled for the merchant.
It is used as reference for the client’s information: credit card number and expiry date of the card.
In this server-to-server mode, merchant server calls PayFacto server through Payment API.
API is integrated in the merchant systems to allow the communication with PayFacto systems.
Once the information is transmitted to PayFacto, the information is stored in the PayFacto database and associated with a token that will be returned to the merchant in the response parameters. Once the information is input, it is possible for the merchant to create or modify existing customer profiles from calls to Payment API.
With this input mode, the client’s card numbers pass through the merchant’s computer systems. It will therefore have to comply with PCI-DSS standards.
In order to add a token in integrated mode, the merchant will have to call the Payment API using the following function :
| API | Endpoint |
|---|---|
| Recurring - Add User | https://test.api.payfacto.cloud/v1/recur/AddUser |
The merchant will collect the customer account information and send it via this call.
The required information is as follows to complete the token addition:
| Field | Mandatory? |
|---|---|
| CompanyNumber | |
| MerchantNumber | |
| CustomerNumber | |
| Name | |
| CardNumber | |
| ExpirationDate | |
| Cvv2Cvc2Number | |
| LanguageCode | |
| OperatorID | |
| CardHolderAddress | |
| CardHolderPostalCode |
In the response of this call, PayFacto will provide the merchant with the token and a Return Codes List indicating to the merchant whether or not the operation has been successful.
Finally, the e-commerce application must send the acknowledgment “Ack” to the PayFacto server to finalize the addition of the token. The merchant has 3 minutes to send the acknowledgment to PayFacto.
| API | Endpoint |
|---|---|
| Recurring- Ack | https://test.api.payfacto.cloud/v1/recur/ack |
IMPORTANT: If the result of this acknowledgment is not received or returns a negative answer “FALSE”, the token will be automatically deleted. The merchant must wait for the result of the acknowledgment (which must return “TRUE”) before considering the success of adding the token.
The secure redirection service is an exemplary, efficient and safe way for merchants to add a token.
The secure redirection service is very easy to use. This requires the merchant to take the information from a customer in order to add the token without an associated credit card and then to call a web page hosted on the PayFacto servers via the Payment API of PayFacto. This page will ask the customer to enter their credit card information. Once this is done, PayFacto will perform the creation of the token credit card association. Thereafter, the PayFacto payment solution redirects the user to a success or failure page specified by the merchant. From this page, a call to the Payment API will need to be made to communicate with PayFacto to retrieve the response parameters of adding the token.
The PayFacto entry page contains links to information pages hosted on PayFacto payment servers. These pages are displayed in the PayFacto Customer Payment Service and provide a description of the security solution.
All communications between the merchant application and the PayFacto application are made securely with the http protocol, but using worldwide approved encryption. Internet clients must have a browser that supports 128-bit to use the PayFacto Payment Solution redirection service.
In order to add a token in redirect mode, the merchant will have to use the payment API using the following function:
| API | Endpoint |
|---|---|
| Recurring - Add User | https://test.api.payfacto.cloud/v1/recur/AddUser |
The merchant will have to collect the information from the customer account and send it via this call, the parameters of the card number as well as its expiry date must be sent, but with an “empty” value.
The required information is as follows to complete the token addition :
| Field | Mandatory? |
|---|---|
| CompanyNumber | |
| MerchantNumber | |
| CustomerNumber | |
| Name | |
| CardNumber | |
| ExpirationDate | |
| LanguageCode | |
| OperatorID |
In the response of this call, PayFacto will provide the merchant with the token and a return code telling the merchant whether or not the operation works.
Finally, the e-commerce application must send the acknowledgment “Ack” to the PayFacto server to finalize the addition of the token. The merchant has 3 minutes to send the acknowledgment to PayFacto.
| API | Endpoint |
|---|---|
| Recurring- Ack | https://test.api.payfacto.cloud/v1/recur/ack |
IMPORTANT: If the result of this acknowledgment is not received or returns a negative answer “FALSE”, the token will be automatically deleted. The merchant must wait for the result of the acknowledgment (which must return “TRUE”) before considering the success of adding the token.
Then, the merchant initiates a process that will ensure that the merchant's e-commerce application will call PayFacto's Payment API, including the payment input parameters of the following call:
| API | Endpoint |
|---|---|
| Recurring - Create session | https://test.api.payfacto.cloud/v1/recur/CreateSession |
This call to the Payment API will communicate and transfer the data to the payment servers of PayFacto.
The PayFacto server retains the received parameters and returns a session number in the “transactionOutput” of the “Recurring - Create Session” call to the merchant's e-commerce application.
At this time, the e-commerce application redirects the client's Internet browser to the PayFacto redirection page, including the session number, so that the payment server can retrieve the transaction data.
The format of the redirect URL is as follows :
https://test.form.payfacto.cloud/recur/Carte?secureID=%SecureID%
When this is done, PayFacto displays the customer's credit card information input page.
Image 1: Customer Credit Card Information Input Page
The validation of the 3-digit verification code of the card and the address of the cardholder are configurable options at the request of the merchant. Validation of these values is done only on the initial addition of the token and not on the subsequent transactions made with this token. For more details, please refer to the documentation for verification code (CVV) as well as the documentation of address verification system (AVS).
The customer must then enter their credit card number, expiry date and, if required, the 3-digit validation code of their card as well as the address information of the cardholder. When the customer has entered his information, he must press the “Continue” button. The customer has a maximum time to enter this information. If the customer makes a mistake in entering their credit card information, an error page will appear and the customer will have the option to cancel or restart their transaction (see image 2). The customer has a maximum of three attempts to correctly complete the addition of his credit card.
Image 2: Error page regarding the input of the customer's credit card information.
When the customer presses “Continue”, the PayFacto server automatically associates the credit card entered by the customer with the token provided during the creation of the session by the merchant.
After validating the verification code information as well as the address of the cardholder and the association of the credit card to the existing token, PayFacto redirects the customer to the merchant.
It will be redirected to a page of success, if the operation is a success or to a page of failure in the event of problem or non-success of the validation of the verification code or the address of the holder, with as parameter, the session number of the transaction.
The merchant's success or refusal page must use the session number received by the PayFacto redirection application to make a new call to the payment API and that it returns the result of the association of the card with the token with the response parameters of the operation:
| API | Endpoint |
|---|---|
| Recurring - Get Response | https://test.api.payfacto.cloud/v1/recur/GetResponse |
The Payment API also supports the creation of token during a present card transaction performed using a point of sale terminal using the application of PayFacto.
In this mode, the merchant server calls the PayFacto server via the payment API to send a purchase transaction to a physical terminal installed at the merchant.
The payment API is integrated into the merchant's systems to allow the communication with PayFacto systems.
During this call, PayFacto will send the information of the transaction to the device in order to perform a card transaction.
In order to add a token in card present mode, the merchant will have to call the payment API using one of the following functions:
| API | Endpoint |
|---|---|
| Purchase | https://test.api.payfacto.cloud/v1/purchase |
| PreAuthorization | https://test.api.payfacto.cloud/v1/preAuthorization |
In the response of this call, PayFacto will provide the merchant with the token, a predetermined customer number, and a return code telling the merchant the result of the financial transaction made at the terminal.
If the financial transaction is not allowed, no tokens will be created and returned.
No tokens are returned when the transaction is made using a debit card or if the payment is made using a mobile (eg Apple Pay, Android Pay, Google Pay, etc.)
This mode is a manual input mode between the merchant and PayFacto.
The PayFacto Payment Manager allows to manually enter customer profile and subscription information.
With this input method, the card number of the customer does not go through the computer systems of the merchant, but must pass by a merchant employee.
In order to access the recurrence module, please select the User menu from the main menu of the payment manager. The following screen is displayed:
When you click on the Recurring transactions option in the User menu, a list of internet and MOTO merchants are displayed. You need to choose the merchant with which recurring transactions will be configured. The following screen is displayed :
To access customer-related features, select “Manage Clients”.
It will be possible for you from the list of all your customers to manage the additions, modifications, deletions of customer profiles :
The “Client Addition” transaction is used to create a client in the database and to associate a credit card number and a token. The card number itself is never given back to the merchant once entered in the database.
The client's number should be a single one to facilitate the merchant's management.
When you click the Add option, the following screen appears :
This screen contains five fields:
Once the fields are filled, click Create. The following screen is displayed:
After entering the customer's credit card information, such as card number and expiration date, click on Add.
To modify an existing client, select the client name from the list. You will then be able to modify the customer's general information, the credit card parameters or the subscription list:
In the “Customer Information” tab, you can modify the following information:
In the “Credit Card Parameters” tab, you can modify the following information:
The “Client Deletion” transaction allows erasing a client in the database.
In order to delete an existing client, select the client in the list, click on the option and confirm the deletion:
The client list can be downloaded into an Excel file as follows:
The Excel file contains the following information:
To access the subscription features, select “Manage subscriptions”:
You will be able from the list of all your customers to manage additions, deletions of subscriptions:
The “Subscription Addition” transaction allows to create a subscription. The client number and the token are essential to correctly identify what client must be subscribed.
When you click the Add option, the following screen appears :
This screen contains seven fields :
1- Name - the name of the customer for whom a new subscription will be added;
2- Account # - the account # is a reference for the merchant;
3- Amount - the amount of the financial transaction. There are 3 categories of amount :
4- Frequency - indicates to which frequency the subscription will be paid.
5- Date of the contract - From- the date of the first withdrawal;
6- End of contract by:
7- Description- the Description is a reference for the merchant to identify the subscription.
Once the fields are filled, click on Create.
To make a change to an existing subscription, select the subscription from the list. You will then be able to change the account number, status and subscription description.
The 2 possible statuses are “Active” and “Pause”.
If a subscription is paused, the scheduled withdrawals will wait for the subscription to be active before being attempted.
Transaction which allows ending immediately a subscription.
In order to delete an existing subscription, select the subscription from the list and click on the Delete option. The following screen is displayed:
To access invoice information, select “Billing report”:
The following screen is displayed:
The billing report contains the following information:
To view a specific Transaction Receipt, click on the transaction number in the Billing Report. The following screen is displayed: