Payer Authorisation
Don't use Payer Authorisations for new integrations. It is deprecated in favour of Billing Requests. Use Billing Requests to build any future integrations.
Payer Authorisation resource acts as a wrapper for creating customer, bank account and mandate details in a single request. PayerAuthorisation API enables the integrators to build their own custom payment pages.
The process to use the Payer Authorisation API is as follows:
- Create a Payer Authorisation, either empty or with already available information
- Update the authorisation with additional information or fix any mistakes
- Submit the authorisation, after the payer has reviewed their information
- [coming soon] Redirect the payer to the verification mechanisms from the response of the Submit request (this will be introduced as a non-breaking change)
- Confirm the authorisation to indicate that the resources can be created
After the Payer Authorisation is confirmed, resources will eventually be created as it's an asynchronous process.
To retrieve the status and ID of the linked resources you can do one of the following:
Get a single Payer Authorisation#
/payer_authorisations/{payer_authorisation_id}Retrieves the details of a single existing Payer Authorisation. It can be used for polling the status of a Payer Authorisation.
Deprecated: Payer Authorisation is legacy API and cannot be used by new integrators. The Billing Request API should be used for any new integrations.
Path Parameters
| Name | Type | Description |
|---|---|---|
payer_authorisation_idrequired | string | The payer authorisation id |
Response 200
Successful response
payer_authorisationsobject8 properties
idstring
Unique identifier, beginning with "PA".
created_atstring
Timestamp, recording when this Payer Authorisation was created.
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
incomplete_fieldsarray
An array of fields which are missing and is required to set up the mandate.
3 properties
fieldstring
The root resource.
messagestring
A localised error message
request_pointerstring
The path to the field e.g. "/payer_authorisations/customer/city"
linksobject
IDs of the created resources. Available after the Payer Authorisation is completed.
3 properties
customerstring
Unique identifier, beginning with "CU".
bank_accountstring
Unique identifier, beginning with "BA".
mandatestring
Unique identifier, beginning with "MD". Note that this prefix may not apply to mandates created before 2016.
statusstring
One of:
created: The PayerAuthorisation has been created, and not been confirmed yetsubmitted: The payer information has been submittedconfirmed: PayerAuthorisation is confirmed and resources are ready to be createdcompleted: The PayerAuthorisation has been completed and customer, bank_account and mandate has been createdfailed: The PayerAuthorisation has failed and customer, bank_account and mandate is not created
createdsubmittedconfirmedcompletedfailedErrors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectUpdate a Payer Authorisation#
/payer_authorisations/{payer_authorisation_id}Updates a Payer Authorisation. Updates the Payer Authorisation with the request data. Can be invoked as many times as needed. Only fields present in the request will be modified. An empty array of incomplete_fields means that the resource is valid. This endpoint has been designed this way so you do not need to save any payer data on your servers or the browser while still being able to implement a progressive solution, such a multi-step form.
Note that in order to update the metadata attribute values it must be sent completely as it overrides the previously existing values.
Deprecated: Payer Authorisation is legacy API and cannot be used by new integrators. The Billing Request API should be used for any new integrations.
Path Parameters
| Name | Type | Description |
|---|---|---|
payer_authorisation_idrequired | string | The payer authorisation id |
Request Body
payer_authorisationsobject3 properties
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
Response 200
Successful response
payer_authorisationsobject8 properties
idstring
Unique identifier, beginning with "PA".
created_atstring
Timestamp, recording when this Payer Authorisation was created.
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
incomplete_fieldsarray
An array of fields which are missing and is required to set up the mandate.
3 properties
fieldstring
The root resource.
messagestring
A localised error message
request_pointerstring
The path to the field e.g. "/payer_authorisations/customer/city"
linksobject
IDs of the created resources. Available after the Payer Authorisation is completed.
3 properties
customerstring
Unique identifier, beginning with "CU".
bank_accountstring
Unique identifier, beginning with "BA".
mandatestring
Unique identifier, beginning with "MD". Note that this prefix may not apply to mandates created before 2016.
statusstring
One of:
created: The PayerAuthorisation has been created, and not been confirmed yetsubmitted: The payer information has been submittedconfirmed: PayerAuthorisation is confirmed and resources are ready to be createdcompleted: The PayerAuthorisation has been completed and customer, bank_account and mandate has been createdfailed: The PayerAuthorisation has failed and customer, bank_account and mandate is not created
createdsubmittedconfirmedcompletedfailedErrors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectCreate a Payer Authorisation#
/payer_authorisationsCreates a Payer Authorisation. The resource is saved to the database even if incomplete. An empty array of incomplete_fields means that the resource is valid. The ID of the resource is used for the other actions. This endpoint has been designed this way so you do not need to save any payer data on your servers or the browser while still being able to implement a progressive solution, such as a multi-step form.
Deprecated: Payer Authorisation is legacy API and cannot be used by new integrators. The Billing Request API should be used for any new integrations.
Request Body
payer_authorisationsobject3 properties
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
Response 201
Resource created successfully
payer_authorisationsobject8 properties
idstring
Unique identifier, beginning with "PA".
created_atstring
Timestamp, recording when this Payer Authorisation was created.
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
incomplete_fieldsarray
An array of fields which are missing and is required to set up the mandate.
3 properties
fieldstring
The root resource.
messagestring
A localised error message
request_pointerstring
The path to the field e.g. "/payer_authorisations/customer/city"
linksobject
IDs of the created resources. Available after the Payer Authorisation is completed.
3 properties
customerstring
Unique identifier, beginning with "CU".
bank_accountstring
Unique identifier, beginning with "BA".
mandatestring
Unique identifier, beginning with "MD". Note that this prefix may not apply to mandates created before 2016.
statusstring
One of:
created: The PayerAuthorisation has been created, and not been confirmed yetsubmitted: The payer information has been submittedconfirmed: PayerAuthorisation is confirmed and resources are ready to be createdcompleted: The PayerAuthorisation has been completed and customer, bank_account and mandate has been createdfailed: The PayerAuthorisation has failed and customer, bank_account and mandate is not created
createdsubmittedconfirmedcompletedfailedErrors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectSubmit a Payer Authorisation#
/payer_authorisations/{payer_authorisation_id}/actions/submitSubmits all the data previously pushed to this PayerAuthorisation for verification. This time, a 200 HTTP status is returned if the resource is valid and a 422 error response in case of validation errors. After it is successfully submitted, the Payer Authorisation can no longer be edited.
Deprecated: Payer Authorisation is legacy API and cannot be used by new integrators. The Billing Request API should be used for any new integrations.
Path Parameters
| Name | Type | Description |
|---|---|---|
payer_authorisation_idrequired | string | The payer authorisation id |
Response 200
Action completed successfully
payer_authorisationsobject8 properties
idstring
Unique identifier, beginning with "PA".
created_atstring
Timestamp, recording when this Payer Authorisation was created.
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
incomplete_fieldsarray
An array of fields which are missing and is required to set up the mandate.
3 properties
fieldstring
The root resource.
messagestring
A localised error message
request_pointerstring
The path to the field e.g. "/payer_authorisations/customer/city"
linksobject
IDs of the created resources. Available after the Payer Authorisation is completed.
3 properties
customerstring
Unique identifier, beginning with "CU".
bank_accountstring
Unique identifier, beginning with "BA".
mandatestring
Unique identifier, beginning with "MD". Note that this prefix may not apply to mandates created before 2016.
statusstring
One of:
created: The PayerAuthorisation has been created, and not been confirmed yetsubmitted: The payer information has been submittedconfirmed: PayerAuthorisation is confirmed and resources are ready to be createdcompleted: The PayerAuthorisation has been completed and customer, bank_account and mandate has been createdfailed: The PayerAuthorisation has failed and customer, bank_account and mandate is not created
createdsubmittedconfirmedcompletedfailedErrors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectConfirm a Payer Authorisation#
/payer_authorisations/{payer_authorisation_id}/actions/confirmConfirms the Payer Authorisation, indicating that the resources are ready to be created. A Payer Authorisation cannot be confirmed if it hasn't been submitted yet.
The main use of the confirm endpoint is to enable integrators to acknowledge the end of the setup process. They might want to make the payers go through some other steps after they go through our flow or make them go through the necessary verification mechanism (upcoming feature).
Deprecated: Payer Authorisation is legacy API and cannot be used by new integrators. The Billing Request API should be used for any new integrations.
Path Parameters
| Name | Type | Description |
|---|---|---|
payer_authorisation_idrequired | string | The payer authorisation id |
Response 200
Action completed successfully
payer_authorisationsobject8 properties
idstring
Unique identifier, beginning with "PA".
created_atstring
Timestamp, recording when this Payer Authorisation was created.
customerobject
All details required for the creation of a Customer.
15 properties
emailstring
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring
Customer's first name. Required unless a company_name is provided.
family_namestring
Customer's surname. Required unless a company_name is provided.
company_namestring
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string
The first line of the customer's address.
address_line2string
The second line of the customer's address.
address_line3string
The third line of the customer's address.
citystring
The city of the customer's address.
regionstring
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring
The customer's postal code.
country_codestring
localestring
An IETF Language Tag, used for both language and regional variations of our product.
swedish_identity_numberstring
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
bank_accountobject
All details required for the creation of a Customer Bank Account.
11 properties
account_holder_namestring
Name of the account holder, as known by the bank. The full name provided when the customer is created is stored and is available via the API, but is transliterated, upcased, and truncated to 18 characters in bank submissions. This field is required unless the request includes a customer bank account token.
account_numberstring
Bank account number - see local details for more information. Alternatively you can provide an iban.
account_number_endingstring
The last few digits of the account number. Currently 4 digits for NZD bank accounts and 2 digits for other currencies.
account_number_suffixstring
Account number suffix (only for bank accounts denominated in NZD) - see local details for more information.
bank_codestring
Bank code - see local details for more information. Alternatively you can provide an iban.
branch_codestring
Branch code - see local details for more information. Alternatively you can provide an iban.
ibanstring
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
country_codestring
ISO 3166-1 alpha-2 code. Defaults to the country code of the iban if supplied, otherwise is required.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
account_typestring
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies. See local details for more information.
savingscheckingmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandateobject
All details required for the creation of a Mandate.
4 properties
referencestring
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
schemestring
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_corepayer_ip_addressstring
For ACH customers only. Required for ACH customers. A string containing the IP address of the payer to whom the mandate belongs (i.e. as a result of their completion of a mandate setup flow in their browser).
Not required for creating offline mandates where authorisation_source is set to telephone or paper.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
incomplete_fieldsarray
An array of fields which are missing and is required to set up the mandate.
3 properties
fieldstring
The root resource.
messagestring
A localised error message
request_pointerstring
The path to the field e.g. "/payer_authorisations/customer/city"
linksobject
IDs of the created resources. Available after the Payer Authorisation is completed.
3 properties
customerstring
Unique identifier, beginning with "CU".
bank_accountstring
Unique identifier, beginning with "BA".
mandatestring
Unique identifier, beginning with "MD". Note that this prefix may not apply to mandates created before 2016.
statusstring
One of:
created: The PayerAuthorisation has been created, and not been confirmed yetsubmitted: The payer information has been submittedconfirmed: PayerAuthorisation is confirmed and resources are ready to be createdcompleted: The PayerAuthorisation has been completed and customer, bank_account and mandate has been createdfailed: The PayerAuthorisation has failed and customer, bank_account and mandate is not created
createdsubmittedconfirmedcompletedfailedErrors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobject