iDEAL
iDEAL transactions can be processed via the Saferpay JSON API. However, as iDEAL is a third party provider, there are a few things to consider.
The handling of iDeal payments with Saferpay requires:
- The corresponding Saferpay eCommerce licence and thus the existence of a valid identification with a username and password for the Saferpay system.
- Availability of at least one active Saferpay terminal via which payment can be carried out, and availability of the associated Saferpay TerminalId.
- A valid iDEAL merchant account.
For iDeal activation on the Saferpay terminal, please contact your sales contact.
Feature | Support |
Capture/Cancel | ❌ |
Multipart Captures | ❌ |
Batch Close | ❌ |
Secure Card Data | ❌ |
Refunds | |
Recurring Payments | ❌ |
3D Secure | ❌ |
Dynamic Currency Conversion (DCC) | ❌ |
Mail Phone Order | ❌ |
✅ | |
Omni-Channel | ❌ |
The general integration of iDEAL can only be done via the Payment Page and requires the following things to be noted:
- The notification URLs, inside the
Notification
conatiner are mandatory, in order to avoid missing payment successes. See the Payment Page process for further information.
Furthermore, for other flows (Refunds etc.), please refer to the table above.
Due to special technical restrictions of the iDEAL platform, you have to be very careful using it in time-sensitive scenarios.
iDEAL transactions usually are finished within the Saferpay Payment Page timeout of 20 minutes. However, due to processing limitations, iDEAL response times can be way higher than this time frame. So if your session runs into a timeout during this window, it could be that the transaction is successful, even though your system does not recognize it as such!
We generally recommend setting the timeout to 35 minutes, however the processing can take up to 12 hours on iDEAL-side!
If you are running a time sensitive process, that requires your session to be lower than this time frame, we recommend not using iDEAL!
We highly recommend using the NotifyUrls for the Saferpay Payment Page, which will be called, once Saferpay gets a successful response from iDEAL. This way your shop does get the necessary information in case of a success, even after 12 hours, and can initiate further processing.
In the case, that Saferpay does not recieve a response in due time, Saferpay will display a failure-message and call the Fail NotifyUrl! You can then call the Payment Page Assert, to get the result.
The user however won't be redirected back to the merchant shop.
Should this transaction be pending, due to a prolonged processing, Saferpay will throw a
"
TRANSACTION_IN_WRONG_STATE
"
- "Transaction still in progress or abandoned by the payer." error message, indicating, that the processing is still ongoing! The Success NotifyUrl
(see above) will then notify you about a successful payment, if possible and you can then use the Payment Page Assert as usual, to get the transaction details. Could the NotifyUrl not be recieved until your session timeout, you can also call the Payment Page Assert proactively.You may want to implement the Bank selection for iDEAL payments into your shop, or just pre-select the bank for your customer, so they do not have to. Saferpay offers an option to skip the selection page and jump right to your customer's online banking site, so he/she may perform the payment.
This feature is only available with SpecVersion 1.15 and up!
In order to pre-select the bank, you have to set the parameter PaymentMethods to the value IDEAL. you then have set the parameter PaymentMethodsOptions.Ideal.IssuerId to one of the following values, depending on which bank you want to pre-select:
These Values are issued by iDeal and might change anytime. Further information may be acquired over here.
Last update: 20.01.2021
Bank | Value |
ABN AMRO | ABNANL2A |
ASN Bank | ASNBNL21 |
bunq | BUNQNL2A |
ING | INGBNL2A |
Knab | KNABNL2H |
Rabobank | RABONL2U |
RegioBank | RBRBNL21 |
Revolut | REVOLT21 |
SNS | SNSBNL2A |
Triodos Bank | TRIONL2U |
Van Lanschot | FVLBNL22 |
Yoursafe B.V. (formerly: Bitsafe) | BITSNL2A |
Last modified 5mo ago