This API is used to onboard a customer using PAN-based details. No OTP validation step is required for this PAN-based onboarding flow.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Onboard a customer using PAN and the required customer profile.
POST https://pay2new.in/apis/v1/onboard/customerMinKyc
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. |
name | Yes | Name. |
gender | Yes | Gender. Allowed value(s): M,F,O. |
aadhaar_number | One of these two | Aadhaar number. Send the plain 12-digit value when using this field. Exactly 12 characters. Digits only. |
aadhaar | One of these two | Encrypted Aadhaar value accepted as an alternative to aadhaar_number. |
email | Yes | Email. |
address | Yes | Address. |
city | No | City. |
pincode | Yes | Pincode. Exactly 6 characters. Digits only. |
dob | Yes | Dob. Format YYYY-MM-DD. |
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. |
request_id | Yes | Your reference for this request. At least 8 characters. |
state | No | Optional profile information. |
district | No | Optional profile information. |
photo | No | Optional profile information. |
Usage notes
- Provide aadhaar_number (12 digits) or aadhaar (encrypted value). At least one is required; aadhaar takes precedence if both are supplied.
- Product 291 is used for this onboarding flow; product_code is optional.
- On success, store the returned Pay2New outletId for later outlet-based requests.
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",
"name": "Example Merchant",
"gender": "M",
"email": "[email protected]",
"address": "Example Address",
"pincode": "411001",
"dob": "1990-01-01",
"latitude": "18.5204",
"longitude": "73.8567",
"terms_agree": "Y",
"ip": "192.0.2.10",
"request_id": "EXAMPLE202609260001",
"aadhaar_number": "999999999999"
}
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 |
outletId | Pay2New customer ID, success only |
data | Object with name, address, gender, pincode, dob, state, district, photo, pan_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"
}
}
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."
}
}
