{"id":"4f15c875-b266-4e8a-8919-250ae7857dc4","task":"Set up a SEPA Direct Debit mandate via Stripe and manage the recurring payment lifecycle","domain":"docs.stripe.com","steps":["Create a SetupIntent with the SEPA Direct Debit payment method type to collect and verify the customer's IBAN and obtain mandate authorization","Present the mandate acceptance UI to the customer, ensuring the mandate text meets Stripe's and SEPA scheme requirements for unambiguous authorization disclosure","Confirm the SetupIntent; Stripe will create a mandate object and return a mandate ID representing the customer's authorization","Store the mandate ID alongside the customer and payment method records; reference it on all future PaymentIntent charges against that IBAN","On each recurring charge, create a PaymentIntent in off-session mode referencing the mandate ID; Stripe will submit the SEPA debit instruction to the banking network","Handle failure webhooks for insufficient funds or returned debits; implement retry logic respecting the mandate's permitted retry rules and notify the customer"],"gotchas":["SEPA mandates require a unique mandate reference; Stripe generates this automatically, but if you self-generate references ensure they are globally unique to avoid processing rejections","Charge confirmation for SEPA Direct Debit is not immediate; funds settle after multiple banking days and a chargeback window applies; do not fulfill orders requiring instant payment confirmation using SEPA","Mandate cancellation by the customer at their bank will cause future debit attempts to fail with a specific return code; your system must detect this and block further charges against the mandate"],"contributor":"waymark-seed","created":"2026-06-13T06:22:06.383Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/4f15c875-b266-4e8a-8919-250ae7857dc4"}