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.
  • iDeal is only available via the PaymentPage flow.
  • NotifyUrl: The NotifyUrl is mandatory, in order to avoid missing payment successes. See the Payment Page process for further information.

For iDeal activation on the Saferpay terminal, please contact your sales contact.

Session Timeouts

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!

Furthermore, we highly recommend using the NotifyUrl 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.

VERY IMPORTANT: In the case, that Saferpay does not recieve a response in due time, Saferpay will display a failure-message and will redirect the customer to the FailUrl! You can then call the Payment Page Assert, to get the result. 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 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! Should the NotifyUrl not be executed until your session timeout, you can also call the Payment Page Assert proactively.

Bank Pre-Selection

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

Test Environment Values

Bank Value
Test Bank 1 0091
Test Bank 2 0092

Production Values

Bank Value
Handelsbanken HANDNL2A
Rabobank RABONL2U
RegioBank RBRBNL21
Revolut REVOLT21
Triodos Bank TRIONL2U
Van Lanschot FVLBNL22

SEPA manual Refunds for iDeal

Saferpay does offer the possibility to accept refunds for certain SEPA-based payment methods. However those need special attention. SEPA does not directly offer refunds. Due to this, Saferpay offers a workaround, to make manual SEPA refunds easier for the merchant.

Step 1: Activation

Before you can start accepting refunds, they need to be activated inside the Saferpay Backoffice: alt text

Step 2: Executing refunds

Once the activation has been done, you can execute refunds, like any other payment method. Either via API, or within the Saferpay Backoffice.

Step 3: Uploading the refunds into your online-banking

Here, SEPA refunds deviate from other payment methods, like credit cards.

As mentioned before, SEPA does not offer direct refunds via the processing itself. This is why Saferpay first collects all executed refunds inside the backoffice: alt text

These refunds need then to be exported into a special XML file, which can be done right there inside the Backoffice. The created XML file can then be uploaded into your online banking-portal, which executes these refunds in a batch.

You can download an example file here.

It may be necessary to contact your bank, for this feature to be activated. Some banks may not offer this service at all.

SEPA refund files from the test environment can't be uploaded into online-banking portals, since they only contain test data, thus non-valid IBANs!

Back to Top