Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Use iDEAL


Use iDEAL | Wero to set up future the related setting Direct Debit payments

Caution

We recommend that you follow the Set up future payments guide. If you’ve already integrated with Elements, see the Payment Element migration guide.

iDEAL | Wero (formerly iDEAL) is a single use payment method where customers are required to authenticate each payment. With this integration, Stripe charges your customer 0.01 EUR through iDEAL | Wero to collect their bank details. After your customer authenticates the payment, Stripe refunds the payment and stores your customer’s the related setting in a the related setting Direct Debit payment method. You can then use the the related setting Direct Debit PaymentMethod to accept payments or set up a subscription.

To use iDEAL | Wero to set up the related setting Direct Debit payments, you must activate the related setting Direct Debit in the Dashboard. You must also comply with the iDEAL Terms of Service and the related setting Direct Debit Terms of Service.

Checkout

Elements

Mobile

You can use Checkout in setup mode to collect payment details and set up future the related setting Direct Debit payments using iDEAL | Wero.

Create or retrieve a customer Server-side

To set up future the related setting Direct Debit payments using iDEAL | Wero, you must attach the the related setting Direct Debit payment method to an object that represents your customer.

Use the Accounts v2 API to represent customers

The Accounts v2 API is generally available for Connect users, and in public preview for other Stripe users. If you’re part of the Accounts v2 preview, you need to specify a preview version in your code.

To join the Accounts v2 preview, go to Account previews and features in your Dashboard and enable Reusable payment methods for Global Payouts.

For most use cases, we recommend modeling your customers as customer-configured Account objects instead of using Customer objects.

Create a customer-configured Account or Customer when your customer creates an account with your business, or when saving a payment method. Associate the object’s ID with your own internal representation of a customer.

Create a new customer or retrieve an existing one to associate with this payment.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Set up future payments

Enable iDEAL | Wero as a payment method

Enable iDEAL in your Dashboard. Stripe automatically displays iDEAL | Wero to eligible customers using dynamic payment methods. If you currently specify payment_method_types, see the migration guide.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

When the SetupIntent succeeds, Stripe generates a reusable the related setting Direct Debit payment method from the single-use iDEAL payment method. Retrieve the SetupIntent and expand the latest_attempt property to find the generated_sepa_debit ID.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

The the related setting Direct Debit payment method ID is the generated_sepa_debit ID under payment_method_details in the response. Store this ID to use for future payments.

{
 "id": "seti_1234567890",
 "object": "setup_intent",
 "latest_attempt": {
 "payment_method_details": {
 "ideal": {
 "bank": "ing",
 "bic": "INGBNL2A",
 "iban_last4": "****",
 "generated_sepa_debit": "pm_1GrddXGf98efjktuBIi3ag7aJQ",
 "generated_sepa_debit_mandate": "mandate_1GrddXGf98efjktuBIi3aKPl",
 "verified_name": "JENNY ROSEN"
 },
 "type": "ideal"
 },
 },
 "status": "succeeded"

Create a PaymentIntent with the the related setting Direct Debit ID and the customer’s ID.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Test your integration

Using your test API keys, select any bank from the list. After confirming, you’re redirected to a test page with options to authorize or fail the payment method setup.

  • Click Authorize test payment to test the case when the setup is successful.
  • Click Fail test payment to test the case when the customer fails to authenticate.

See also

Last verified 2026-09-24

Is this helpful?