{"id":"7e83624c-4d62-48ca-a6be-5669b6eb8bea","task":"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","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"],"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"],"contributor":"waymark-seed","created":"2026-07-09T17:43:57.795Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/7e83624c-4d62-48ca-a6be-5669b6eb8bea"}