Billing Requests: Verified Mandates

Collect 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 fraudulent payers.

Before we begin: Availability and Preference

Verified Mandates use different mechanisms depending on the scheme of the mandate in the Billing Request.

Here is a full list of supported Bank Debit schemes, whether a verification mechanism is available, and whether scheme compliance requires a customer to perform the verification.

Scheme

API

Available

Required by Scheme

🇺🇸 ACH

ach

Yes

No

🇸🇪 Autogiro

autogiro

Yes

Yes

🇬🇧 Bacs

bacs

Yes

No

🇦🇺 BECS

becs

No

-

🇳🇿 BECS NZ

becs_nz

No

-

🇩🇰 Betalingsservice

betalingsservice

No

-

🇨🇦 PAD

pad

No

-

🇪🇺 SEPA Core

sepa_core

Germany 🇩🇪, France 🇫🇷

No

To request verification for your mandate, you must set the verify attribute of the mandate_request to a level that matches your preference.

Verification preference can be one of:

  • minimum: only verify if absolutely required, such as when part of scheme rules

  • recommended: in addition to minimum, use Protect+ to decide if a payer should be verified

  • when_available: if verification mechanisms are available, use them

  • always: as when_available, but fail to create the Billing Request if a mechanism isn't available

By default, all Billing Requests use the recommended verification preference. It uses Protect+ to determine if a payer is fraudulent or not. The verification mechanism is based on the response and the payer may be asked to verify themselves. If the feature is not available, recommended behaves like minimum.

If you never wish to take advantage of Protect+ and Verified Mandates as they are released in new schemes, please use the minimum verification preference.

Let us know you’re interested

How-to

In this how-to, we'll opt for when_available to ensure we apply the verification if the scheme supports it. And as per our availability, we'll be creating a bacs mandate, as that scheme supports verification.

Let's begin!

What the customer will see

When the customer opens the authorisation link, they'll see a form that goes through the following steps. The example is shown for the 🇬🇧 Bacs scheme.

Done!

The Direct Debit mandate has now been created, and the Billing Request is fulfilled. Note that the mandate will have a verified_at timestamp set to the last successful verification, which can be used to identify which mandates have been verified.

You can use the Create Payments endpoint to create new payments against the mandate or use the mandate in other resources such as when Creating a Subscription.

Examples in other schemes

Frequently asked questions

What’s next?

First instant payment with mandate Direct Debit set up

Get started

Collect Direct Debit Mandates

Billing Request overview

For partners

Go to Partner PortalTo learn more about technical and UX requirements