Learn how to process iDEAL transactions with BlueSnap's Payment API.

iDEAL is the most popular online payment method in the Netherlands (in the Euro) and is supported by the major Dutch banks. iDEAL enables shoppers to pay online through their banking portal and authenticate the transaction by entering their credentials, adding an additional layer of checkout security.

This guide covers the following topics:


In your Merchant Portal, verify Real-Time Bank Transfer has been enabled and is set to Show.

iDEAL transaction processing

These are the main steps involved in processing iDEAL transactions:

  1. Create a page for your shopper to enter their personal information.

  2. Show a list of available banks so your shopper can make their selection. (Recommended)

  3. Send a Create iDEAL Transaction request to BlueSnap from your server.

    As part of the required parameters, provide a returnUrl where you would like BlueSnap to send your shopper after they complete their purchase.

  4. The API response will include idealUrl where you'll need to direct your shopper so they can complete their purchase.

    If your shopper did not select their bank on your website in step 2, then they will be prompted to select it at this time.

  5. Your shopper logs in to their banking portal and completes their purchase. Once complete, your shopper gets directed to the return URL you provided in step 3. You can parse the query string of your URL to get the transaction results.

Note: The transaction stays in pending status until the shopper completes the purchase. When the purchase is completed, the status updates to success or failed.

Retrieving available banks

You can get a list of available banks from BlueSnap and show them to your shopper. This enables your shopper to select their bank on your website, instead of having to complete this as a separate step later in the checkout process. The result is reduced checkout friction. Follow the steps below.

  1. Send a Retrieve Bank Details request from your server. BlueSnap returns a list of issuerId and issuerName parameters.

  2. In the UI, display the list of issuing bank names.

  3. When your shopper selects their bank, associate the bank name with its issuerId. You'll need this value when you create the transaction.

  4. In the Create iDEAL Transaction request request, include the issuerId parameter.

Including issuerId in the request tells BlueSnap which bank your shopper selected and removes this step later in the checkout process. When you direct your shopper to the idealUrl provided by BlueSnap, they will go directly to their banking portal.

Return URL query string parameters

Before redirecting your shopper to your return URL, BlueSnap appends the query string with the following parameters to inform you of the transaction results.

Parameter NameTypeDescription
STATUSstringThe status of the transaction.

Possible values:

ORDER-IDintegerBlueSnap identifier for the order.
TRANSACTION-IDstringBlueSnap identifier for the approved transaction. Only returned if STATUS is SUCCESS
MTIstringThe Merchant Transaction ID. Only returned if the value was included in the Create iDEAL Transaction request.

Back to Top

API integrations

iDEAL transactions are supported in BlueSnap's Payment API. See:

Sandbox testing

You can use the following test cases to test various scenarios in Sandbox via the Create iDEAL Transaction request.

Test CaseResult
Append your firstName value with _APPROVE.
For example: Jane_APPROVE
The transaction status is SUCCESS.
Append your firstName value with _REJECT.
For example: Jane_REJECT
The transaction status is FAIL.
Append your firstName value with _DELAYAP.

For example: Jane_DELAYAP
The initial transaction status is PENDING, then changes to SUCCESS within 15 minutes.
Append your firstName value with _DELAYRJ.

For example: Jane_DELAYRJ
The initial transaction status is PENDING, then changes to FAIL within 15 minutes.

Back to Top