logo Mercanet

Release 24.6

go directly to content

Search by keywords

Payment in instalments

To search in the page use Ctrl+F on your keyboard

It is advised to read the following documents before

  • Recommended

    MIT/CIT chaining

    Functional, technical documentation and user guides to help you to integrate Mercanet online payment solution.

    Open in new tab MIT/CIT chaining

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.

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
Attention: Mercanet does not manage the personal data of your customers (name, first name, address, age, e-mail, telephone ....) but only payment details allowing to debit or credit your subscribers.

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, ...);

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.

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

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
  • CIT reference (field transactionReference or s10TransactionId / s10TransactionDate)
Office (M2M) via walletOrder
  • CIT reference (field transactionReference or s10TransactionId / s10TransactionDate)
  • Unique transaction reference of the issuer used for chaining (field schemeTransactionIdentifier)
  • Wallet identifier used for the CIT (field merchantWalletId)
  • ID within wallet of the card used in the CIT (field paymentMeanId

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.

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.


Diagram describing the order placement and 1st due date via Paypage

  1. 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.).
  2. 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.
  3. Mercanet performs the 3-D Secure verification.
  4. Mercanet performs anti-fraud checks.
  5. Mercanet sends a request for authorisation to the acquirer.
  6. Mercanet records one transaction per due date in the back office.
  7. Mercanet returns manual and automatic responses containing the details of the transaction.
  8. 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:

    Screenshot of the paypage displaying the instalments if less than 5

    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:


    Screenshot of the ticket showing 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

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:
  • must be unique;
  • transmitted in chronological order;
  • the time between the first and last date may not exceed the legal duration of the instalment payment (90 days) free of charge.
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.

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).

responseCode = 00

acquirerResponseCode = 00

Transaction refused (first payment refused).

responseCode = XX (other than 00)
Please view the Paypage connector guide to analyse the response of Mercanet.

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.

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.


Diagram describing the order placement and 1st due date via Office

  1. You display the payment due date on your website pages and ask your customer to enter their bank details.
  2. You make a request to Office (M2M), communicating in the request the detailed information about the overall order and the first due date.
  1. Mercanet performs the 3-D Secure checking.
  2. Mercanet performs anti-fraud checks.
  3. Mercanet sends an authorisation request to the acquirer.
  4. Mercanet saves the first due date in the back office.
  5. Mercanet returns the result of the payment in the response.
  6. Mercanet sends the transaction in remittance (if applicable) according to the terms you set up in the payment request.

The cardCheckEnrollment and walletCheckEnrollmentmethods 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.

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).

responseCode = 00

acquirerResponseCode = 00

You can process the order according to the required guarantee level (guaranteeIndicator field).

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.

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.

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
For all the fields of the cardOrder and walletOrder methods, please refer to the connectors' documentations Office (M2M)and Office Batch.

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€

example of payment in instalments on Paypage

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

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€

Example of a payment in several instalments with the first payment within 6 days

July 28th 2021 day of the order (CIT) with an authentication of the total amount of the order, i.e. EUR 500 and an authorisation request for the amount of the first instalment, i.e. EUR 250. The duration of the authorisation request runs from 28 July to 3 August (6 days). On August 2nd 2021, i.e. D+4, the delivery with the 3DS data of the first instalment (CIT) for 250 euros takes place. On September 9th 2021, i.e. D+31, triggering of the 2nd deadline (MIT1) resulting in a chained authorisation request with the CIT and a remittance in 3DS data for an amount of 250 euros.

Connectors:

CIT MIT
Connecteur
  • Office (M2M)
  • In-App
  • Office (M2M)
  • Office Batch

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
  • AUTHOR_CAPTURE
  • VALIDATION
  • AUTHOR_CAPTURE
  • VALIDATION
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

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€

Example of a payment in several instalments with the first payment more than 6 days away

July 28th, 2021, the day of the order (CIT) with an authentication of the total amount of the order, i.e. EUR 500 and a card information request triggered by an amount of EUR 0. The duration of the authorisation request runs from 28 July to 3 August (6 days). On August 5th 2021, i.e. D+8, the 1st deadline (MIT1) is triggered, resulting in a chained authorisation request with the CIT and a remittance without the 3DS data for an amount of 250 euros. On September 5th 2021, i.e. D+38, triggering of the 2nd deadline (MIT2) resulting in a chained authorisation request with the CITand a remittance in 3DS data for an amount of 250 euros.

Connectors:

CIT MIT
Connecteur
  • Office (M2M)
  • In-App
  • Office (M2M)
  • Office Batch

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
  • AUTHOR_CAPTURE
  • VALIDATION
  • AUTHOR_CAPTURE
  • VALIDATION
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

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.

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/
IMPORTANT: the test shop is configured in transactionReference mode, with no automatic generation of the transactionReference. Therefore, you need to send the populated transactionReference field in your test requests.

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).

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).
Tip: a common mistake is to forget one of these four parameters, which always leads to an error.

If you want to customise your payment pages, please follow the procedure described in the Custompages documentation.