Skip to main content
Who should use this guideThis guide is intended for merchants who:
  • Use Payrails as a payment orchestrator
  • Use PayU India for cards or UPI in India
  • Have an active PayU India merchant account

Create a PayU India integration in Payrails

  1. Log in to the Payrails portal.
  2. Go to Settings → Integrations.
  3. Select New integration.
What you’ll need from PayU IndiaBefore you begin, make sure you have your PayU India merchant key and merchant salt. You find both in the PayU dashboard under Developers → API Keys.

Step 1: Choose the provider

  • Search for PayU India and select it.
  • Select Next step.
A screenshot showing PayU India selected as the provider.

Step 2: Enter basic information

In Payrails
  • Integration type: keep Payment selected.
  • Integration name: enter a clear, consistent name, for example merchant_payuindia. Routing uses this name, so include the region or environment when you run more than one PayU India integration.
  • Workspaces: select the workspaces where this integration should be available.
  • Select Next step.
A screenshot showing the PayU India basic information step with integration type, name and workspaces.
About workspacesWorkspaces determine where this integration is available. They let you isolate provider setups by region or business line, or share the same configuration across multiple workspaces.

Step 3: Enter account information

PayU India account details

In Payrails Fill in the acquirer merchant IDs and BINs when you use external 3DS, with Payrails authenticating cards before they reach PayU India. Your acquiring bank provides them. A screenshot showing the PayU India account details with the merchant key and acquirer fields.

API credentials

In Payrails Payrails sends requests to the PayU India test environment in test mode and to the live environment in live mode, so use the merchant key and salt for the matching environment. A screenshot showing the PayU India merchant salt field.

Payment methods

In Payrails
  • Select the payment methods to enable for this integration: Card, UPI or both.
A screenshot showing the PayU India payment methods with Card and UPI selected.

Webhooks or notifications

Payrails uses provider webhooks or notifications to receive asynchronous payment status updates.
Create webhooks in the same mode (test or live) as your Payrails integration.
In Payrails
  • Copy the Notification URL from the Webhook section.
A screenshot showing the PayU India webhook section with the notification URL label. In PayU India
  1. Log in to the PayU dashboard.
  2. Go to Developers → Webhooks and select Create Webhook.
  3. Create a webhook of type payments for the successful event, with the Payrails notification URL.
  4. Create a second payments webhook for the failed event, with the same URL.
A screenshot showing the PayU India payment webhooks for successful and failed events. PayU India signs each notification with your merchant salt, and Payrails verifies the signature. Payrails uses the webhooks to receive UPI payment results. For card payments, Payrails confirms the result with PayU India when the customer returns from 3D Secure.

Additional data

In Payrails
  • Optional. Select Add field to add key-value pairs that Payrails includes in the authorization webhook notification. Payrails doesn’t use them to process PayU India payments.

Request fields for PayU India

Send these fields in the authorize request for card payments, in addition to the standard authorize fields. Required fields must be present for the payment to succeed. Payrails sends Optional fields to PayU India when you include them. For more about meta fields, refer to Meta fields.

How PayU India handles cards

  • PayU India authenticates every card payment with 3D Secure. The response includes the redirect to the PayU India authentication page, where the customer enters the OTP from their bank.
  • When the authorize request carries complete external 3DS data, with the ECI and CAVV, Payrails sends it to PayU India, and PayU India skips its own challenge.
  • PayU India supports instant and manual capture. With manual capture, you can capture the full amount or a lower amount once.
  • You can cancel an authorized payment, and refund a captured payment in full or in part.
  • PayU India completes captures, cancellations and refunds in the background. Payrails checks the status with PayU India until it gets a final result, then updates the payment. A refund can take up to 22 days to complete.

Save cards and recurring payments

Save a card

Set storeInstrument to true and send holderReference on the first payment. Payrails saves the PayU India card token as a payment instrument. For later customer-initiated payments, authorize with the saved paymentInstrumentId.

Register a recurring payment

PayU India runs recurring payments on a standing instruction that the customer approves with 3D Secure on the first payment. To register one, send the first payment with: When the customer completes 3D Secure, Payrails saves the card and the standing instruction on the payment instrument.

Charge a recurring payment

A recurring charge has two steps: PayU India notifies the customer of the upcoming debit, then you confirm the charge.
  1. Call authorize a payment with the saved paymentInstrumentId, meta.order.processingType set to Subscription or UnscheduledCardOnFile, and meta.customer.email and meta.customer.phone.number. Use instant capture.
  2. Payrails checks with PayU India that the standing instruction is still active, then asks PayU India to send the pre-debit notification to the customer. The payment stays pending, and the response asks you to confirm it. It includes earliestConfirmAt, the earliest time you can confirm.
  3. On or after earliestConfirmAt, call confirm a payment on the same execution. Payrails sends the debit to PayU India and the payment is captured.
earliestConfirmAt is 48 hours after the notification, or the debit date if that’s later. To set the debit date, send meta.subscription.scheduledDate. Without it, the debit date is 48 hours from the request. Payrails checks the status with PayU India before it sends the debit, so confirming twice never charges the customer twice. A confirm before earliestConfirmAt is rejected, and you can send it again later.

Recurring charge results


Enable the integration

In Payrails
  • Select Enable integration.
  • Confirm the integration shows as Enabled.
Your PayU India integration is now ready to process payments.

Next steps

  1. Run a test payment in the PayU India test environment.
  2. Verify that:
    • The payment appears in the PayU dashboard.
    • The payment status updates correctly in Payrails.
  3. Once verified in test mode, repeat the setup in live mode.
→ Continue to: Test a payment
Last modified on October 30, 2026