Skip to Content
IndiaPayinCreate Pay-in (India UPI)

Create Pay-in (India UPI)

POST/v1/h2h/payin-instancespayin:create

Create an India UPI (H2H) pay-in. You may send an optional Idempotency-Key header to safely retry the same request.

Request fields

FieldTypeRequiredDescription
amountstring (numeric)YesAmount value; the unit is set by currencySymbol (see below)
currencySymbolstringYesINR or USDT — which currency your amount is expressed in
userDetailsobjectYesEnd customer details
userDetails.emailstringYesCustomer 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:

currencySymbolYou sendCustomer pays (UPI)You receive (settled)
INRamount in rupeesThat INR amountUSDT equivalent at the current rate
USDTamount in USDTINR equivalent at the current rateThat 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

{ "amount": "500", "currencySymbol": "INR", "userDetails": { "email": "payer@example.com" } }

Response fields

FieldTypeDescription
transactionIdstringPrimary id — use for confirm, status poll, and the portal tx row
instanceIdstringPlatform / TL Pay instance reference
statusstringUsually pending initially
amountstringRequested amount
paymentDetailsobjectUPI / QR payload to render in your UI
paymentInstructionsobjectNormalized subset for display when present

Fields to store

FieldStore as
transactionIdPrimary id for confirm + portal/transaction lookups
instanceIdPlatform / TL Pay instance (support reference)
paymentDetailsUPI / QR payload for your payment screen
paymentInstructionsNormalized 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