GC Logo
Developer Docs

Guides

Collect Payments
Overview Integration Companion
Setting up MandatesDirect Debit Mandates Verified Mandates Collecting mandates offline Importing Mandates
One-off PaymentsOne-off Direct Debit Instant Bank Payment
Recurring PaymentsSubscription Instalments Variable Recurring Payments Instant Bank Payment + Direct Debit
Integration TypesGoCardless Hosted Pages GoCardless Components NEWJavascript Drop-in Flow Custom Payment Pages
Events & WebhooksMandate Events Billing Requests Events
Managing paymentsFX Payments Reconciling Payouts
Scheme guidanceACH and PAD Consent Types Billing Request Purpose Codes VRP Commercial Payment Purpose Codes PayTo Agreements and Payments

Responding to Mandate Events

View as Markdown

What are mandate events?

Mandate events are webhook notifications that GoCardless sends whenever a mandate's status changes. This guide covers the key events you should handle and what to do when they occur.

A webhook is a request that GoCardless sends to your server to alert you of an event. Adding support for webhooks allows you to receive real-time notifications from GoCardless when things happen in your account, so you can take automated actions in response.

Mandate lifecycle

A mandate moves through the following statuses:

Status

Meaning

pending.submission

Mandate created, not yet sent to the banks   

submitted

Sent to the banks for processing  

active

Confirmed by the banks, ready to collect against

failed

Could not be set up (e.g. invalid bank details)   

cancelled

Cancelled by the customer, merchant, or GoCardless 

expired

Expired due to inactivity (scheme-dependent)  

consumed

Used for a one-off payment and can no longer be reused

Events to handle

Full list of mandate events

For all possible mandate events and their details see the API reference - mandate event types.

Responding to Billing Requests events

Testing webhooks with the CLI

Supporting mandates set up outside of your product