Skip to main content
Accept payments from customers using iDEAL, the most widely used online payment method in the Netherlands. Customers authorise the charge directly through their own bank’s environment — no card details required.
This payment method only supports one-time (non-recurring) payments. It is available for EUR transactions to customers with a Dutch bank account.

Payment flow

Several steps occur between collecting the customer’s billing details and completing the charge.
We’ll proceed assuming you’ve already set up a customer order. If you need to create one, you’ll find the steps here.
After creating the order, follow these steps to complete the iDEAL charge.
  1. Collect the customer’s billing information.
  2. Encrypt sensitive data within your request.
  3. Redirect the customer to their bank’s iDEAL authorisation page.
  4. Confirm the payment and inform the customer of its outcome.

iDEAL Customer Information

Present the customer with a form to gather their billing details. These are required to initiate the transaction: Combine the billing data, order reference, and paymentoption. Encrypt the request before sending it to the pay order endpoint.
Upon receiving your request, we will return a successful response containing a redirect URL for the customer’s bank iDEAL authorisation page.
200 OK

Authorising the Payment

Redirect the customer to the paymentDetail.redirectUrl. This takes them to their own bank’s iDEAL environment, where they select their bank (if not already implied by the redirect), log in, and confirm the payment amount. The customer approves or cancels the payment directly within their banking app or online banking session, then is redirected back to complete the checkout flow. Once the customer responds, EPayClub is notified of the outcome. You will receive a webhook containing the final transaction status regardless of whether the payment was approved or declined.

Verifying the Payment

Read the transaction verification section to learn how to verify your iDEAL transactions.

Testing your integration

Kindly contact the support team to enable iDEAL testing on your account.
iDEAL does not have a dedicated sandbox environment. All test transactions are processed against the live iDEAL network using live test credentials provided by the support team — use small amounts when testing.
Follow these guidelines to successfully test your iDEAL integration:
  1. Use a EUR order currency — iDEAL is only available for EUR transactions.
  2. Provide a complete billing address — street, city, state, country, and zipCode are all required; the charge will be rejected as invalid if any are missing.
  3. Set card.billingAddress.country to NL in your pay order request.