POSTSend Transaction OTP
Request an OTP to the sender's mobile to authorise a PPI Levin transfer.
Dispatches an OTP to the sender for an upcoming transfer to a given recipient and amount. Returns an otp_ref_id to pass, with the OTP, into Initiate Transaction.
Body parameters
| Field | Type | Required | Description |
|---|---|---|---|
initiator_id | string | required | Registered mobile number of the API user (see Platform Credentials).e.g. 9962981729 |
user_code | string | required | User code of the retailer/agent the service is run for.e.g. 20810200 |
client_ref_id | string | optional | Unique reference id per API call, generated by your system.e.g. REQ-20260101-001 |
recipient_id | integer | required | Unique ID generated while adding the recipient.e.g. 10017740 |
amount | integer | required | Amount to be transferred (INR).e.g. 110 |
customer_id | string | required | Sender's 10-digit mobile number.e.g. 9444444444 |
service_code | integer | optional | Fixed service code. Send 80.e.g. 80 |
beneficiary_id | string | optional | Beneficiary ID generated when adding the recipient's bank.e.g. 40367 |
initiator_idstringRequiredRegistered mobile number of the API user (see Platform Credentials).
example: 9962981729
user_codestringRequiredUser code of the retailer/agent the service is run for.
example: 20810200
client_ref_idstringoptionalUnique reference id per API call, generated by your system.
example: REQ-20260101-001
recipient_idintegerRequiredUnique ID generated while adding the recipient.
example: 10017740
amountintegerRequiredAmount to be transferred (INR).
example: 110
customer_idstringRequiredSender's 10-digit mobile number.
example: 9444444444
service_codeintegeroptionalFixed service code. Send 80.
example: 80
beneficiary_idstringoptionalBeneficiary ID generated when adding the recipient's bank.
example: 40367
Headers
| Field | Type | Required | Description |
|---|---|---|---|
developer_key | string | required | Static API key issued to your account after KYC. |
secret-key | string | required | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
secret-key-timestamp | string | required | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
content-type | string | required | application/jsone.g. application/json |
developer_keystringRequiredStatic API key issued to your account after KYC.
secret-keystringRequiredDynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))).
secret-key-timestampstringRequiredCurrent time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time.
content-typestringRequiredapplication/json
example: application/json
Responses
statusnumberPrimary success indicator (0 = success).
messagestringHuman-readable response / error message.
response_status_idnumberGranular status id; see the shared error-codes table.
response_type_idnumberA unique id for every possible response shape (success or error) — useful for client logic branching and analytics.
dataobjectAPI-specific response payload.
otp_ref_idstringOTP session reference — pass to Initiate Transaction.