Supported workflows
| Workflow | Supported |
|---|---|
| Payrails SDK | ✔ |
| Payrails API | ✔ |
| Delayed / Manual Capture | ✖ |
| Instant Capture | ✔ |
| Cancel / Void | ✖ |
| Refund / Reverse | ✔ |
| Save Instruments | ✖ |
| Merchant Initiated Transaction (MIT) | ✖ |
Before you begin
Complete these steps before you send your first UPI payment through Adyen:- Set up an Adyen integration in your workspace. Follow the Adyen integration setup guide if you don’t have one yet.
- Ask Adyen to enable UPI on your Adyen merchant account.
- In the Payrails Portal, go to Settings → Integrations, open your Adyen integration, select UPI under Payment methods, and save.
- Add UPI as a payment option in your workflow.
Request fields for Adyen
Send these fields in the authorize request, in addition to the standard authorize fields. Required fields must be present for the payment to succeed. Payrails sends Optional fields to the PSP when you include them.Authorize a UPI payment
Choose the journey
Payrails picks the Adyen UPI journey frommeta.paymentMethods.upi.flow:
- When
flowisintent, the response redirects the customer to the UPI app you send in theupiApppayer field. - When
flowisqr, or when you don’t send aflow, Payrails shows a QR code on a Payrails-hosted page. The customer scans it with any UPI app. Payrails ignoresupiAppin this journey.
upi as the paymentMethodCode. This example uses the intent journey. The response includes the redirect to the customer’s UPI app.
Authorize request
"flow": "qr" and leave out the payer fields.
The customer approves the payment in their UPI app, and Adyen sends the result to Payrails asynchronously. Confirm the result through webhook notifications or the execution status before you fulfill the order.
How Adyen handles UPI
- Adyen captures UPI payments automatically. When Adyen confirms the authorization, Payrails also records the capture, so the payment completes in one step.
- Payrails sends every UPI payment to Adyen as a new intent or QR code payment, never as a charge against a stored token. Each UPI payment is a new customer-initiated payment.
- The Payrails-hosted QR code page shows a five-minute countdown.
- When
flowisintent, the Payrails SDK collects the UPI app through theupiApppayer field. - Payrails still reads
meta.upi.flowfrom older integrations. Usemeta.paymentMethods.upi.flowfor new integrations.