Skip to main content
Accept UPI payments from customers in India with Adyen as the payment service provider (PSP). The customer approves the payment in a UPI app, either through a deep link or by scanning a QR code.

Supported workflows

Before you begin

Complete these steps before you send your first UPI payment through Adyen:
  1. Set up an Adyen integration in your workspace. Follow the Adyen integration setup guide if you don’t have one yet.
  2. Ask Adyen to enable UPI on your Adyen merchant account.
  3. In the Payrails Portal, go to Settings → Integrations, open your Adyen integration, select UPI under Payment methods, and save.
  4. 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. Payrails checks Required fields and returns an error when one is missing. Fields required by the PSP pass the Payrails checks but the PSP can decline the payment without them.

Choose the journey

Payrails picks the Adyen UPI journey in this order:
  1. When meta.paymentMethods.upi.flow is qr, Payrails shows a QR code on a Payrails-hosted page. The customer scans it with any UPI app.
  2. When flow is intent, the response redirects the customer to the UPI app you name in appId.
  3. Without a flow, Payrails uses the intent journey when you send an appId, and the QR code journey when you don’t.

Authorize a UPI payment

Call authorize a payment with upi as the paymentMethodCode. This example uses the intent journey. The response includes the redirect to the customer’s UPI app.
Authorize request
For the QR code journey, send "flow": "qr" and leave out appId. 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. Save Instruments and merchant-initiated transactions (MIT) aren’t available for UPI through Adyen.
  • Payrails still reads meta.upi.flow and meta.upi.appId from older integrations. Use meta.paymentMethods.upi for new integrations.
Last modified on October 2, 2026