Generate QR

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Generate a QR code for a UPI ATM withdrawal. QR creation does not confirm completion of the withdrawal.

POST https://pay2new.in/apis/upiAtm/v1/generateQr

Headers

HeaderRequiredDescription
secretYesYour Pay2New API secret.
outletIdYesPay2New outlet/customer ID returned after successful onboarding; do not send the provider outlet ID.
Content-TypeYesapplication/json
AcceptNoRequest a JSON response.

Requests require an active partner account, approved KYC, active wallet and API access, an allowlisted source IP, and the relevant service enabled.

JSON request

FieldRequiredDescription
amountYesAmount. Accepted as a JSON number or decimal string. Must be greater than 0.
latitudeYesLatitude as a decimal value. Accepted as a JSON number or decimal string.
longitudeYesLongitude as a decimal value. Accepted as a JSON number or decimal string.
customer_mobileYesCustomer mobile. Exactly 10 characters. Digits only.
request_idYesYour reference for this request. At least 8 characters.
product_codeYesProduct code enabled for your partner account. Retrieve it from the product list. Digits only.
ipYesIPv4 address of the customer-facing endpoint.

Usage notes

  • The amount must be positive and a multiple of ₹100.
  • status 1 confirms QR creation only. Save order_id and use QR Status to confirm the withdrawal before treating it as complete.
  • Wallet settlement happens after final status confirmation.
  • Reusing the same request_id with the same amount and customer_mobile returns the existing order_id and null QR fields. Changing either amount or mobile with the same request_id returns an error.
  • The successful response currently sets displayExpirySec to 60. Use expiryDt and QR Status when handling expiry.

Request example

All identities and account values below are synthetic. Replace placeholders, including the enabled product code and fresh device capture, before sending a request.

{
  "amount": "100.00",
  "latitude": "18.5204",
  "longitude": "73.8567",
  "customer_mobile": "9000000001",
  "request_id": "EXAMPLE202609260001",
  "product_code": "YOUR_PRODUCT_CODE",
  "ip": "192.0.2.10"
}

Response

Application status is returned in the JSON status field. A successful HTTP response alone does not confirm a successful operation.

FieldDescription
statusinteger: application status, not HTTP status
messagestring
order_idstring
txn_valuedecimal string
balancedecimal string or number
request_idstring
qrStatusprovider string or null
qrStringprovider string or null
qrMobileprovider string or null
qrCreatedDateprovider timestamp or null
expiryDtprovider timestamp or null
displayExpirySec60 on successful generation; null for duplicate/failure

Provider-dependent fields may be absent or null. status: 2 indicates a failure. For transaction endpoints, status: 3 indicates pending or uncertain processing and requires status confirmation.

For this endpoint, status: 1 confirms QR creation only; check QR Status for the withdrawal outcome.

Illustrative response:

{
  "status": 1,
  "message": "QR Generated Successfully.",
  "order_id": "EXAMPLE_ORDER_001",
  "txn_value": "100.00",
  "balance": "1000.00",
  "request_id": "EXAMPLE202609260001",
  "qrStatus": "INITIATED",
  "qrString": "QR_STRING_FROM_RESPONSE",
  "qrMobile": "9000000001",
  "qrCreatedDate": "2026-09-26T12:00:00+05:30",
  "expiryDt": "2026-09-26T12:01:00+05:30",
  "displayExpirySec": 60
}

Errors

Validation errors can include an errors object keyed by field name. Authentication, outlet, service and other processing errors can return only status and message. Errors are application-level responses; do not rely on an HTTP 400 status.

{
  "status": 2,
  "message": "Invalid Parameters",
  "errors": {
    "amount": "Provide a valid value for this field."
  }
}

Next step: QR Status

Save the returned order_id and call QR Status to confirm the withdrawal before cash disbursement. Creating a QR does not confirm a successful withdrawal.

Body Params
string
required

Amount. Accepted as a JSON number or decimal string. Must be greater than 0.

string
required

Latitude as a decimal value. Accepted as a JSON number or decimal string.

string
required

Longitude as a decimal value. Accepted as a JSON number or decimal string.

string
required

Customer mobile. Exactly 10 characters. Digits only.

string
required

Your reference for this request. At least 8 characters.

string
required

Product code enabled for your partner account. Retrieve it from the product list. Digits only.

string
required

IPv4 address of the customer-facing endpoint.

Headers
string
required

Your Pay2New API secret.

string
required

Pay2New outlet/customer ID returned after successful onboarding; do not send the provider outlet ID.

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json