Use automatic_payment_methods on a Stripe PaymentIntent to dynamically include BNPL methods (Klarna, Afterpay, Affirm) alongside cards without listing each method explicitly
POST /v1/payment_intents with automatic_payment_methods={enabled: true} instead of specifying payment_method_types; Stripe returns all payment methods enabled for your account and the transaction's currency and country
Ensure Klarna, Afterpay, and Affirm are enabled in your Stripe Dashboard under Settings > Payment Methods; only enabled methods are surfaced through automatic_payment_methods
Use Stripe.js and the Payment Element client-side; the Payment Element automatically presents eligible BNPL options to the customer based on their country and the cart amount
Handle the next_action redirect generically via Stripe.js confirmPayment with redirect='if_required'; the SDK manages redirect vs. card flow automatically
After redirect return, use stripe.retrievePaymentIntent(clientSecret) client-side or GET /v1/payment_intents/<id> server-side to confirm final status
Known gotchas
automatic_payment_methods and payment_method_types are mutually exclusive; do not include both in the same PaymentIntent creation request
BNPL methods are only presented when the transaction amount and currency are within the method's supported range; below-minimum amounts silently suppress BNPL options in the Payment Element
If you use automatic_payment_methods with allow_redirects=never, redirect-based BNPL methods like Klarna and Afterpay will not be presented; do not set allow_redirects=never when you want BNPL
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp