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

WorkflowSupported
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 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. 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

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.
  • Each UPI payment is a new customer-initiated payment.
Last modified on October 19, 2026