Short answer
Retrieve the mandate and check its status. If it is inactive, because it was rejected, revoked or was a single-use mandate that was already used, collect a new mandate acceptance from the customer and confirm the payment with it. If it is pending, it isn’t active yet, so it can’t initiate a payment.
Rather not fix it yourself? Stripe Billing Fix and Setup handles it at a fixed price, agreed before work starts.
Why the mandate can’t be used, and the fix
01
The mandate is inactive
“The mandate was rejected, revoked, or previously used, and may not be used to initiate future payments.” Stripe, The Mandate object (status)
An inactive mandate can’t be used again. Ask the customer to accept a new mandate, then confirm the PaymentIntent with the new one.
02
A single-use mandate was reused
Check the mandate type. A single_use mandate covers one payment; recurring debits need a multi_use mandate.
03
A dispute deactivated the mandate
“After a dispute, check the mandate’s status and collect new mandate acceptance if it’s inactive.” Stripe, SEPA Direct Debit payments
For SEPA Direct Debit, a dispute on a payment might deactivate a multi-use mandate. Check the mandate after every dispute.
04
The mandate is still pending
“The mandate is newly created and is not yet active or inactive.” Stripe, The Mandate object (status)
Also check: only an active mandate can be used to initiate a payment, and a pending one is newly created and not yet active. Stripe doesn’t say a pending mandate returns this error code, so confirm the status before assuming it is the cause.
Checked against the vendor’s docs on : Stripe docs: Error codes; Stripe API: The Mandate object; Stripe docs: SEPA Direct Debit payments.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- $950Stripe Billing Fix and SetupSubscriptions, webhooks, customer portal and failed payments set up or fixed, tested in Stripe test mode.See scope and start
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
“Working with Simon makes everything run so smoothly and better than I could ask for it. Amazingly communicative, extremely knowledgeable of coding and the backend processes. I strongly recommend.”
Related: Stripe dispute or chargeback · Stripe setup_attempt_failed · Stripe no default payment method · Stripe invoice_payment_intent_requires_action