Billing Request Flow
Billing Request Flows can be created to enable a payer to authorise a payment created for a scheme with strong payer authorisation (such as open banking single payments).
Create a Billing Request Flow#
/billing_request_flowsCreates a new billing request flow.
Request Body
billing_request_flowsobject14 properties
auto_fulfilboolean
(Experimental feature) Fulfil the Billing Request on completion of the flow (true by default). Disabling the auto_fulfil is not allowed currently.
customer_details_capturedboolean
Identifies whether a Billing Request belongs to a specific customer
lock_bank_accountboolean
If true, the payer will not be able to change their bank account within the flow. If the bank_account details are collected as part of bank_authorisation then GC will set this value to true mid flow.
You can only lock bank account if these have already been completed as a part of the billing request.
lock_currencyboolean
If true, the payer will not be able to change their currency/scheme manually within the flow. Note that this only applies to the mandate only flows - currency/scheme can never be changed when there is a specified subscription or payment.
lock_customer_detailsboolean
If true, the payer will not be able to edit their customer details within the flow. If the customer details are collected as part of bank_authorisation then GC will set this value to true mid flow.
You can only lock customer details if these have already been completed as a part of the billing request.
show_redirect_buttonsboolean
If true, the payer will be able to see redirect action buttons on Thank You page. These action buttons will provide a way to connect back to the billing request flow app if opened within a mobile app. For successful flow, the button will take the payer back the billing request flow where they will see the success screen. For failure, button will take the payer to url being provided against exit_uri field.
show_success_redirect_buttonboolean
If true, the payer will be able to see a redirect action button on the Success page. This action button will provide a way to redirect the payer to the given redirect_uri. This functionality is helpful when merchants do not want payers to be automatically redirected or on Android devices, where automatic redirections are not possible.
redirect_uristring | null
URL that the payer can be redirected to after completing the request flow.
skip_success_screenboolean
If true, the payer will not be redirected to the success screen after completing the flow. A redirect_uri needs to be provided for this parameter to be taken into account.
exit_uristring | null
URL that the payer can be taken to if there isn't a way to progress ahead in flow, for example if the customer searches for a bank that doesn't exist or isn't supported on the scheme.
prefilled_customerobject | null
Customer information used to prefill the payment page so your customer doesn't have to re-type details you already hold about them. It will be stored unvalidated and the customer will be able to review and amend it before completing the form.
13 properties
emailstring | null
Customer's email address.
given_namestring | null
Customer's first name.
family_namestring | null
Customer's surname.
company_namestring | null
Customer's company name. Company name should only be provided if given_name and family_name are null.
address_line1string | null
The first line of the customer's address.
address_line2string | null
The second line of the customer's address.
address_line3string | null
The third line of the customer's address.
citystring | null
The city of the customer's address.
regionstring | null
The customer's address region, county or department.
postal_codestring | null
The customer's postal code.
country_codestring | null
swedish_identity_numberstring | null
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer.
danish_identity_numberstring | null
For Danish customers only. The civic/company number (CPR or CVR) of the customer.
prefilled_bank_accountobject | null
Bank account information used to prefill the payment page so your customer doesn't have to re-type details you already hold about them. It will be stored unvalidated and the customer will be able to review and amend it before completing the form.
1 properties
account_typestring | null
Bank account type for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckinglanguagestring | null
Sets the default language of the Billing Request Flow and the customer. ISO 639-1 code.
linksobjectrequired
1 properties
billing_requeststringrequired
ID of the billing request against which this flow was created.
Response 201
Resource created successfully
billing_request_flowsobject19 properties
idstringrequired
Unique identifier, beginning with "BRF".
redirect_uristring | null
URL that the payer can be redirected to after completing the request flow.
skip_success_screenboolean
If true, the payer will not be redirected to the success screen after completing the flow. A redirect_uri needs to be provided for this parameter to be taken into account.
exit_uristring | null
URL that the payer can be taken to if there isn't a way to progress ahead in flow, for example if the customer searches for a bank that doesn't exist or isn't supported on the scheme.
show_redirect_buttonsboolean
If true, the payer will be able to see redirect action buttons on Thank You page. These action buttons will provide a way to connect back to the billing request flow app if opened within a mobile app. For successful flow, the button will take the payer back the billing request flow where they will see the success screen. For failure, button will take the payer to url being provided against exit_uri field.
show_success_redirect_buttonboolean
If true, the payer will be able to see a redirect action button on the Success page. This action button will provide a way to redirect the payer to the given redirect_uri. This functionality is helpful when merchants do not want payers to be automatically redirected or on Android devices, where automatic redirections are not possible.
authorisation_urlstring
URL for a GC-controlled flow which will allow the payer to fulfil the billing request
created_atstring
Timestamp when the flow was created
expires_atstring
Timestamp when the flow will expire. Each flow currently lasts for 7 days.
session_tokenstring | null
Session token populated when responding to the initialise action
auto_fulfilboolean
(Experimental feature) Fulfil the Billing Request on completion of the flow (true by default). Disabling the auto_fulfil is not allowed currently.
lock_bank_accountboolean
If true, the payer will not be able to change their bank account within the flow. If the bank_account details are collected as part of bank_authorisation then GC will set this value to true mid flow.
You can only lock bank account if these have already been completed as a part of the billing request.
lock_currencyboolean
If true, the payer will not be able to change their currency/scheme manually within the flow. Note that this only applies to the mandate only flows - currency/scheme can never be changed when there is a specified subscription or payment.
lock_customer_detailsboolean
If true, the payer will not be able to edit their customer details within the flow. If the customer details are collected as part of bank_authorisation then GC will set this value to true mid flow.
You can only lock customer details if these have already been completed as a part of the billing request.
prefilled_customerobject | null
Customer information used to prefill the payment page so your customer doesn't have to re-type details you already hold about them. It will be stored unvalidated and the customer will be able to review and amend it before completing the form.
13 properties
emailstring | null
Customer's email address.
given_namestring | null
Customer's first name.
family_namestring | null
Customer's surname.
company_namestring | null
Customer's company name. Company name should only be provided if given_name and family_name are null.
address_line1string | null
The first line of the customer's address.
address_line2string | null
The second line of the customer's address.
address_line3string | null
The third line of the customer's address.
citystring | null
The city of the customer's address.
regionstring | null
The customer's address region, county or department.
postal_codestring | null
The customer's postal code.
country_codestring | null
swedish_identity_numberstring | null
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer.
danish_identity_numberstring | null
For Danish customers only. The civic/company number (CPR or CVR) of the customer.
prefilled_bank_accountobject | null
Bank account information used to prefill the payment page so your customer doesn't have to re-type details you already hold about them. It will be stored unvalidated and the customer will be able to review and amend it before completing the form.
1 properties
account_typestring | null
Bank account type for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckinglanguagestring | null
Sets the default language of the Billing Request Flow and the customer. ISO 639-1 code.
linksobject
1 properties
billing_requeststringrequired
ID of the billing request against which this flow was created.
customer_details_capturedboolean
Identifies whether a Billing Request belongs to a specific customer
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
errorobjectrequiredGeneric error
6 properties
codeintegerdocumentation_urlstringerrorsarrayrequired
6 properties
reasonstringfieldstringrequest_pointerstringmessagestringrequiredmetadataobjectlinksobjectmessagestringrequiredrequest_idstringrequiredtypestringInitialise a Billing Request Flow#
/billing_request_flows/{billing_request_flow_id}/actions/initialiseReturns the flow having generated a fresh session token which can be used to power integrations that manipulate the flow.
Path Parameters
| Name | Type | Description |
|---|---|---|
billing_request_flow_id | stringrequired | The billing request flow id |
Response 200
Action completed successfully
billing_request_flowsobject19 properties
idstringrequired
Unique identifier, beginning with "BRF".
redirect_uristring | null
URL that the payer can be redirected to after completing the request flow.
skip_success_screenboolean
If true, the payer will not be redirected to the success screen after completing the flow. A redirect_uri needs to be provided for this parameter to be taken into account.
exit_uristring | null
URL that the payer can be taken to if there isn't a way to progress ahead in flow, for example if the customer searches for a bank that doesn't exist or isn't supported on the scheme.
show_redirect_buttonsboolean
If true, the payer will be able to see redirect action buttons on Thank You page. These action buttons will provide a way to connect back to the billing request flow app if opened within a mobile app. For successful flow, the button will take the payer back the billing request flow where they will see the success screen. For failure, button will take the payer to url being provided against exit_uri field.
show_success_redirect_buttonboolean
If true, the payer will be able to see a redirect action button on the Success page. This action button will provide a way to redirect the payer to the given redirect_uri. This functionality is helpful when merchants do not want payers to be automatically redirected or on Android devices, where automatic redirections are not possible.
authorisation_urlstring
URL for a GC-controlled flow which will allow the payer to fulfil the billing request
created_atstring
Timestamp when the flow was created
expires_atstring
Timestamp when the flow will expire. Each flow currently lasts for 7 days.
session_tokenstring | null
Session token populated when responding to the initialise action
auto_fulfilboolean
(Experimental feature) Fulfil the Billing Request on completion of the flow (true by default). Disabling the auto_fulfil is not allowed currently.
lock_bank_accountboolean
If true, the payer will not be able to change their bank account within the flow. If the bank_account details are collected as part of bank_authorisation then GC will set this value to true mid flow.
You can only lock bank account if these have already been completed as a part of the billing request.
lock_currencyboolean
If true, the payer will not be able to change their currency/scheme manually within the flow. Note that this only applies to the mandate only flows - currency/scheme can never be changed when there is a specified subscription or payment.
lock_customer_detailsboolean
If true, the payer will not be able to edit their customer details within the flow. If the customer details are collected as part of bank_authorisation then GC will set this value to true mid flow.
You can only lock customer details if these have already been completed as a part of the billing request.
prefilled_customerobject | null
Customer information used to prefill the payment page so your customer doesn't have to re-type details you already hold about them. It will be stored unvalidated and the customer will be able to review and amend it before completing the form.
13 properties
emailstring | null
Customer's email address.
given_namestring | null
Customer's first name.
family_namestring | null
Customer's surname.
company_namestring | null
Customer's company name. Company name should only be provided if given_name and family_name are null.
address_line1string | null
The first line of the customer's address.
address_line2string | null
The second line of the customer's address.
address_line3string | null
The third line of the customer's address.
citystring | null
The city of the customer's address.
regionstring | null
The customer's address region, county or department.
postal_codestring | null
The customer's postal code.
country_codestring | null
swedish_identity_numberstring | null
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer.
danish_identity_numberstring | null
For Danish customers only. The civic/company number (CPR or CVR) of the customer.
prefilled_bank_accountobject | null
Bank account information used to prefill the payment page so your customer doesn't have to re-type details you already hold about them. It will be stored unvalidated and the customer will be able to review and amend it before completing the form.
1 properties
account_typestring | null
Bank account type for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckinglanguagestring | null
Sets the default language of the Billing Request Flow and the customer. ISO 639-1 code.
linksobject
1 properties
billing_requeststringrequired
ID of the billing request against which this flow was created.
customer_details_capturedboolean
Identifies whether a Billing Request belongs to a specific customer
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
errorobjectrequiredGeneric error
6 properties
codeintegerdocumentation_urlstringerrorsarrayrequired
6 properties
reasonstringfieldstringrequest_pointerstringmessagestringrequiredmetadataobjectlinksobjectmessagestringrequiredrequest_idstringrequiredtypestring