Fallbacks should not be used in case you are using GoCardless payment intelligence feature (Verified Mandates).

Some customers may not be able to authorise the open banking transaction in the Billing Request Flow. A few this can happen include, but are not limited to, being unable to use their mobile, not being set up with online banking, or a transient issue with their bank’s open banking API.

To enable these customers to still complete the Billing Request via Direct Debit, create the Billing Request with the fallback_enabled parameter set to true.

Create a Billing Request with Fallback Enabled

Note: The option to pay via Direct Debit will only be shown if either the customer is unable to find their banking institution in the select institution step, or there was some failure when they attempt to authorise through their bank.

Create a Billing Request with the fallback_enabled parameter to true:

POST /billing_requests
{
  "billing_requests": {
    "payment_request": {
      "description": "First Payment",
      "amount": "500",
      "currency": "GBP",
      "app_fee": "500"
    },
    "mandate_request": {
      "scheme": "bacs",
    },
    "fallback_enabled": true
  }
}

This will create a new Billing Request with the fallback option enabled. The response will look like this:

{
  "billing_requests": {
    "id": "BRQ123",
    "status": "pending",
    "mandate_request": {
      "currency": "GBP",
      "scheme": "bacs",
      "links": {}
    },
    "payment_request": {
      "description": "First Payment",
      "currency": "GBP",
      "amount": 500,
      "app_fee": "500",
      "scheme": "faster_payments",
      "links": {}
    },
    "metadata": null,
    "links": {
        "customer": "CU123",
        "customer_billing_detail": "CBD123"
    },
    "creditor_name": "Mr Creditor",
    "actions": [
      {
          "type": "choose_currency",
          "required": true,
          "completes_actions": [],
          "requires_actions": [],
          "status": "completed"
      },
      {
          "type": "collect_customer_details",
          "required": true,
          "completes_actions": [],
          "requires_actions": [
              "choose_currency"
          ],
          "status": "pending",
          "collect_customer_details": {
              "incomplete_fields": {
                  "customer": [
                      "email",
                      "given_name",
                      "family_name"
                  ],
                  "customer_billing_detail": [
                      "address_line1",
                      "city",
                      "postal_code",
                      "country_code"
                  ]
              }
          }
      },
      {
        "type": "select_institution",
        "required": false,
        "completes_actions": [],
        "requires_actions": [],
        "status": "pending"
      },
      {
          "type": "collect_bank_account",
          "required": true,
          "completes_actions": [
              "choose_currency"
          ],
          "requires_actions": [],
          "status": "pending"
      },
      {
          "type": "bank_authorisation",
          "required": true,
          "completes_actions": [],
          "requires_actions": [
              "collect_bank_account"
          ],
          "status": "pending"
      }
    ],
    "resources": {
      "customer": {
          "id": "CU123",
          "created_at": "2021-03-22T12:20:04.238Z",
          "email": null,
          "given_name": null,
          "family_name": null,
          "company_name": null,
          "language": "en",
          "phone_number": null,
          "metadata": {}
      },
      "customer_billing_detail": {
          "id": "CBD123",
          "created_at": "2021-03-22T12:20:04.374Z",
          "address_line1": null,
          "address_line2": null,
          "address_line3": null,
          "city": null,
          "region": null,
          "postal_code": null,
          "country_code": null,
          "swedish_identity_number": null,
          "danish_identity_number": null
      }
    },
    "fallback_enabled": true,
    "fallback_occurred": false
  }
}

Customers attempting to complete this billing request will now have the option to complete it via Direct Debit, in the case that they cannot complete the regular open banking flow.

Customer sees Continue payment using Direct Debit button

This button is shown in two cases

  1. Select Insitution Screen
  2. Bank Authorisation Failure

Select Insitution screen

Customers will see an option to continue using Direct Debit when they search for their bank but can’t find it.

Select Institution Screen

Bank Authorisation Failure

The action is also shown in case of bank authorisation failure. To replicate this in sandbox environment, you can select

Bank Authorisation Failure

Then you will proceed to Bank Authorisation screen with the option to Continue Payment using Direct Debit.

Bank Authorisation Failure

If the customer continues using Direct Debit, they will be shown Collect Customer Details page in case if it was not collected earlier. This is required for Direct Debit.

Collect Customer Details

Once the customer fills and confirms the details, they’ll be show the success screen confirming that Direct Debit has been setup and payment will be collected as soon as possible.

Confirm Details

Direct Debit Setup

Once the fallback occurs, then the fallback_occurred parameter will be set to true.