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. Idempotency-Key is required. Replaying the same key + same body returns the first response.

Request fields

FieldTypeRequiredDescription
amountstring (numeric)YesAmount value; the unit is set by currencySymbol (see below). Limits: INR 200–500,000; USDT 1–500,000.
currencySymbolstringYesINR or USDT — which currency your amount is expressed in
userDetailsobjectYesEnd customer details. Prefer userDetails; userEmail is accepted as a legacy alias.
userDetails.emailstringYesCustomer email
returnUrlstring (HTTPS URL)NoOptional 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:

currencySymbolYou sendCustomer paysYou receive
INRrupeesthat INRUSDT equivalent
USDTUSDTINR equivalentthat 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

{ "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