Payment Initiation

paymentInitiationPaymentGet

POST
/payment_initiation/payment/get

The /payment_initiation/payment/get endpoint can be used to check the status of a payment, as well as to receive basic information such as recipient and payment amount. In the case of standing orders, the /payment_initiation/payment/get endpoint will provide information about the status of the overall standing order itself; the API cannot be used to retrieve payment status for individual payments within a standing order.

Authorization

PLAID-CLIENT-ID PLAID-SECRET Plaid-Version
PLAID-CLIENT-ID<token>

In: header

PLAID-SECRET<token>

In: header

Plaid-Version<token>

In: header

Request Body

application/json

PaymentInitiationPaymentGetRequest defines the request schema for /payment_initiation/payment/get

client_id?string

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?string

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.

payment_id*string

The payment_id returned from /payment_initiation/payment/create.

Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/payment_initiation/payment/get" \  -H "Content-Type: application/json" \  -d '{    "payment_id": "string"  }'
{  "payment_id": "payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3",  "payment_token": "payment-token-sandbox-c6a26505-42b4-46fe-8ecf-bf9edcafbebb",  "reference": "Account Funding 99744",  "amount": {    "currency": "GBP",    "value": 100  },  "status": "PAYMENT_STATUS_INPUT_NEEDED",  "last_status_update": "2019-11-06T21:10:52Z",  "payment_expiration_time": "2019-11-06T21:25:52Z",  "recipient_id": "recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6",  "bacs": null,  "iban": null,  "request_id": "aEAQmewMzlVa1k6"}

paymentInitiationPaymentCreate POST

After creating a payment recipient, you can use the `/payment_initiation/payment/create` endpoint to create a payment to that recipient. Payments can be one-time or standing order (recurring) and can be denominated in either EUR or GBP. If making domestic GBP-denominated payments, your recipient must have been created with BACS numbers. In general, EUR-denominated payments will be sent via SEPA Credit Transfer and GBP-denominated payments will be sent via the Faster Payments network, but the payment network used will be determined by the institution. Payments sent via Faster Payments will typically arrive immediately, while payments sent via SEPA Credit Transfer will typically arrive in one business day. Standing orders (recurring payments) must be denominated in GBP and can only be sent to recipients in the UK. Once created, standing order payments cannot be modified or canceled via the API. An end user can cancel or modify a standing order directly on their banking application or website, or by contacting the bank. Standing orders will follow the payment rules of the underlying rails (Faster Payments in UK). Payments can be sent Monday to Friday, excluding bank holidays. If the pre-arranged date falls on a weekend or bank holiday, the payment is made on the next working day. It is not possible to guarantee the exact time the payment will reach the recipient’s account, although at least 90% of standing order payments are sent by 6am. In the Development environment, payments must be below 5 GBP / EUR. For details on any payment limits in Production, contact your Plaid Account Manager.

createPaymentToken POST

The `/payment_initiation/payment/token/create` endpoint has been deprecated. New Plaid customers will be unable to use this endpoint, and existing customers are encouraged to migrate to the newer, `link_token`-based flow. The recommended flow is to provide the `payment_id` to `/link/token/create`, which returns a `link_token` used to initialize Link. The `/payment_initiation/payment/token/create` is used to create a `payment_token`, which can then be used in Link initialization to enter a payment initiation flow. You can only use a `payment_token` once. If this attempt fails, the end user aborts the flow, or the token expires, you will need to create a new payment token. Creating a new payment token does not require end user input.