iDEAL

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:

  1. 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.
  2. 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 the issuerId. 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 the issuerId so the shopper can select a bank on the iDEAL payment page in a later step.
  3. 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.

  4. After the shopper authenticates to their online banking portal, they have 30 minutes to complete the transaction, or the transaction is declined.
  5. 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:

  1. 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 the issuerId and the bank's name as the issuerName.
  2. Display the available bank names in your web page.
  3. When the shopper selects their bank, associate the bank with its issuerId. This value is required when you create the iDEAL transaction.
  4. 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 NameTypeDescription
STATUSstringTransaction status. Possible values:

- SUCCESS
- FAIL
- PENDING
TRANSACTION-IDstringUnique 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:

ScenarioDescription
SuccessPayment 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.
FailurePayment fails immediately. The transaction status is set to REJECTED, and the shopper is redirected to the returnUrl.