dLocal supports UPI for cross-border payments only, where your business is based outside India. It doesn’t offer domestic processing for businesses in India.
Setup
Please follow the common dLocal instructions to get set up with UPI. Next, make sure to enable UPI as a payment method on your configured account.Capabilities
Supported countries
Supported currencies
Integration
For UPI, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.payment_method.approval_url and the status is set to buyer_approval_pending.
Redirect the buyer to the approval_url so they can complete the payment. After approval the buyer is redirected to the redirect_url you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example capture_succeeded or failure states).
Recurring transactions
Recurring UPI payments are not confirmed in real-time. A transaction takes at least 24 hours (up to 48 hours) to be confirmed due to a mandatory upcoming payment notification rule in India. As a result, the UPI integration waits for an asynchronous callback (webhook) to receive the final payment status. The same process applies to the tokenization of a payment method, which only works for recurring or installments transactions. You can specify the payment frequency using the dLocal UPI connection options. The example below demonstrates how to configure a monthly payment that recurs for one year.Usage with Embed
When storing a UPI payment method with Embed, dLocal requires it to be set up as a recurring transaction. You can do this by setting thepaymentSource to recurring.
If this isn’t configured correctly, the transaction errors with “Payment method tokenization is only supported for recurring transactions.”