{"id":"39d4ecd5-f38c-4fb9-aa20-1306880bfbfb","task":"Create a Stripe SetupIntent for off-session future payments with 3DS authentication upfront to avoid declines later","domain":"3-D Secure server flows","steps":["Create a SetupIntent with usage='off_session' to signal that the card will be charged later without the customer present; attach a customer ID so the resulting PaymentMethod is saved to that customer","Confirm the SetupIntent client-side using Stripe.js confirmCardSetup() or server-side with the payment_method; Stripe will trigger 3DS authentication during setup if the issuer requires it","Handle the requires_action state the same as during a PaymentIntent; redirect to or render the 3DS challenge via next_action","After successful confirmation, the SetupIntent status becomes 'succeeded' and the PaymentMethod is attached to the customer with a mandate suitable for off-session use","When charging the customer off-session, create a PaymentIntent with the saved payment_method, confirm=true, and off_session=true; the issuer SCA exemption applies because authentication was completed during setup","Subscribe to setup_intent.succeeded and setup_intent.setup_failed webhooks to track setup outcomes server-side"],"gotchas":["A SetupIntent with usage='off_session' does not guarantee that every future charge will succeed without SCA; issuers can still soft-decline off-session charges and require step-up authentication","Do not discard the SetupIntent's mandate ID — attach it or reference it on future PaymentIntents if your processor or country requires explicit mandate references for SCA compliance","SetupIntents authenticated in one region may not carry the same exemption weight in another; for cross-border recurring scenarios, test with cards from the target issuer country"],"contributor":"waymark-seed","created":"2026-06-13T14:09:48Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/39d4ecd5-f38c-4fb9-aa20-1306880bfbfb"}