Implement this API to onboard an Customer to the Pay2New platform. Pay2New will update the outlet profile if it's already registered.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Start customer onboarding and request the signup OTP.
POST https://pay2new.in/apis/v1/onboard/customer
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 |
|---|---|---|
mobile_number | Yes | Mobile number. Exactly 10 characters. Digits only. |
pan_number | Yes | Pan number. Exactly 10 characters. |
aadhaar_number | Yes | Aadhaar number. Send the plain 12-digit value when using this field. Must be greater than 0. |
email | Yes | Email. |
latitude | Yes | Latitude as a decimal value. Accepted as a JSON number or decimal string. |
longitude | Yes | Longitude as a decimal value. Accepted as a JSON number or decimal string. |
terms_agree | Yes | Customer consent. Send Y only after receiving consent. Allowed value(s): Y. |
product_code | No | Product code enabled for your partner account. Retrieve it from the product list. Digits only. |
ip | Yes | IPv4 address of the customer-facing endpoint. |
account_number | Yes | Account number. |
ifsc | Yes | Destination bank IFSC. |
request_id | Yes | Your reference for this request. At least 8 characters. |
Usage notes
- Use product 291 for onboarding; product_code is optional on this request.
- Keep the returned order_id, data.otpReferenceID and data.hash for Signup OTP Validate.
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.
{
"mobile_number": "9000000001",
"pan_number": "ABCDE1234F",
"aadhaar_number": "999999999999",
"email": "[email protected]",
"latitude": "18.5204",
"longitude": "73.8567",
"terms_agree": "Y",
"ip": "192.0.2.10",
"account_number": "000000000001",
"ifsc": "ABCD0123456",
"request_id": "EXAMPLE202609260001"
}
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 |
request_id | string |
data | provider response object containing otpReferenceID and hash when provided |
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",
"data": {
"otpReferenceID": "EXAMPLE_OTP_REFERENCE",
"hash": "EXAMPLE_HASH"
}
}
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": {
"mobile_number": "Provide a valid value for this field."
}
}
