Create payment consent
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.
Request Body
Required
PaymentInitiationConsentCreateRequest defines the request schema for /payment_initiation/consent/create
Parameters
client_id
Your Plaid API
client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
Your Plaid API
secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
recipient_id
The ID of the recipient the payment consent is for. The created consent can be used to transfer funds to this recipient only.
reference
A reference for the payment consent. This must be an alphanumeric string with at most 18 characters and must not contain any special characters.
scopes
An array of payment consent scopes.
type
Payment consent type. Defines possible use case for payments made with the given consent.
SWEEPING: Allows moving money between accounts owned by the same user.
COMMERCIAL: Allows initiating payments from the user’s account to third parties.
constraints
Limitations that will be applied to payments initiated using the payment consent.
valid_date_time
Life span for the payment consent. After the
to date the payment consent expires and can no longer be used for payment initiation.
from
The date and time from which the consent should be active, in ISO 8601 format.
to
The date and time at which the consent expires, in ISO 8601 format.
max_payment_amount
Maximum amount of a single payment initiated using the payment consent.
periodic_amounts
A list of amount limitations per period of time.
amount
Maximum cumulative amount for all payments in the specified interval.
interval
Payment consent periodic interval.
alignment
Where the payment consent period should start.
If the institution is Monzo, only
CONSENT alignments are supported.
CALENDAR: line up with a calendar.
CONSENT: on the date of consent creation.
options
(Deprecated) Additional payment consent options. Please use
payer_details to specify the account.
request_refund_details
When
true, Plaid will attempt to request refund details from the payee’s financial institution. Support varies between financial institutions and will not always be available. If refund details could be retrieved, they will be available in the /payment_initiation/payment/get response.
iban
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.
bacs
An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account.
payer_details
An object representing the payment consent payer details.
Payer
name and account numbers are required to lock the account to which the consent can be created.
name
The name of the payer as it appears in their bank account
numbers
The counterparty’s bank account numbers. Exactly one of IBAN or BACS data is required.
bacs
An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account.
iban
International Bank Account Number (IBAN).
address
The optional address of the payment recipient’s bank account. Required by most institutions outside of the UK.
street
An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.
city
The city where the recipient is located. Maximum of 35 characters.
postal_code
The postal code where the recipient is located. Maximum of 16 characters.
country
The ISO 3166-1 alpha-2 country code where the recipient is located.
date_of_birth
The payer’s birthdate, in ISO 8601 (YYYY-MM-DD) format.
phone_numbers
The payer’s phone numbers in E.164 format: +{countrycode}{number}
emails
The payer’s emails
Response
PaymentInitiationConsentCreateResponse defines the response schema for /payment_initiation/consent/create
Response Properties
consent_id
A unique ID identifying the payment consent.
status
The status of the payment consent.
UNAUTHORISED: Consent created, but requires user authorisation.
REJECTED: Consent authorisation was rejected by the user and/or the bank.
AUTHORISED: Consent is active and ready to be used.
REVOKED: Consent has been revoked and can no longer be used.
EXPIRED: Consent is no longer valid.
request_id
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.