Component showcase

What is a Billing Request

A Billing Request enables you to collect all types of GoCardless payments using the Billing Request Flow API. 
This includes both one-off and recurring payments from your new or existing customers.

Quick definitions:


  • Billing Requests API - supports all of the latest GoCardless payment features 


  • Billing Request Flows - provides a great experience for your customers when experiencing GoCardless payment features. 


  • GoCardless payment features - recurring payments (Bank Debit), instant payments (Instant Bank Pay) and our latest anti-fraud open banking features (Verified Mandates and Protect+).


  • Note - GoCardless also has other products and features that aim to solve payment pains which you can explore on our website.

The Billing Request Flow API allows you to create the payment journey options and features you wish to enable:

Taking instant payments

This feature is also known as Instant Bank Pay, which enables you to collect payment on the spot and get instant confirmation. This is ideal for individual charges for goods or services, account top-ups, and seamless invoice payments. Available for UK (GBP) and Germany (EURO) payments for now with more schemes coming soon (see more detail).

Creating mandates for future recurring payments

This can be done in two ways:


Integrate Direct Debit mandates (default format)

Collect customers' bank details and authorisation for collection of future recurring payments by Direct Debit. Available in all supported schemes. 


Integrate GoCardless Protect+ (anti-fraud open banking features)

GoCardless Protect+ uses payment intelligence and machine learning to risk score payers so that payers who attempt to create a mandate but exceed the risk score are sent to the Verified Mandates flow.

GoCardless Protect+ also reports on fraud levels and can be used to challenge fraudulent chargebacks in some schemes. 



All GoCardless Protect+ functionality can be managed by your GoCardless dashboard account. See if this is available for me.

What are Verified mandates?


Verified Mandates is a feature that reduces the chance of fraudulent customers by adding additional verification checks when the customers authorise their bank accounts within the GoCardless payment flow. Verified mandates can be enabled independently of Protect+ if you do not wish to enable Protect+. See if this is available for me.

Combining both one-off and recurring payments

Take a first-time payment whilst setting up a mandate for subsequent payments. First-time payments can be created either via the latest Instant Bank Pay feature via Direct Debit, both use the Billing Request Flow API.

Why use the Billing Request API?

We’ve made significant changes when releasing the Billing Request API which creates a much simpler integration experience. Here’s what’s changed:

Old API (prior to 2021)

New Billing Request API (2021 - )

If you were building an integration using the old API, you would have been required to complete a series of potentially complex and unguided API calls.

This resulted in a more complex way to combine multiple payment flows.

We have massively simplified the integration experience by:

Presenting the building blocks to a much more guided and streamlined payment flow by using the latest open banking technology.

Created an optimised payment flow for your customers to experience


Given you access to any new open banking-related features released in the future.


Note that Billing Request Flows can be hosted by GoCardless, or by using our drop-in solution. You will have access to the following features:


Scheduled, recurring payments - Bank Debt


Instant payments - Instant Bank Pay


Our latest anti-fraud open banking features - Verified Mandates, Protect+


Start integrating Billing Request API

Instant one-off payments

Collect a one time payment faster than the typical Direct Debit (6+ days) timeline.

View Docs
Creating Mandates

Collect customers' bank details for future payments. Verified Mandates feature performs extra checks to ensure customers are genuine.

First instant payment and mandate set up

Take a first-time instant payment (i.e joining fee) with a mandate set up for subsequent payments.

What’s next?

Take a one-off Instant bank payment

Get started

First instant payment with mandate Direct Debit set up

Collect Direct Debit Mandates

Collect Verified Mandates

Overview

GoCardless makes collecting bank payments easy.

Direct Debit is an automated payment method that allows you to pull payments from your customers’ bank accounts.

The GoCardless API is a wrapper around diverse national Direct Debit systems in the UK, Eurozone, Sweden, DenmarkAustraliaNew ZealandCanada and the United States of America, allowing you to collect payments everywhere with one integration.

There are three key parts to an integration with the API - you can do one, two or all three of them:

Authorise Payments

Customers set up an authorisation (open banking verification, direct debit mandates), giving approval for payments to be collected

Read more
Collecting Payments

Collect payments against your mandates/bank authorisations. GoCardless provides the ability to collect both one-off and recurring payments

Stay up to date with webhooks

Stay up to date with payment statuses and reconcile payouts

Alongside the API, you’ll have access to the GoCardless Dashboard which you can also use to manage your account.

This means that, for example, you could choose to add your customers through your website using an API integration, but bill them manually through the Dashboard.

Building a partner integration?

In this first step of the partner integration guide, we’ll take you through securely gaining access to your users’ GoCardless accounts. You’ll end up with an access token, which we’ll be able to use later on in this guide to set up mandates and payments on your user’s behalf. Start here

What's Next?

Making your first API Request

1const constants = require("gocardless-nodejs/constants"); 2 3const client = gocardless( 4 // We recommend storing your access token in an environment 5 // variable for security 6 process.env.GoCardlessAccessToken, 7 // Change this to constants.Environments.Live when you're ready to go live 8 constants.Environments.Sandbox 9);
UX PreviewGitHub URLCode Playground
1const constants = require("gocardless-nodejs/constants"); 2 3const client = gocardless( 4 // We recommend storing your access token in an environment 5 // variable for security 6 process.env.GoCardlessAccessToken, 7 // Change this to constants.Environments.Live when you're ready to go live 8 constants.Environments.Sandbox 9);

This block of tests is for inline entries You should see a search icon. . This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

This block of tests is for inline entries You should see a search icon. This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

This block of tests is for inline entries You should see a search icon. This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

This block of tests is for inline entries You should see a search icon. This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

This block of tests is for inline entries You should see a search icon. This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

This block of tests is for inline entries You should see a search icon. This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

2. This block of tests is for inline entries You should see a search icon. This should open a dialogue. And then a regular inline button that is a link Test inline button . This should show a tag  This is a tag and finally a nice Tooltip

Heading 1

Heading 2

Heading 3

Direct Debit is an automated payment method which allows you to pull payments from your customers’ bank accounts.

The GoCardless API is a wrapper around diverse national Direct Debit systems in the UK, Eurozone, Sweden, Denmark, Australia, New Zealand, Canada and the United States of America, allowing you to collect payments everywhere with one integration.

npm install gc-cli gc-cli trigger mandate_activated

£ 2000

HeaderHeaderHeaderHeaderHeaderHeader
CellCellCellCellCellCell
CellCellCellCellCellCell
CellCellCellCell£CellCell
CellCellCellCellCellCell
CellCellCellCellCellCell

If you want to allow users to collect and manage their own payments through your application, you'll want to build a partner integration using our OAuth 2 flow. This is a mandatory requirement.

There are three key parts to an integration with the API - you can do one, two or all three of them:

  • Setting up mandates with your customers’ bank accounts

  • Collecting payments against your mandates

  • Staying up-to-date with webhooks

    Now, let’s check that the client is working by making our first request to the API: listing our customers (there won’t be any at the moment). Just run the following

  1. Setting up mandates with your customers’ bank accounts
  2. Collecting payments against your mandates
  3. Staying up-to-date
    with
    webhooks

Test Img

Heading 1

Heading 2

Heading 3

Direct Debit is an automated payment method which allows you to pull payments from your customers’ bank accounts.

The GoCardless API is a wrapper around diverse national Direct Debit systems in the UK, Eurozone, Sweden, Denmark, Australia, New Zealand, Canada and the United States of America, allowing you to collect payments everywhere with one integration.

npm install gc-cli gc-cli trigger mandate_activated

£ 2000

HeaderHeaderHeaderHeaderHeaderHeader
CellCellCellCellCellCell
CellCellCellCellCellCell
CellCellCellCell£CellCell
CellCellCellCellCellCell
CellCellCellCellCellCell

If you want to allow users to collect and manage their own payments through your application, you'll want to build a partner integration using our OAuth 2 flow. This is a mandatory requirement.

There are three key parts to an integration with the API - you can do one, two or all three of them:

  • Setting up mandates with your customers’ bank accounts

  • Collecting payments against your mandates

  • Staying up-to-date with webhooks

    Now, let’s check that the client is working by making our first request to the API: listing our customers (there won’t be any at the moment). Just run the following

  1. Setting up mandates with your customers’ bank accounts
  2. Collecting payments against your mandates
  3. Staying up-to-date
    with
    webhooks

Test Img