Skip to main content
Accept UPI payments from customers in India with dLocal as the payment service provider (PSP). The customer goes to a dLocal-hosted page, approves the payment in their UPI app and returns to your site.

Supported workflows

Before you begin

Complete these steps before you send your first UPI payment through dLocal:
  1. Set up a dLocal integration in your workspace. Follow the dLocal integration setup guide if you don’t have one yet.
  2. Ask dLocal to enable UPI on your dLocal merchant account.
  3. In the Payrails Portal, go to Settings → Integrations, open your dLocal integration, select UPI under Payment methods, and save.
  4. Add UPI as a payment option in your workflow.

Request fields for dLocal

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.

Authorize a UPI payment

Call authorize a payment with upi as the paymentMethodCode. The response includes the redirect to the dLocal payment page.
Authorize request
After the customer approves the payment, dLocal returns them to your success or error URL. Confirm the result through webhook notifications or the execution status before you fulfill the order.

How dLocal handles UPI

  • Payrails removes digits and punctuation from the payer name before it sends the name to dLocal.
  • Payrails sends full and partial refunds to dLocal against the original payment.
  • dLocal doesn’t return a reusable token for UPI, so Save Instruments and merchant-initiated transactions (MIT) aren’t available.
Last modified on October 2, 2026