Introduction

iDEAL is one of the most used online payment methods in the Netherlands, allowing consumers to pay with their online banking account.

After your store has been configured to support iDEAL, the iDEAL button appears in your checkout page as a new payment method. By clicking on this button, a Sale transaction request will be constructed and sent to our Gateway. Then your customers will be redirected to our hosted checkout page, where the iDEAL processing happens.

Later, after being redirected to the iDEAL login page, your end-customers may proceed with a payment completion.

Preselected Payment Method

In case you wish to skip a payment method selection page and you wish your customer to be redirected to the iDEAL, you can include the parameter preSelectedPaymentMethodpopulated with the value "Ideal" in your request as shown on the example below.

{
    "storeId": "2338102919",
    "transactionOrigin": "ECOM",
    "transactionType": "SALE",
    "transactionAmount": {
        "total": 26,
        "currency": "EUR",
        "components": {
            "subtotal": 26,
            "vatAmount": 0,
            "shipping": 0
        }
    },
    "checkoutSettings": {
        "redirectBackUrls": {
            "successUrl": "https://httpbin.org/anything/success?time={{$timestamp}}",
            "failureUrl": "https://httpbin.org/anything/failure?time={{$timestamp}}"
        },
        "preSelectedPaymentMethod": "Ideal"
    }
}

Fast Checkout

Provides a fast and secure checkout experience for consumers with iDEAL profile, in case your account has been configured for Fast Checkout.

The following JSON documents represent the examples of the API request and response while submitting flow type = Fast Checkout.

{
    "storeId": "2338102919",
    "transactionOrigin": "ECOM",
    "transactionType": "SALE",
    "transactionAmount": {
        "total": 26,
        "currency": "EUR",
        "components": {
            "subtotal": 26,
            "vatAmount": 0,
            "shipping": 0
        }
    },
    "checkoutSettings": {
        "redirectBackUrls": {
            "successUrl": "https://httpbin.org/anything/success?time={{$timestamp}}",
            "failureUrl": "https://httpbin.org/anything/failure?time={{$timestamp}}"
        },
        "preSelectedPaymentMethod": "Ideal"
    },
    "paymentMethodDetails": {
        "ideal": {
            "flowType": "FastCheckout"
        }
    } 
}
{
    "checkoutId": "769f286e-a843-4d6b-b983-27ff6714d098",
    "shortCheckoutId": "dp8obq",
    "orderId": "100000024326",
    "storeId": "2338102919",
    "paymentPageAccess": {
        "paymentPageUrl": "https://paymentpage.example.com/url",
        "expiryDateTime": "2025-01-28T14:37:02+01:00"
    }
}

The following table provides an overview of all parameters relevant for iDEAL transaction processing.

Field NameTypeDescription
storeIdMandatoryRepresents unique identification of your account in our Gateway system.
preSelectedPaymentMethodOptionalMust be Ideal
flowTypeConditional Flow type represents the difference between a standard iDEAL flow and Fast Checkout flow; available values:
Standard
FastCheckout
In case no value is provided or no paymentMethodDetailsobject is included, a default value Standard is applied
transactionAmount.totalMandatoryThe total amount of the transaction, e. g. 12.34
Represents the sum of components.shipping and components.subtotal for FastCheckout to work properly
transactionAmount.currencyMandatoryRepresents the numeric ISO code of the transaction currency, e.g. 978 for EUR, other currencies respectively.
customerIdConditionalRepresents your customer's identification number.
For iDeal transactions the customer ID will be displayed on client's bank account statement, if provided in the message.
When provided, the Customer ID will also trigger iDEAL Debtor Token feature.
redirectBackUrls.failureUrlMandatoryThe URL where you wish to direct customers after a declined or unsuccessful transaction.
The value needs to be identical to successUrl
redirectBackUrls.successUrlMandatoryThe URL where you wish to direct customers after a successful transaction.
The value needs to be identical to failureUrl

Want a quick overview?