SkillByAIOpen interactive version →

Lesson 12 / 25

Local and Dynamic Payment Methods

Wallets, bank debits and region-specific methods.

Let Stripe pick the right methods

Customers often prefer local methods: wallets such as Apple Pay and Google Pay, bank debits such as SEPA Direct Debit in Europe or ACH Direct Debit in the US, bank redirects such as iDEAL, and real-time methods such as UPI in India. Availability depends on your account country, currency and Stripe's current support, so check the docs. With dynamic payment methods you enable methods in the Dashboard and create PaymentIntents or Checkout Sessions without hard-coding payment_method_types; Stripe then shows the eligible methods for each customer's location, currency and amount. Some methods are delayed: the PaymentIntent sits in processing and the final result arrives later by webhook.

Dynamic versus hard-coded methods

Prefer the first form.

// dynamic: methods come from your Dashboard settings and eligibility rules
await stripe.paymentIntents.create({
  amount: 1999,
  currency: 'eur',
  automatic_payment_methods: { enabled: true },
});

// hard-coded: only the listed types are offered (needs code changes to add more)
await stripe.paymentIntents.create({
  amount: 1999,
  currency: 'eur',
  payment_method_types: ['card', 'sepa_debit'],
});

Plan for delayed results

For bank debits, ship or grant access only after payment_intent.succeeded, and handle payment_intent.payment_failed, which can arrive days later.

Quick check: What is the main benefit of dynamic payment methods?

  • Card data is stored on your server
  • Eligible methods are shown per customer without changing code
  • Payments never need webhooks
  • Fees are waived for local methods
Answer

Eligible methods are shown per customer without changing code — Methods are managed in the Dashboard and filtered by eligibility.