Introduction to Payment Initiation
Initiate payments within your app using the Payment Initiation (Europe) product.
API Reference
View Payment Initiation requests, responses, and example code
View Payment Initiation APIGetting Started Guide
Learn how to add Payment Initiation to your app
View guideAccount Funding Guide
Learn how to specifically improve your user onboarding and funding flow
View guidePlaid Concepts
Learn about Plaid's key concepts and run starter code
Get startedOverview
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.
Supported countries
For a full, up-to-date list of supported countries for Payment Initiation, see Plaid Global Coverage.
Recurring Payments
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 (UK)
A Variable Recurring Payment (VRP) allows for setup of a single recurring payment consent, which can then be used for a series of ongoing payments, with no end user interaction required. For a VRP, the source and the recipient must be in the UK.
For more details on Variable Recurring Payments, including complete implementation instructions, see Add Variable Recurring Payments to your app.
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 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 Limited Production. In Limited Production, payments must be below 5 GBP or other chosen currency; otherwise they will be blocked. Standing orders, variable recurring payments, and virtual accounts cannot be used in Limited Production.
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.
Payment Monitoring
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 Limited Production, payments must be below 5 GBP or other chosen currency. For details on any payment limits in full Production, contact your Plaid Account Manager.
Payment Initiation pricing
Payment Initiation is billed on a per-payment model. To view the exact pricing you may be eligible for, contact Sales.
Sample app
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.
Next steps
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.