| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Validate the signup OTP and obtain the Pay2New outlet ID.
POST https://pay2new.in/apis/v1/onboard/customer/validate
Headers
| Header | Required | Description |
|---|---|---|
secret | Yes | Your Pay2New API secret. |
Content-Type | Yes | application/json |
Accept | No | Request 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
| Field | Required | Description |
|---|---|---|
otpReferenceID | Yes | OTP reference returned by customer signup. |
hash | Yes | Hash returned by customer signup. |
otp | Yes | Otp. Digits only. |
order_id | Yes | Pay2New order reference from the preceding operation. |
request_id | Yes | Your reference for this request. At least 8 characters. |
product_code | Yes | Product code enabled for your partner account. Retrieve it from the product list. Digits only. |
Usage notes
- Use product_code 291 and the order_id, otpReferenceID and hash from Customer Signup Request.
- On success, store the returned Pay2New outletId. Send this value in the outletId header for AEPS, UPI ATM and other outlet-based operations.
- This endpoint validates signup. Mobile Change OTP Validate is a separate operation.
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.
{
"otpReferenceID": "OTP_REFERENCE_FROM_SIGNUP",
"hash": "HASH_FROM_SIGNUP",
"otp": "123456",
"order_id": "ORDER_ID_FROM_PREVIOUS_RESPONSE",
"request_id": "EXAMPLE202609260001",
"product_code": "291"
}
Response
Application status is returned in the JSON status field. A successful HTTP response alone does not confirm a successful operation.
| Field | Description |
|---|---|
status | integer: application status, not HTTP status |
message | string |
order_id | string: new validation operation ID |
request_id | string |
outletId | Pay2New customer ID, success only |
data | Object with name, address, gender, pincode, dob, state, district, photo, pan_number, aadhaar_number. |
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.
Illustrative response:
{
"status": 1,
"message": "Success",
"order_id": "EXAMPLE_ORDER_001",
"request_id": "EXAMPLE202609260001",
"outletId": "123",
"data": {
"name": "Example Merchant",
"address": "Example Address",
"gender": "M",
"pincode": "411001",
"dob": "1990-01-01",
"state": "Maharashtra",
"district": "Pune",
"photo": null,
"pan_number": "ABCDE1234F",
"aadhaar_number": "999999999999"
}
}
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": {
"otpReferenceID": "Provide a valid value for this field."
}
}
