IDEAL
Contents
Introduction
Purpose of this document
The purpose of the present document is to help you to implement the iDEAL payment method.
to know
All terms, acronyms, expressions specific to context are defined in the document : GLOSSAIRE.
|
General principle
iDEAL makes it possible to pay by electronic bank transfer. When the Internet buyer chooses to pay for his order using iDEAL, he must first of all choose his bank from a drop-down list. The Internet user is then redirected to the interface of the bank selected, then all he has to do is authenticate himself and confirm the bank transfer. To use iDEAL, the Internet user does not need to create a specific account; all that is required is that his bank allows iDEAL payments.
How it works ?
Interface availability
Given that the Internet user must authenticate himself during the procedure, offline payment is not possible.
Interface (mode) Payment method |
Mercanet Essentiel |
Mercanet Gestion Plus |
Mercanet Batch |
Mercanet Wallet page |
|||||
---|---|---|---|---|---|---|---|---|---|
POST |
SOAP |
JSON |
JSON |
SOAP |
BATCH |
POST |
SOAP |
JSON |
|
iDEAL |
✔ |
✔ |
✔ |
✔ |
✔ |
- |
- |
- |
- |
Payment procedures
User view
During an iDEAL payment, the Internet user's view is shown as below:
Sequence of Mercanet Essentiel payment screens
The authentication process completed on the Internet user's bank pages. To connect to the online bank, the Internet user uses the same identification information and the same authentication method (one-time password via SMS, etc.)
Mercanet essentiel
The payment process for Mercanet Essentiel is described below:
Mercanet Essentiel flow chart
Stage |
Description |
|
---|---|---|
1 |
The Internet user confirms his order on the merchant's website. |
|
2 |
The merchant initialises a payment session and redirects the Internet user to the payment method selection page. |
|
3 |
The Internet user selects iDEAL as the payment method. Then he selects the bank with which he wishes to make the payment. Mercanet initialises a payment session on the iDEAL platform. |
|
4 |
Mercanet redirects the Internet user to his bank to make the bank transfer. |
|
5 |
The Internet user's bank notifies the iDEAL platform of the result of the bank transfer. The Internet user is redirected to Mercanet again. |
|
6 |
Mercanet inquires the iDEAL platform to get the status of the payment. |
|
7 |
Mercanet informs the merchant and the Internet user (if necessary) of the result of the online payment procedure |
|
8 |
The merchant may be informed of the receipt of the funds via reporting tools. |
Mercanet gestion plus
The payment process for Mercanet Gestion Plus is described below:
Stage |
Description |
||
---|---|---|---|
1 |
The Internet user confirms his order on the merchant's website. |
||
2 |
The merchant calls Mercanet to get the list of all issuer’s banks available. |
||
3 |
Mercanet inquires the iDEAL platform in order to get the list of issuer’s banks available. |
||
4 |
Mercanet returns to the merchant the list of issuer’s banks. |
||
5 and 5’ |
The merchant displays the list to the customer. He selects the bank with which he wishes to make the payment. |
||
6 |
The merchant calls Mercanet to initialise a payment session. |
||
7 |
Mercanet initiates a payment session with iDEAL platform. |
||
8 |
Mercanet provides the merchant the information for the redirection to iDEAL pages. |
||
9 |
The merchant redirects the Internet user to his bank to make the bank transfer. |
||
10 |
The Internet user's bank notifies the iDEAL platform of the result of the bank transfer. The Internet user is redirected to the merchant website. |
||
11 |
The merchant calls Mercanet to finalize the transaction. |
||
12 |
Mercanet inquires the iDEAL platform to get the status of the payment. |
||
13 |
Mercanet informs the merchant of the status of the bank transfer. |
||
14 |
The merchant informs the Internet user of the result of the online payment procedure. |
Payment pages
Choice of payment method
Choice of bank
Bank
Identification of the Internet user on their online bank
Note: the identification pages differ depending on the Internet user's online banking authentication method (the pages shown here are just an example).
Payment ticket
Functionalities
Type of functionality |
Availability |
Note |
---|---|---|
Payment channel |
||
Internet |
✔ |
Mandatory payment channel |
MOTO (VPC, telephon, letters) |
N/A |
|
Payment methods |
||
Immediate payment |
✔ |
|
Payment at the end of the day |
N/A |
|
Deferred payment |
N/A |
|
Payment on dispatch |
N/A |
|
Payment in instalments |
N/A |
|
Subscription payments (recurring) |
N/A |
|
Batch payment |
N/A |
|
"One-click" payment |
N/A |
|
Payment in different currencies |
||
Multi-currency acceptance |
N/A |
EUR only |
Multi-currency settlement |
N/A |
EUR only |
Fraud management |
||
---|---|---|
Please refer to documents guide controles anti-fraude |
||
Merchant reporting |
||
Transaction log |
✔ |
|
Operations log |
✔ |
|
Transaction reconciliation log |
✔ |
|
Outstanding payment reconciliation log |
N/A |
Bank transfers for iDEAL transactions cannot be repudiated. |
Extranet |
✔ |
|
Checkout operation |
||
Cancellation |
N/A |
Impossible as a transfer cannot be revoked. |
Validation |
N/A |
|
Refund |
✔ |
Available for a total or partial amount |
Duplication |
N/A |
|
Capture mode |
||
Cancellation mode |
✔ |
Default mode |
Validation mode |
N/A |
|
Immediate mode |
N/A |
Life cycle
Transfer request
A transfer request performed during the online procedure cannot be revoked. However, the transfer may not take place under some rare circumstances described below.
Transfer confirmation
It happens for an iDEAL transaction to have a temporary status when Mercanet consults the iDEAL platform to confirm the payment. Mercanet will respond to the Internet user as well as to the merchant that the transaction is being processed (Response code 60). Mercanet consults the iDEAL platform regularly in order to obtain the final status of the transaction. An automatic response will be triggered when the confirmation is received.
Note: Automatic response is triggered only with Mercanet Essentiel process
Payment transaction processing ticket
Reconciliation and outstanding payments
A transaction in the CAPTURED status is considered as reconciled, since iDEAL ensures the funds transfer. It then appears in the Mercanet reconciliation logs, if the merchant has these logs. There are no outstanding payments for an iDEAL payment.
Integration with Mercanet Essentiel
Payment request
No specific information is necessary to submit an iDEAL payment request. However the fields below have a specific behaviour:
Field name |
Notes/rules |
Setting example |
---|---|---|
captureMode |
the capture mode is forced at AUTHOR_CAPTURE |
value sent in the request is ignored |
captureDay |
the capture day is forced at 0 |
value sent in the request is ignored |
paymentPattern |
the payment pattern is forced at ONE_SHOT. |
value sent in the request is ignored |
Manual and automatic responses
The following fields have a specific behaviour:
Field name |
Notes/rules |
Setting example |
---|---|---|
authorisationId |
identifier for the transaction on the iDEAL platform |
00800002423343435 |
paymentMeanType |
CREDIT_TRANSFER |
|
paymentMeanBrand |
IDEAL |
Integration test
In simulation mode, the Mercanet response code is determined based on the amount selected during the request. This mode allows the merchant to test whether their Mercanet integration manages the different possible responses effectively.
Amount |
Result |
---|---|
EUR 1 |
Transaction accepted |
EUR 2 |
Transaction cancelled by the Internet user |
EUR 3 |
Transaction expired |
EUR 4 |
Transaction pending final status |
EUR 5 |
Transaction refused |
Integration with Mercanet Gestion Plus
Credit transfer inquire request
The following specific fields must be set by the merchant in case of an iDEAL payment in the CreditTransferInquire method:
Field name |
Notes/rules |
Setting example |
---|---|---|
paymentMeanBrand |
Brand used to create the payment |
IDEAL |
Credit transfer inquire response
The following specific fields are set in case of an iDEAL payment
Field name |
Notes/rules |
Setting example |
---|---|---|
customerBankList |
List of bank available for the merchant, composed of : - customerBankCode - customerBankName |
Once the customer chooses his bank in the list, the customerBankCode and customerBankName must be provided in the CreditTransferInitialize request.
Credit transfer initialize request
The following specific fields must be set by the merchant in case of an iDEAL payment in the CreditTransferInitialize method:
Field name |
Notes/rules |
Setting example |
---|---|---|
customerBankCode |
Identifier of the bank |
INGBNL2A |
customerBankName |
Name of the bank |
BANK - ING |
paymentMeanBrand |
Brand used to create the payment |
IDEAL |
No other specific information is necessary to submit an iDEAL payment request. However the fields below have a specific behaviour:
Field name |
Notes/rules |
Setting example |
---|---|---|
captureMode |
the capture mode is forced at AUTHOR_CAPTURE |
value sent in the request is ignored |
captureDay |
the capture day is forced at 0 |
value sent in the request is ignored |
paymentPattern |
the payment pattern is forced at ONE_SHOT. |
value sent in the request is ignored |
Credit transfer initialize response
The following specific fields are set in case of an iDEAL payment
Field name |
Notes/rules |
Setting example |
---|---|---|
responseCode |
Response code |
00 |
redirectionData |
Redirection data |
RSs7cZyL[…]LyNK5ACo |
redirectionUrl |
Redirection URL |
|
messageVersion |
Message version used |
0.1 |
Internet user redirection
At this moment the merchant can redirect the internet user to redirection URL. The merchant must send the redirection data and the message version with a HTTP POST in field “redirection_data” and “message_version”. At the end of the iDEAL scenario, the internet user comes back directly to the merchant site. The redirection to the merchant site is made with a HTTP POST form and the following fields can be retrieved from it:
Field name |
Notes/rules |
Setting example |
---|---|---|
responseCode |
Response code |
60 |
redirectionData |
Redirection data |
RSs7cZyL[…]LyNK5ACo |
messageVersion |
Message version used |
0.1 |
amount |
Amount of the transaction |
1000 |
merchantId |
Identifier of the merchant |
002474849505153 |
transactionReference |
Identifier of the transaction |
TEST0231268482123 |
transactionId |
Identifier of the transaction |
123456 |
transactionDate |
Date of the transaction |
20150707 |
Credit transfer finalize and order resquest
This request needs to be sent for each transaction to have the status, because there is no automatic notification. You can do it when user comes back from its bank website or, if he does not come back, 30 minutes after the redirection. The following specific fields must be set by the merchant in case of an iDEAL payment in the CreditTransferFinalizeAndOrder method (with fields received in “6.5 Internet user redirection”):
Field name |
Notes/rules |
Setting example |
---|---|---|
redirectionData |
Redirection data |
RSs7cZyL[…]LyNK5ACo |
messageVersion |
Message version used |
0.1 |
Credit transfer finalize and order response
The following specific fields are set in case of an iDEAL payment
Field name |
Notes/rules |
Setting example |
---|---|---|
authorisationId |
identifier for the transaction on the iDEAL platform |
00800002423343435 |
paymentMeanBrand |
IDEAL |
Merchant's iDEAL account
Prerequisites
In order to use the iDEAL payment method on Mercanet platform, the merchant must
- have a bank account with a bank that accepts iDEAL
- (List available at )
- have signed an iDEAL acceptance contract with their bank
- have signed a proxy agreement authorising BNP Paribas to perform refunds
Identifiers for the iDEAL contract
You must send to BNP Paribas your iDEAL ID in order that Mercanet may complete payments and transfers on your account.
Proxy agreement
In order to provide refunds, the merchant must sign a proxy agreement to authorise Mercanet to make transfers on your behalf from your bank account. This proxy agreement must be signed by a member of Mercanet support, by your bank and by yourself. Each signatory keeps a copy.
Appendices
Acquirer response codes
Response codes returned by the iDEAL server
Code |
Description |
---|---|
00 |
Transaction approved or processed successfully |
03 |
Non-existent/invalid iDEAL contract |
12 |
Invalid request |
17 |
Transaction cancelled by the Internet user |
25 |
Non-existent transaction |
30 |
Format error |
60 |
Transaction processing |
63 |
Security error |
90 |
Service temporarily unavailable |
97 |
Transaction expired |
Mercanet response codes
transaction creation
Code |
Description |
---|---|
00 |
Transaction approved or processed successfully |
03 |
Non-existent/invalid iDEAL contract |
05 |
Transaction refused |
12 |
Invalid request |
17 |
Transaction cancelled by the Internet user |
30 |
Format error |
60 |
Transaction processing |
63 |
Security error |
90 |
Service temporarily unavailable |
94 |
Duplicated transaction: the transactionReference has been used previously |
97 |
Transaction expired |
99 |
Temporary problem at the Sips server level |
cash management
Refund only
Code |
Description |
---|---|
00 |
Successful operation |
03 |
Merchant configuration error |
24 |
The operation is not allowed with the current transaction status |
25 |
Transaction not found on Sips system |
30 |
Invalid input data |
40 |
Insufficient right or option to perform the operation |
51 |
Refundable amount exceeded |
90 |
Temporary technical error on acquirer server |
99 |
Global technical error |