This chapter contains guides on how to use Billing Requests and the associated Billing Request Flows.

What are Billing Requests?

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:

  1. Setting up a DD mandate
  2. Taking an Instant Bank Payment
  3. 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.

Guides

To help people make the most of Billing Requests, we have a number of guides that can help you get started.

Billing Request Actions

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.

Anatomy of a Billing Request Flow

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.

Using Javascript Dropin

This guide shows how to use the Javascript Dropin to allow customers to complete the Billing Request Flow without leaving the integrator’s site.

Taking an Instant Bank Payment

This guide shows how to take an instant bank payment with Billing Requests, sending the customer through a GoCardless hosted Billing Request Flow to fulfil the request.

Creating a DD mandate

This guide shows how to create a Direct Debit mandate with Billing Requests, sending the customer through a GoCardless hosted Billing Request Flow to fulfil the request.

Instant First Payment with DD mandate

This guide shows how to create a Billing Request for a new customer that will take a first payment alongside setup of a Direct Debit mandate, using the GoCardless hosted Billing Request Flow.

This use case is particularly relevant for subscription checkout flows.

Creating Verified Mandates

This guide shows how to create a Verified Mandate by creating a Billing Request which opts-into customer bank account verification, and sending the customer through a GoCardless hosted Billing Request Flow to complete the verification.

By verifying the customer has access to the bank account the Direct Debit mandate will be created against, you can protect yourself against fradulent payers.

Pre-filling customer details

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.

Responding to Billing Request events

This guide explains the events associated with a Billing Request’s lifecycle, and how you can use webhooks to respond to changes.