POST /payment_initiation/consent/create
The /payment_initiation/consent/create
endpoint is used to create a payment consent, which can be used to initiate payments on behalf of the user. Payment consents are created with UNAUTHORISED
status by default and must be authorised by the user before payments can be initiated.
Consents can be limited in time and scope, and have constraints that describe limitations for payments.
Servers
- https://production.plaid.com
- https://sandbox.plaid.com
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
scopes[] |
Array | No |
An array of payment consent scopes. |
constraints |
Object | Yes |
Limitations that will be applied to payments initiated using the payment consent. |
constraints.valid_date_time |
Object | No |
Life span for the payment consent. After the |
constraints.valid_date_time.to |
String | No |
The date and time at which the consent expires, in ISO 8601 format. |
constraints.valid_date_time.from |
String | No |
The date and time from which the consent should be active, in ISO 8601 format. |
constraints.periodic_amounts[] |
Array | Yes |
A list of amount limitations per period of time. |
constraints.periodic_amounts[].interval |
String | Yes |
Payment consent periodic interval. Possible values:
|
constraints.periodic_amounts[].alignment |
String | Yes |
Where the payment consent period should start. If the institution is Monzo, only
Possible values:
|
client_id |
String | No |
Your Plaid API |
options |
Object | No |
(Deprecated) Additional payment consent options. Please use |
options.iban |
String | No |
The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to set up payment consent using only the specified bank account if provided. |
options.request_refund_details |
Boolean | No |
When |
recipient_id |
String | Yes |
The ID of the recipient the payment consent is for. The created consent can be used to transfer funds to this recipient only. |
type |
String | No |
Payment consent type. Defines possible use case for payments made with the given consent.
Possible values:
|
reference |
String | Yes |
A reference for the payment consent. This must be an alphanumeric string with at most 18 characters and must not contain any special characters. |
payer_details |
Object | No |
An object representing the payment consent payer details.
Payer |
payer_details.name |
String | Yes |
The name of the payer as it appears in their bank account |
payer_details.date_of_birth |
String | No |
The payer's birthdate, in ISO 8601 (YYYY-MM-DD) format. |
payer_details.phone_numbers[] |
Array | No |
The payer's phone numbers in E.164 format: +{countrycode}{number} |
payer_details.emails[] |
Array | No |
The payer's emails |
payer_details.numbers |
Object | Yes |
The counterparty's bank account numbers. Exactly one of IBAN or BACS data is required. |
payer_details.numbers.iban |
String | No |
International Bank Account Number (IBAN). |
payer_details.address |
Object | No |
The optional address of the payment recipient's bank account. Required by most institutions outside of the UK. |
payer_details.address.postal_code |
String | Yes |
The postal code where the recipient is located. Maximum of 16 characters. |
payer_details.address.country |
String | Yes |
The ISO 3166-1 alpha-2 country code where the recipient is located. |
payer_details.address.street[] |
Array | Yes |
An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters. |
payer_details.address.city |
String | Yes |
The city where the recipient is located. Maximum of 35 characters. |
secret |
String | No |
Your Plaid API |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.