- Who can use Blocklists?
- How do I implement Blocklists?
- Can I only use Blocklists via the GoCardless API?
- How can I see a list of all blocked mandates?
- How can I check if a given mandate_id is blocked or not?
- Will the blocklist created by one organisation be used by another organisation?
- Will Blocklists apply to existing mandates and payments?
- Can we create payments, subscriptions, and installment_schedules for the blocked mandate?
- Can I unblock a customer?
Who can use Blocklists?
Blocklists is a feature of GoCardless Protect+.
GoCardless Protect+ is currently only available to users on the Pro plan.
How do I implement Blocklists?
Blocklists can be implemented via the dashboard and the GoCardless API.
In the dashboard, select the Protect+ option from the navigation menu on the left and then click on Blocklist. Then, click the Add a new block button.
If you're using the API, you can implement a Blocklist using the Blocks endpoint. For more information, please see our Developer guide here.
Note that Blocklists do not require a full-fledged integration and can be done using an API Client tool such as Postman.
If you need assistance using our API, please get in touch with our Support team at api@gocardless.com.
Can I only use Blocklists via the GoCardless API?
No, the Blocklist tool is also available in the GoCardless dashboard for customers who have enabled the GoCardless Protect+ upgrade.
How can I see a list of all blocked mandates?
In the Events tab of the dashboard, you can filter for mandate blocked events. This will list all the mandates blocked.
You can also use the API to view information about blocked mandates.
To view blocked mandates:
GET https://api.gocardless.com/mandates?status=blocked
To view events relating to blocked mandates:
GET https://api.gocardless.com/events?resource_type=mandates&action=blocked
How can I check if a given mandate_id is blocked or not?
In the dashboard, you can search for the mandate_id to view the mandate history section and check if it is in a blocked state:
Will the blocklist created by one organisation be used by another organisation?
No, a Blocklist is created per organisation. For example, if an email is blocked by organisation A then the mandate set up will be blocked if the payer is setting up the mandate for org A with this email. If the same payer sets up the mandate using the same email for org B then this mandate creation will not be blocked.
Will Blocklists apply to existing mandates and payments?
No, if an existing mandate matches a block, we will not cancel that mandate. We recommend cancelling any suspect mandates and payments for a user prior to blocking that user.
Can we create payments, subscriptions, and installment_schedules for the blocked mandate?
No, once the mandate is transitioned to a blocked state it becomes inactive and behaves similar to canceled and failed mandates. We will not be able to create any payments or subscriptions
Can I unblock a customer?
Once a mandate is blocked, that particular mandate cannot be unblocked.
However, if you want to unblock a customer, you can disable the block for that payer and ask the payer to set up the mandate again.
If using the Billing Request Flow or if using the Custom Payment Pages integration using Billing Request, you can follow the steps below to set up the mandate again and reduce the number of steps for the payer.
1. Pass the customer_id and bank_account_id to create a new billing request.
POST https://api.gocardless.com/billing_requests "billing_requests": { "mandate_request": { "currency": "GBP" // "scheme": "bacs" } "links": { "customer": "CU000176GQ2BXM" "bank_account": "BA123456789" } }
2. Use Custom Payment pages or Billing Request Flow to recreate the mandate.
If using Custom Payment pages:
Using Billing Request API
Confirm the customer and bank account details
POST https://api.gocardless.com/billing_requests/BR12345678/actions/confirm_payer_details
Fulfill the billing request
POST https://api.gocardless.com/billing_requests/BR12345678/actions/fulfil
Create a mandate
POST https://api.gocardless.com/mandates HTTP/1.1
{
"mandates": {
"scheme": "bacs",
"links": {
"customer_bank_account": "BA123"
}
}
}
If using Billing Request flow:
Create a Billing Request flow. As you already have the customer and bank_account, the payer only has to confirm the details.
POST https://api.gocardless.com/billing_request_flows { "billing_request_flows": { "auto_fulfil": true, "lock_bank_account": true, "lock_customer_details": true, "links": { "billing_request": "{{BR12345678}}" } } }