Billing Requests help create resources that require input or action from a customer. An example of required input might be additional customer billing details, while an action would be asking a customer to authorise a payment using their mobile banking app.
There are three primary use cases for Billing Requests:
- Setting up a DD mandate
- Taking an Instant Bank Payment
- Combining (1) and (2) to take the first payment and also setup a DD mandate for subsequent payments
Integrators should create a Billing Request that specifies their desired outcome, picking one of the above use cases, then use the Billing Request Flow to create a checkout flow that takes their customers through the necessary setup.
The Billing Request Flow loads the Billing Request and attempts to complete all required Billing Request actions. Integrators who want to build custom flows may do so by completing most of the required actions, and using a Billing Request Flow to handle the remaining incomplete actions.
To help people make the most of Billing Requests, we have a number of guides that can help you get started.
This guide explains how to ‘complete’ each of the applicable actions that may be required as part of a Billing Request.
Only integrators who build their own payment pages should follow this guide. Anyone wishing to do so will need the custom payment pages upgrade enabled on their account.
Billing Request Flows provide a GoCardless hosted checkout flow that can fulfil Billing Requests, without integrators having to build their own flows.
This guide explores the hosted checkout flow available via Billing Request Flows. We breakdown the flow into the separate steps and explain how integrators can best use flows to complete their Billing Requests.
This use case is particularly relevant for subscription checkout flows.
This guide explains how to pre-fill customer details before entering a Billing Request Flow, and how to lock the details if you don’t want the customer to change them.
This guide explains the events associated with a Billing Request’s lifecycle, and how you can use webhooks to respond to changes.