iDEAL is the most popular online payment method in the Netherlands (in Euros) and is supported by the major Dutch banks. iDEAL is facilitated by mobile banking applications and online banking platforms. When your shopper chooses iDEAL as their payment method at checkout, they are redirected to their online banking portal to authenticate and authorize the transaction.
Requirements
Reach out to BlueSnap Merchant Support to enable this payment method.
Transaction Processing
These steps provide an overview of how to process an iDEAL transaction with the Payment API:
- Develop a page that collects personal shopper information and lets them select iDEAL as the payment method. See payerInfo for a description of all personal details that you need to collect.
- From your server, send BlueSnap a request to create an iDEAL transaction. This request requires an idealTransaction object, which requires a
returnUrl
where the shopper is redirected after they complete their purchase.
If you have the shopper's preferred bank stored, you can optionally send the bank code (BIC) in the request as theissuerId
. However, you must also give the shopper the option to process the transaction with a different bank. If the shopper wants to use a different bank, do not send the BIC in theissuerId
so the shopper can select a bank on the iDEAL payment page in a later step. - The response to your request includes an
idealUrl
, which is a link to the iDEAL payment page where the shopper can complete their purchase by either selecting a bank or scanning a QR code.Note
If you sent the shopper's BIC in the create iDEAL transaction request, then the
idealUrl
sends the shopper directly to their preferred bank's online portal. - After the shopper authenticates to their online banking portal, they have 30 minutes to complete the transaction, or the transaction is declined.
- When the shopper completes the purchase, they are redirected to the
returnUrl
that you sent in the Create iDEAL Transaction request. BlueSnap appends the transaction results to this URL using query string parameters.
Retrieving Available Banks
You can request a list of available banks from BlueSnap and show them to the shopper from your website. This lets you consolidate steps and reduce checkout friction. Otherwise, the shopper must select the bank as a separate step later in the checkout process.
For a full list of available banks, refer to the iDEAL documentation.
To retrieve the available banks, follow these steps:
- Send a Retrieve Bank Details request from your server. The response from BlueSnap includes a bankDirectory object, which contains an
issuersInfo
object that stores an array of bank objects. Each bank object includes the bank code (BIC) as theissuerId
and the bank's name as theissuerName
. - Display the available bank names in your web page.
- When the shopper selects their bank, associate the bank with its
issuerId
. This value is required when you create the iDEAL transaction. - Send a Create iDEAL Transaction request, and include the
issuerId
associated with the bank that the shopper selected.
Response URL Query String Parameters
Before you redirect your shopper to the returnUrl
, BlueSnap appends the transaction results to the query string with the following parameters:
Parameter Name | Type | Description |
---|---|---|
STATUS | string | Transaction status. Possible values: - SUCCESS - FAIL - PENDING |
TRANSACTION-ID | string | Unique identifier that BlueSnap assigns to the approved transaction. Only returned if STATUS is SUCCESS |
Sandbox Testing
BlueSnap provides the iDEAL Bank Simulator Test Page so you can use our sandbox environment to test how your website responds to different transaction outcomes.
Instead of redirecting the shopper to their online banking portal to complete the payment, the iDEAL Bank Simulator Test Page displays a web page with test simulation options. Select one of these options to test the corresponding iDEAL transaction outcome:

The following table describes each test scenario:
Scenario | Description |
---|---|
Success | Payment succeeds immediately. The transaction status is set to APPROVED , and the shopper is redirected to the returnUrl .Refund requests are always approved so you can test your refund workflows. |
Success (Delayed) | The transaction status is set to PENDING for approximately 10 minutes, and then it is set to APPROVED .Refund requests are always approved so you can test your refund workflows. |
Failure | Payment fails immediately. The transaction status is set to REJECTED , and the shopper is redirected to the returnUrl . |