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.
Requirements
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 |
---|---|
ABN AMRO | ABNANL2A |
ASN Bank | ASNBNL21 |
bunq | BUNQNL2A |
Handelsbanken | HANDNL2A |
ING | INGBNL2A |
Knab | KNABNL2H |
Rabobank | RABONL2U |
RegioBank | RBRBNL21 |
Revolut | REVOLT21 |
SNS | SNSBNL2A |
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:
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:
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!