Skip to main content

How to Accept Payments With iDEAL Through Stripe

Written by Cathy Yap

To accept iDEAL payments through Stripe, you need to enable the payment method in your dashboard and ensure your integration supports bank redirects. iDEAL is the most popular payment method in the Netherlands and is currently transitioning to become part of the Wero wallet.

šŸ“£Prerequisites & Setup

Before you can process iDEAL transactions, you must configure your Stripe account:

🌐Integration Methods

There are two primary ways to integrate iDEAL depending on your technical setup:

Option A: Stripe Checkout (Recommended)

This is the fastest way to launch. Stripe hosts the payment page and automatically displays iDEAL to eligible customers.

  1. Create a Checkout Session on your server.

  2. Ensure the currency is set to eur.

  3. If you use Dynamic Payment Methods (enabled by default), iDEAL will appear automatically if it's turned on in your dashboard.

Option B: Stripe Payment Element

If you are using a custom checkout flow (like the one mentioned in your internal Stripe Automatic Payment Methods documentation), you should use the Payment Element.

  1. Create a PaymentIntent: Set the currency to eur and include ideal in the payment_method_types (or use automatic_payment_methods).

  2. Initialize Elements: Pass the client_secret to your frontend.

  3. Mount the Element: The Payment Element will handle the bank selection dropdown for the guest.

  4. Confirm Payment: Call stripe.confirmPayment(). This will redirect the guest to their bank's website or app to authorize the transfer.

šŸ’³ Handling Recurring Payments

iDEAL is a single-use payment method. If you need to set up subscriptions or recurring charges:

  • iDEAL to SEPA: Stripe allows you to collect the guest's bank details via an initial iDEAL payment and then automatically transition to SEPA Direct Debit for future recurring charges.

  • Mandates: During the first checkout, the guest authorizes a mandate that allows you to pull future payments directly from their bank account.

šŸ’”Key Features & Testing

  • Refunds: You can issue full or partial refunds for up to 180 days after the original payment.

  • No Disputes: Because guests must authenticate with their bank, there is no dispute process for iDEAL payments.

  • Testing: Use your Stripe test API keys. When you select a bank in the test environment, you will be redirected to a page where you can simulate a successful or failed authorization.

Did this answer your question?