Set up a GoCardless mandate and payment end-to-end using the Billing Requests API and a hosted Billing Request Flow
domain: developer.gocardless.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
POST /billing_requests with a mandate_request object specifying at least a currency (GoCardless recommends omitting scheme and letting it pick the best scheme for that currency, e.g. bacs for GBP or ach for USD) to define what authorization you're requesting
Optionally include a payment_request alongside the mandate_request in the same billing request to collect an initial payment together with mandate setup
POST /billing_request_flows with links.billing_request set to the billing request's ID to generate a GoCardless-hosted collection page; the response returns an authorisation_url
Redirect the customer to authorisation_url (or embed it via the JS Drop-in) to complete identity/bank verification and authorize the mandate
After the customer completes the flow, fetch the billing request and check its status to confirm fulfilment (creation of the underlying Mandate, and Payment if one was requested) rather than assuming the redirect alone means success
Known gotchas
The Billing Requests API is the current recommended way to set up mandates and is a materially different resource model from directly creating Customers/Mandates — the two flows aren't interchangeable within the same integration
Setting a verify level on the mandate_request can trigger additional verification steps beyond what your UI initiated, so reaching your redirect success URL doesn't guarantee the mandate is fully authorized
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?