Set up a GoCardless bank debit mandate and collect a payment via ACH, SEPA, or BACS

domain: gocardless · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Create a Customer and CustomerBankAccount, or use a Redirect Flow (POST /redirect_flows) to collect bank details from the customer via GoCardless's hosted page — this is the recommended approach as it handles local mandate language (SEPA mandate, BACS DDI, ACH authorization).
  2. Complete the redirect flow after the customer returns: POST /redirect_flows/{id}/actions/complete with 'session_token'; the response contains a Mandate ID.
  3. Verify the mandate status by listening for the 'mandates.active' webhook event — do not attempt to collect payments against a mandate in 'pending_submission' state.
  4. Create a Payment against the active mandate: POST /payments with 'amount' in minor units, 'currency', 'links.mandate', and 'charge_date' (optional; defaults to the earliest possible collection date respecting the scheme's notice period).
  5. Listen for webhook events on the payment: 'payments.submitted' (sent to bank), 'payments.paid_out' (funds received by you), 'payments.failed' (bank rejection), and 'payments.charged_back' (customer dispute).
  6. For failed payments, check 'cause' on the event to distinguish insufficient funds (can retry after notice period) from mandate cancelled (must re-authorise the customer).

Known gotchas

Related routes

Set up a BACS Direct Debit mandate via GoCardless and handle the submission timing windows
developer.gocardless.com · 6 steps · unrated
Create a Stripe ACH Direct Debit PaymentIntent with us_bank_account and mandate
stripe.com · 6 steps · unrated
Set up a SEPA Direct Debit mandate via Stripe and manage the recurring payment lifecycle
docs.stripe.com · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans