Introduction
Mercanet is a secure multi-channel e-commerce payment solution that complies with the PCI DSS standard. It allows you to accept and manage payment transactions by taking into account business rules related to your activity (payment upon shipping, deferred payment, recurring payment, payment in instalments, etc.).
The purpose of this document is to explain the implementation of the payment in instalments solution until the production starts.
Who does this document target
This document is intended to help you implement the payment in instalments.
The purpose is to present the functionalities related to the payment in instalments and to explain how to implement them with the Mercanet solution.
To get an overview of the Mercanet solution, we advise you to consult the following documents:
- Functional presentation
- Functionality set-up guide
Prerequisites
Your customers' payment details must be stored in Mercanet to allow you to make payments in instalments.
You have some points to process before starting:
- to be in compliance with the GDPR, you have to fill in your internal personal data processing register, specifying that banking data are maintained by Mercanet. For more information on the GDPR, please refer to our documentation on information systems security;
- inform your customers about the storage of their details and the terms of payment in instalments (amount, number of instalments, ...);
Overview of the payment in instalments service
The payment in instalments has several components:
- setting up the due date when the first instalment is paid;
- processing of the subsequent due dates;
- management of the customer's means of payment expiration or of the one due dates refusal.
The payment methods allowing recurring payments to be made are : CB, Visa, Mastercard and Amex.
Choice of Mercanet connectors for payment in instalments
As Mercanet offers several interfaces to process payment in instalments, it is important to analyse your business needs to choose the most appropriate connectors for your situation.
There are two different integration modes for creating payments in instalments:
- via Sips Paypage: you send the details of each due date to Mercanet: an authorisation will be made to pay the first instalment when getting the order. If the payment is accepted, all the instalments will be effectively created and sent to the bank on the requested date;
- via Sips Office, Sips Office Batch or Sips Office Extranet: you call
Mercanet at each new due date: during the first payment
Mercanet will process only this payment. You will have
to call Mercanet again at each due date using one of the
following methods:
- Duplicate the first transaction (duplicate function)
- By creating a new transaction:
- via Sips Office Extranet or
- walletOrder function with the ID of the Sips WL wallet in which the CIT card is stored.
The table below summarises the available interfaces according to these two modes.
Use cases | Paypage | Office (M2M) | Office Batch | In-App | Mercanet Back Office |
---|---|---|---|---|---|
Order placement and first due date (CIT) | V | V | X | V | X |
Subsequent due dates (MIT) | Managed automatically by Mercanet | Managed by the merchant | Managed by the merchant | X | V |
Data to retain
Depending on how you process due dates, the data to be retained varies:
Connector | Data to be retained for processing MIT |
---|---|
Paypage | X |
Office (M2M) via Duplication function |
|
Office (M2M) via walletOrder |
|
Implementation
As a reminder, the customer must authenticate with 3-D Secure. The amount to be authenticated must be equal to the total amount of the order. For this type of payment, no exemption to strong authentication can be granted. For regulatory reasons, frictionless is not possible when setting up a payment in several instalments, there will necessarily be an authentication in Challenge mode. This first first due date benefits from the payment guarantee (unlike the following due dates).
The means of payment must be valid on the last due date (for example, in the case of cards, the expiration date shall not exceed the last due date). Otherwise, the payment will be refused.
Payment in instalments with Paypage
When the different payments are set up with Paypage, all the instalments will be created when the bank details are entered, as soon as the first payment is accepted.
Order placement and 1st due date: CIT
Description
- To set up the instalment payment, you redirect the customer to Paypage by providing detailed information on all the deadlines in the request (reference, desired settlement date, amount, etc.).
- Mercanet displays the payment page (only payment methods that support instalment payments are available), the customer selects the mean of payment, provides their payment details and then validates.
- Mercanet performs the 3-D Secure verification.
- Mercanet performs anti-fraud checks.
- Mercanet sends a request for authorisation to the acquirer.
- Mercanet records one transaction per due date in the back office.
- Mercanet returns manual and automatic responses containing the details of the transaction.
- Mercanet sends the transaction to settlement (if applicable) according to the terms you set up in the payment request.
Payment page display
- display of each date and amount, if less than 5 due dates:In the "Transaction information" block, under the section entitled "Instalments", each instalment with date and amount is displayed one below the other.
- display of the number of due dates, the start and end dates of the
transactions, if more than 5 due dates :In the "Transaction details" block, in the section entitled "Payment in x instalments" (x being the number of instalments), the following is displayed : First instalment: "first instalment date: amount" Followed by x instalments, from "first instalment date +1" to "last instalment date".
At the end of the process, the receipt displays the details of the due dates:
Below the message indicating that the payment has been accepted is a table with the instalment date in the first column, the amount in the second column and the transaction reference in the third column
Setting the request
You need to fill in some parameters specifically to request the creation of an instalment payment.
Field | Value setting rule |
---|---|
paymentPattern |
INSTALMENT |
challengeMode3DS |
forced to CHALLENGE_MANDATE |
captureMode |
Forced by Paypage to AUTOR_CAPTURE regardless of the transmitted value. |
captureDay |
Ignored by Paypage, the dates provided
in the instalmentData.datesList
field make a reference. |
amount |
Must be equal to the sum of the due dates amounts
transmitted in the list instalmentData.amountList |
instalmentData.number |
number of due dates |
instalmentData.datesList |
The dates of each due date:
|
instalmentData.transactionReferencesList |
List of the transactionReference of each
due dates. The first element of the list must be equal to the
transactionReference field of
the request. |
instalmentData.amountsList |
List of transmitted due date amounts in due date order. The
sum of the amounts must be equal to the amount field . |
Please refer to one of the Paypage guides to know how to populate the other fields.
Analysing the response
Mercanet returns a classic manual and automatic Paypage response.
The subscription related fields are as follows:
Status | Response fields |
---|---|
Transaction accepted (first payment made successfully). |
|
Transaction refused (first payment refused). |
responseCode = XX (other than
00) Please view the Paypage connector
guide to analyse the response of Mercanet. |
Processing the subsequent due dates
Mercanet processes the subsequent due dates automatically according to the requested remittance dates. This means that for each due date, Mercanet will perform automatically an authorisation and remittance request (if applicable) on the requested day.
Mercanet will combine each due date (MIT) with the transaction created during the first payment (CIT).
You can view the results of these transactions in your transaction report or on Mercanet Back Office.
Paymenent in instalments with Office (M2M)
You have the possibility to manage each due date of a payment in instalments with Office (M2M).
First, you make the initial payment to set up the due date. If this first payment is successful, several options are available:
- Duplicate the first transaction: combination is done by Mercanet
- create new transactions using the walletOrder method: you must perform the CIT-MIT combination yourself.
Order placement and 1st due date: CIT
Description
- You display the payment due date on your website pages and ask your customer to enter their bank details.
- You make a request to Office (M2M), communicating in the request the detailed information about the overall order and the first due date.
- Mercanet performs the 3-D Secure checking.
- Mercanet performs anti-fraud checks.
- Mercanet sends an authorisation request to the acquirer.
- Mercanet saves the first due date in the back office.
- Mercanet returns the result of the payment in the response.
- Mercanet sends the transaction in remittance (if applicable) according to the terms you set up in the payment request.
Setting the request
The cardCheckEnrollment
and
walletCheckEnrollment
methods allow
you to initiate a payment in instalments with Office (M2M).
You have to fill in some specific parameters to request the creation of this type of payment.
Field | Value setting rule |
---|---|
paymentPattern |
INSTALMENT |
challengeMode3DS |
forced to CHALLENGE_MANDATE |
amount |
Must be set to the amount of the first due date. |
authenticationData.authentAmount |
Must be set to the overall order amount. |
recurringData.recurringSequence |
Must be set to 1 (the sequence of the due date in process). |
recurringData.recurringSequenceMax |
Must be set to the total number of due dates. |
recurringData.recurringPeriod |
Must be set to the minimum number of days between two consecutive due dates. |
recurringData.recurringEndDate |
Must be set to the last scheduled due date; |
Please view one of the Office (M2M) guides to know how to populate the other fields.
Analysing the response
According to the response returned by Office (M2M), you determine the progress of this payment in instalments:
Status | Response fields | Action to take |
---|---|---|
Transaction accepted (first payment made successfully). |
|
You can process the order according to
the required guarantee level ( You keep the reference of this first transaction (CIT) which will be used for the subsequent due dates. |
Transaction refused (first payment refused). |
responseCode = XX (other than
00) Please view the Office (M2M) connector guide to analyse the response of Mercanet. |
You can offer your customer to pay with another means of payment by generating a new request. |
Processing the subsequent due dates
Via duplicate method
Calling up the duplication function allows you to make the payment for each subsequent due date (MIT).
Office (M2M) is responsible for chaining each due date (MIT) with the transaction created at the time of the first payment (CIT).
Consult the connector guideOffice (M2M) or Office Batch to set up the call to the duplicate method.
Via walletOrder method
Use of the walletOrder method if the card has been previously registered in the wallet Mercanet (at the time of the CIT or earlier for a previous purchase). In addition to the standard fields of the method, you must send the following fields:
Field | Value |
---|---|
paymentPattern |
RECURRING_N |
initialSchemeTransactionIdentifier |
value of the schemeTransactionIdentifier field received in response from the CIT |
merchantWalletId |
ID of the wallet in which the card used in the CIT is stored |
paymentMeanId |
ID of the card used in the CIT within the wallet Mercanet |
Summary
Paypage
Here is an example of payment in instalments with the connector :
Payment of an order of 900€ in three installments of 300€ each
- Day of order
- 3DS v2 authentication with total order amount (mandatory challenge): 900€.
- Authorisation request with 3DS data, first instalment: 300€
- Settlement without 3DS data: 300€
- Day of the 2nd due date
- CIT chained authorisation request: 300€
- Settlement without 3DS data: 300€
- Day of the 3rd due date
- CIT chained authorisation request: 300€
- Settlement without 3DS data: 300€
Parameters of the request:
Field | CIT | MIT |
---|---|---|
paymentPattern |
INSTALMENT | Managed by Mercanet |
challengeMode3DS |
CHALLENGE_MANDATE | |
captureMode |
AUTHOR_CAPTURE | |
amount |
Sum of the due date amounts | |
instalmentData.datesList |
Dates of each due dates | |
instalmentData.transactionReferencesList |
TransactionReference of each due dates | |
instalmentData.amountsList |
Amount of each due dates | |
instalmentData.number |
Number of due dates |
Other connectors
Payment in several instalments with 1st payment less than 6 days away
Here is an example of a payment in instalments with a first payment within 6 days:
Payment of an order of 500€ in 2 instalments:
- Day of order
- 3DS v2 authentication with total order amount (mandatory challenge): 500€.
- Authorisation request with 3DS data, first due date: 250€.
- Day of 1st due date
- Settlement with 3DS data: 250€
- Day of 2nd due date
- CIT chained authorisation request without 3DS data: 250€.
- Settlement without 3DS data: 250€
Connectors:
CIT | MIT | |
---|---|---|
Connecteur |
|
|
Parameters of the request:
Field | CIT | MIT via duplicate | MIT via walletOrder |
---|---|---|---|
paymentPattern |
INSTALMENT | X | INSTALMENT |
challengeMode3DS |
CHALLENGE_MANDATE | X | X |
captureDay |
[ 0 , 6 ] | [ 0 , 99 ] | [ 0 , 99 ] |
captureMode |
AUTHOR_CAPTURE |
|
|
amount |
Amount of the fisrt due date | amount nth due date | amount nth due date |
authenticationData.authentAmount |
Total amount of the order | X | X |
recurringData.recurringSequence |
1 | X | Due date number |
recurringData.recurringSequenceMax |
Total number of due dates | X | X |
recurringData.recurringPeriod |
Maximum number of days between 2 consecutive due dates | X | X |
recurringData.recurringEndDate |
Date of the last due date | X | X |
initialSchemeTransactionIdentifier |
X | X | value of the schemeTransactionIdentifier field received in response from the CIT |
Payment in several instalments with 1st payment more than 6 days away
Here is an example of a payment in instalments with a first payment more than 6 days:
Payment of an order of 500€ in 2 instalments:
- Day of order
- 3DS v2 authentication with total order amount (mandatory challenge): 500€.
- Information request : authorisation with 3DS data: 0€.
- Day of 1st due date
- CIT chained authorization request without 3DS data: 250€.
- Settlement without 3DS data: 250€
- Day of 2nd due date
- CIT chained authorisation request without 3DS data: 250€.
- Settlement without 3DS data: 250€
Connectors:
CIT | MIT | |
---|---|---|
Connecteur |
|
|
Parameters of the request:
Field | CIT | MIT via duplicate | MIT via walletOrder |
---|---|---|---|
paymentPattern |
INSTALMENT | X | INSTALMENT |
challengeMode3DS |
CHALLENGE_MANDATE | X | X |
captureDay |
[ 0 , 6 ] | [ 0 , 99 ] | [ 0 , 99 ] |
captureMode |
X |
|
|
amount |
0 | amount nth due date | amount nth due date |
authenticationData.authentAmount |
Total amount of the order | X | X |
recurringData.recurringSequence |
1 | X | Due date number |
initialSchemeTransactionIdentifier |
X | X | value of the schemeTransactionIdentifier field received in response from the CIT |
Starting payment in instalments in 4 steps
Step 1 - Implementing the service
When you have chosen the Mercanet interfaces that meet your needs (cf. the paragraph Choice of connectors), you have to integrate the connectors to connect your website to Mercanet and follow the instructions in the Implementation section.
Your shop must be configured on Mercanet to accept payment in instalments. You have to ask BNP Paribas to activate this service on your shop if it is not already done.
Step 2 - Testing the service on the test environment
Once you have implemented the Mercanet connectors, you can do some tests to validate your integration.
Test data | |
---|---|
merchantId | 201000076690001 |
secret key | p64ifeYBVIaRcjaWoahCiw9L8wokNLqG2_YOj_POD4g |
secret key version | 1 |
test cards | cf page "Test cards" |
Server | Test URL |
---|---|
Paypage POST | https://payment-web-mercanet.test.sips-services.com/paymentInit |
Paypage JSON | https://payment-web-mercanet.test.sips-services.com/rs-services/v2/paymentInit |
Paypage SOAP | https://payment-web-mercanet.test.sips-services.com/services/v2/paymentInit |
Office | https://office-server-mercanet.test.sips-services.com/ |
transactionReference
field in your
test requests.Step 3 - Subscribing to the production service
Your shop is not registered on Mercanet.
If your shop has not yet been registered, you must fill in the registration form and return it to BNP Paribas.
Your shop is already registered with Mercanet.
If your shop is already registered with Mercanet, you must check with BNP Paribas to ensure to have access to Paypage or Office (M2M).
Step 4 - Starting and validating the service in production
You must change the URL to connect to the Mercanet production server using the credentials you received when registering merchantId, secretKey, and keyVersion.
URL Mercanet | URL of the Mercanet payment server retrieved by e-mail. |
MerchantId | Shop ID received by e-mail. |
SecretKey | Secret key you retrieve via the Mercanet Téléchargement. |
KeyVersion | Secret key version retrieved on Mercanet Téléchargement (obviously 1 for the 1st key). |
If you want to customise your payment pages, please follow the procedure described in the Custompages documentation.