Create Pay-in (India UPI)
POST
/v1/h2h/payin-instancespayin:createCreate an India UPI (H2H) pay-in. You may send an optional Idempotency-Key header
to safely retry the same request.
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
amount | string (numeric) | Yes | Amount value; the unit is set by currencySymbol (see below) |
currencySymbol | string | Yes | INR or USDT — which currency your amount is expressed in |
userDetails | object | Yes | End customer details |
userDetails.email | string | Yes | Customer email |
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 (UPI) | You receive (settled) |
|---|---|---|---|
INR | amount in rupees | That INR amount | USDT equivalent at the current rate |
USDT | amount in USDT | INR equivalent at the current rate | That USDT amount |
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