| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Perform detailed PAN verification. Identity attributes, masked contact details, Aadhaar-linking status and address information depend on the verification source.
Endpoint
POST https://pay2new.in/apis/v1/verification/panDetails
Headers
| Header | Required | Value / description |
|---|---|---|
secret | Yes | Your Pay2New API secret. Keep it on your server. |
Content-Type | Yes for JSON requests | application/json |
Accept | Optional | application/json |
Authentication
Use an active Pay2New partner account with verified KYC, an active wallet and API access. Send requests from your registered IP address. Enable the relevant service where applicable; offer services may also require an active plan.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
number | string | Yes | PAN in standard 10-character format: 5 letters, 4 digits, 1 letter. Send uppercase. |
request_id | string | Yes | Unique client reference for this request. Store it for reconciliation and support. |
optional1 | string | No | Customer name as per PAN records, when available. |
optional2 | string | No | Reserved or provider-specific input. Omit unless instructed by Pay2New. |
optional3 | string | No | Reserved or provider-specific input. Omit unless instructed by Pay2New. |
optional4 | string | No | Reserved or provider-specific input. Omit unless instructed by Pay2New. |
customer_number | string | Yes | Customer mobile number; exactly 10 numeric digits. |
latitude | decimal string | Yes | Customer/outlet latitude as a decimal value. |
longitude | decimal string | Yes | Customer/outlet longitude as a decimal value. |
pincode | string | Yes | Exactly 6 characters; send a valid Indian PIN code. |
ip | string | Yes | End-user IPv4 address. |
outletId | string | Yes | Active Pay2New customer/outlet ID. Send this field in the JSON body. |
Request example
Illustrative values
All identifiers, identity data, amounts and IP addresses in these examples are synthetic. Replace the secret, product/customer references and sample inputs with the values for your integration before sending a request.
curl --request POST \
--url 'https://pay2new.in/apis/v1/verification/panDetails' \
--header 'secret: <YOUR_PAY2NEW_SECRET>' \
--header 'Content-Type: application/json' \
--data '{
"number": "ABCDE1234F",
"request_id": "PANDET202609260001",
"customer_number": "9999999999",
"latitude": "19.0760",
"longitude": "72.8777",
"pincode": "400001",
"ip": "203.0.113.10",
"outletId": "YOUR_OUTLET_ID",
"optional1": "SAMPLE CUSTOMER"
}'
Response fields
| Field | Type | Description |
|---|---|---|
status | integer | 1: successful operation; 2: failed/rejected operation; 3: pending or indeterminate where returned. |
message | string | Human-readable result or error message. |
data | object / array | Service/provider response data. Available keys depend on the selected product and verification source; allow missing or null optional fields. |
order_id | string | Pay2New transaction/order reference. Store it for reconciliation. |
Common detailed fields
| Field | Description |
|---|---|
data.status | Verification-source status such as VALID or INVALID, when returned. |
data.reference_id | Verification-source reference. |
data.registered_name | Registered name. |
data.name_pan_card | Name associated with the PAN card record, when available. |
data.type | PAN holder/entity type. |
data.masked_aadhaar_number | Masked Aadhaar value, when available. |
data.aadhaar_linked | Aadhaar-linking indication, when available. |
data.address | Address object. Treat child fields as optional. |
Response example
{
"status": 1,
"message": "Transaction Successful",
"data": {
"status": "VALID",
"message": "PAN verified successfully",
"reference_id": 21637861,
"verification_id": "P2NPD202608260001",
"name_provided": "SAMPLE CUSTOMER",
"pan": "ABCDE1234F",
"registered_name": "SAMPLE CUSTOMER",
"name_pan_card": "SAMPLE CUSTOMER",
"first_name": "SAMPLE",
"last_name": "CUSTOMER",
"type": "Individual or Person",
"gender": "Male",
"date_of_birth": "27-10-1995",
"masked_aadhaar_number": "XXXXXXXX8848",
"email": "s*****@example.com",
"mobile_number": "99XXXXXX99",
"aadhaar_linked": true,
"address": {
"full_address": "Sample Address, Mumbai, Maharashtra 400001, India",
"street": "Sample Street",
"city": "Mumbai",
"state": "Maharashtra",
"pincode": 400001,
"country": "India"
}
},
"order_id": "P2NPD202608260001"
}
Integration notes
The data examples follow the Pay2New verification integration guide. Returned identity fields depend on the verification source and can be masked, absent, empty or null. Do not require every illustrated child field in your parser.
Integration notes
If data.status is present, inspect it in addition to the top-level result. The registered_name may differ from the name printed on a physical PAN card. optional1 can carry the customer name as per PAN records when available.
Errors
Application failures return status: 2 and a message. Invalid fields can also be identified in an errors object. Authentication, IP registration, service access and product availability can prevent processing. Other response fields may be absent when processing fails before a transaction is created. Evaluate the JSON result even when the HTTP request completes successfully. Preserve your request and order references when an outcome is pending or indeterminate.
{
"status": 2,
"message": "Invalid Parameters",
"errors": {
"number": "Illustrative field validation message"
}
}
