Create Pay-in (India UPI)
POST
/v1/h2h/payin-instancespayin:createCreate an India UPI (H2H) pay-in. Idempotency-Key is required. Replaying the
same key + same body returns the first response.
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
amount | string (numeric) | Yes | Amount value; the unit is set by currencySymbol (see below). Limits: INR 200–500,000; USDT 1–500,000. |
currencySymbol | string | Yes | INR or USDT — which currency your amount is expressed in |
userDetails | object | Yes | End customer details. Prefer userDetails; userEmail is accepted as a legacy alias. |
userDetails.email | string | Yes | Customer email |
returnUrl | string (HTTPS URL) | No | Optional return URL |
How amount and currencySymbol work
The customer always pays in INR via UPI. Your merchant wallet is always credited
in USDT on success. currencySymbol tells Transacty how to interpret amount:
currencySymbol | You send | Customer pays | You receive |
|---|---|---|---|
INR | rupees | that INR | USDT equivalent |
USDT | USDT | INR equivalent | that USDT |
Quote in INR: amount: "50", currencySymbol: "INR" → customer pays 50 INR,
you receive the USDT equivalent.
Quote in USDT: amount: "50", currencySymbol: "USDT" → customer pays the INR
equivalent of 50 USDT at the current rate, you receive 50 USDT.
Use GET /v1/h2h/conversion-rates if you need to display the rate or quote in your UI.
Example
Request (INR)
{
"amount": "500",
"currencySymbol": "INR",
"userDetails": {
"email": "payer@example.com"
}
}Response fields
| Field | Type | Description |
|---|---|---|
transactionId | string | Primary id — use for confirm, status poll, and the portal tx row |
instanceId | string | Platform / TL Pay instance reference |
status | string | Usually pending initially |
amount | string | Requested amount |
paymentDetails | object | UPI / QR payload to render in your UI |
paymentInstructions | object | Normalized subset for display when present |
Fields to store
| Field | Store as |
|---|---|
transactionId | Primary id for confirm + portal/transaction lookups |
instanceId | Platform / TL Pay instance (support reference) |
paymentDetails | UPI / QR payload for your payment screen |
paymentInstructions | Normalized display subset, when present |
Next
After the customer pays in their UPI app, collect the bank UTR and call Confirm Payment (UTR).
Last updated on