Create, share, fetch, and manage shareable payment links programmatically using PayU's OneAPI platform.
The Payment Links APIs let you issue payment requests directly from your backend and deliver them to customers over SMS, email, or WhatsApp. Your customer receives a URL, taps it, and pays the amount.
Prefer a No-code Approach?Payment Links can be created and managed entirely from the PayU Dashboard. If you would rather skip the integration and get started immediately, see Payment Links.
Authentication
All Payment Links APIs use OAuth 2.0 Bearer token authentication.
| Environment | Base URL |
|---|---|
| Test | https://uatoneapi.payu.in |
| Production | https://oneapi.payu.in |
Each token is scoped to specific operations. You must request the right scope when generating the token, and include the token in every API call as Authorization: Bearer {access_token}.
| Scope | Required for |
|---|---|
create_payment_links | Create Payment Link |
update_payment_links | Update / Cancel Payment Link |
read_payment_links | Fetch Payment Link · Fetch All Payment Links · Share Payment Link |
Mutiple Scopes:A single token can carry up to three scopes simultaneously. Pass scopes space-separated:
scope=create_payment_links update_payment_links read_payment_links
Endpoints
These are the Payment Links APIs.
Authentication
Create and Share
Fetch
List all payment links for a date range. Supports pagination, sorting, and filtering by status (active, inactive, expired).
Retrieve the full details and current status of a specific payment link by its invoice number.
Fetch the payment history for a specific link — including all attempts, their status, and transaction IDs.
Manage
How It Works
A typical payment links integration flow looks like this:'
Step 1. Generate a Token
Call the Get an Access Token API with your client_id, client_secret, and the scopes you need.
Create the Link
Call the Create a Payment Link API with the amount, description, customer details, and delivery preferences (viaEmail, viaSms, viaWhatsapp).
Share the Link
Either pass delivery flags at creation time, or call the Share a Payment Link API later to send the link on-demand.
Receive Payment Notification
PayU sends a webhook to your server when the customer pays. Always verify payment server-side.
Fetch Status
Call the Fetch all Payment Links or Fetch Transaction Details to reconcile payment state in your system.
Webhooks
When a customer completes or attempts payment via a link, PayU dispatches a webhook to the endpoint configured in your PayU Dashboard.
| Event | Triggered when |
|---|---|
payment_success | Customer completes payment via the link |
payment_failure | Payment attempt fails (bank decline, timeout, drop) |
payment_pending | Payment initiated but awaiting bank confirmation |
WebhooksFor the full webhook payload, signature verification, and retry policy, see Payment Events.
