Introduction to Payment Initiation
Initiate payments within your app using the Payment Initiation (Europe) product.
View Payment Initiation requests, responses, and example code
Getting Started Guide
Learn how to add Payment Initiation to your app
Account Funding Guide
Learn how to specifically improve your user onboarding and funding flow
Learn about Plaid's key concepts and run starter code
Plaid's Payment Initiation product enables your users to make real-time payments without manually entering their account number and sort code, or leaving your app. For example, your app might allow users to pay you. You can also provide transfers to a third party, such as in a marketplace application. You can create both one-time payments (also known as Single Immediate Payments) as well as standing orders that make recurring payments on a regular schedule. By combining Payment Initiation with the optional Virtual Accounts product, you can enable even more functionality, like sending refunds to users, allowing your users to cash out a credit balance to a bank account, or gaining granular visibility into the settlement status of a payment.
There are two ways to integrate with Plaid for Payment Initiation:
- Using Classic Link, which is optimized for conversion and allows customers to use existing Plaid Link front-end components to get up and running quickly. You can choose to create your own custom loading states to completely own the UI/UX or use Plaid loading states to save developer time.
- Using the white-label Modular Link experience, which allows customers to own the end-to-end experience.
See the Add Payment Initiation to your App guide to learn more about the product and how to implement it.
Payment Initiation is UK and Europe-only. Looking for similar capabilities in the US? Check out the Transfer docs.
For a full, up-to-date list of supported countries for Payment Initiation, see Plaid Global Coverage.
Enable your users to make Variable Recurring Payments and set up Standing Orders. With Variable Recurring Payments (VRP), your users can set up repeat payments for different amounts and intervals. With Standing Orders, your users can set up repeat payments for a fixed amount.
Variable Recurring Payments (beta) (UK)
A Variable Recurring Payment (VRP) allows for setup of a recurring payment consent, which can then be used for a series of ongoing payments. This consent can be created with the Payment Initiation product. For a VRP, the source and the recipient must be in the UK. The payment consent must be created using the
/payment_initiation/consent/create endpoint with parameters authorised by the user before payments are initiated. To join the VRP beta, please contact your Plaid Account Manager.
Standing Orders (UK)
A standing order is a recurring payment, which can be created with the Payment Initiation product. For a standing order payment, the recipient must be in the UK. The standing order creation flow is the same as the Payment Initiation flow described above. When creating a standing order, the frequency of the payment must be provided to
/payment_initiation/payment/create. Note that standing orders are billed at a different rate than other calls to
/payment_initiation/payment/create; for details, contact your Plaid Account Manager.
Testing Payment Initiation
Payment Initiation can immediately be tried out in the Sandbox environment. It uses test data and does not interact with financial institutions. In order to test Payment Initiation against live Items in either Development or Production, you will need to first request access by submitting a product access request Support ticket explaining your use case.
Payment Initiation can be tested with real money using the Development environment. However in the Development environment, payments must be below 5 GBP or other chosen currency; otherwise they will be blocked.
QR code authentication
For some institutions, Plaid supports the use of QR codes to streamline the OAuth authentication process that may be required during the Payment Initiation flow. For more information, see the OAuth guide.
Plaid monitors all recipient and payment creation attempts to review and block suspicious activity. If your payment is blocked,
/payment_initiation/payment/create will return a
PAYMENT_BLOCKED error code. In the Development environment, payments must be below 5 GBP or other chosen currency. For details on any payment limits in Production, contact your Plaid Account Manager.
For a simple real-world implementation of Payment Initiation, see the Payment Initiation Pattern App on GitHub, which uses Payment Initiation in an account funding use case.
To get started building with Payment Initiation, see Add Payment Initiation to your App.
If you're ready to launch to Production, see the Launch checklist.