| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Complete remitter biometric KYC with consent, the current reference and location.
Endpoint
POST https://pay2new.in/apis/dmt/v2/remitterKyc
Authentication
Send both headers on every request:
| Header | Required | Description |
|---|---|---|
secret | Yes | Your Pay2New-issued API secret. |
outletId | Yes | Active Pay2New customer/outlet ID from customer onboarding. |
Account and outlet access
Use an IP address registered on your partner account. The partner account, KYC, wallet, API access and DMT service must be active. The outlet must be enabled for this service.
Send an actual JSON object with Content-Type: application/json.
Request
Capture fresh biometric data through the registered device service and send it as a JSON object. The capture includes ci, hmac, pidData, ts, dc, mi, dpId, mc, rdsId, rdsVer, Skey and srno; preserve their case and use the fresh RD values. Set consentTaken to Y only after obtaining consent. KYC charges, where applicable, depend on the configured account package. Pay2New generates the transaction reference for this operation.
| Field | Type | Required | Description |
|---|---|---|---|
mobile | string | Yes | Remitter mobile number; exactly 10 digits. |
referenceKey | string | Yes | Current reference returned by the preceding step for this remitter and operation; pass it unchanged. |
latitude | decimal string | Yes | Decimal latitude of the transaction or capture location. |
longitude | decimal string | Yes | Decimal longitude of the transaction or capture location. |
biometricData | object | Yes | Fresh biometric capture object from the registered RD service. Preserve the RD field names and values. |
consentTaken | string | Yes | Customer consent. Accepted value: Y. |
Biometric request fields
Pass a JSON object using the DMT names below. In this API, the encrypted session-key field is Skey.
| JSON field | Value / RD mapping |
|---|---|
biometricData.ci | Skey.ci |
biometricData.hmac | Hmac element text |
biometricData.pidData | Data element text (encrypted PID) |
biometricData.ts | Capture timestamp returned by the RD integration, when supplied |
biometricData.dc | DeviceInfo.dc |
biometricData.mi | DeviceInfo.mi |
biometricData.dpId | DeviceInfo.dpId |
biometricData.mc | DeviceInfo.mc |
biometricData.rdsId | DeviceInfo.rdsId |
biometricData.rdsVer | DeviceInfo.rdsVer |
biometricData.Skey | Skey element text; keep this DMT field name exactly |
biometricData.srno | DeviceInfo/additional_info device serial value |
Copy capture values from the RD response without altering their case or encrypted contents. Use the actual capture counts/types; the example is a fingerprint capture. Optional device metadata should reflect what your device supplies.
Format reference: Instantpay Remitter KYC. The request below uses Pay2New’s URL, authentication and field names.
Example request
The values below are synthetic. Replace the credential, outlet ID, response references and customer details before sending a request.
curl --request POST \
--url 'https://pay2new.in/apis/dmt/v2/remitterKyc' \
--header 'secret: YOUR_PAY2NEW_SECRET' \
--header 'outletId: YOUR_PAY2NEW_OUTLET_ID' \
--header 'Content-Type: application/json' \
--data '{
"mobile": "9000000001",
"referenceKey": "REFERENCE_FROM_PREVIOUS_RESPONSE",
"latitude": "18.5204",
"longitude": "73.8567",
"biometricData": {
"ci": "FROM_FRESH_RD_CAPTURE",
"hmac": "FROM_FRESH_RD_CAPTURE",
"pidData": "FROM_FRESH_RD_CAPTURE",
"ts": "FROM_FRESH_RD_CAPTURE",
"dc": "FROM_FRESH_RD_CAPTURE",
"mi": "FROM_FRESH_RD_CAPTURE",
"dpId": "FROM_FRESH_RD_CAPTURE",
"mc": "FROM_FRESH_RD_CAPTURE",
"rdsId": "FROM_FRESH_RD_CAPTURE",
"rdsVer": "FROM_FRESH_RD_CAPTURE",
"Skey": "FROM_FRESH_RD_CAPTURE",
"srno": "FROM_FRESH_RD_CAPTURE"
},
"consentTaken": "Y"
}'
Response
Read the JSON status and message even when the HTTP request completes successfully.
| Field | Type | Description |
|---|---|---|
status | integer | Outcome of this operation; see the status notes below. |
message | string | Outcome or rejection description. |
order_id | string or null | Pay2New reference when a KYC transaction is created. |
data | array | Empty array for this operation. |
An illustrative successful KYC response:
{
"status": 1,
"message": "Remitter Registration Successful",
"order_id": "P2N_EXAMPLE_KYC_001",
"data": []
}
KYC result
1means the KYC step succeeded,2indicates rejection or failure, and3indicates an unresolved result. Keep the Pay2New reference if one is returned and confirm an unresolved result before repeating the operation.
Rejections
A missing secret header returns status: 2 and message: "Secret Header not found!". Missing outletId returns "Outlet ID not found!"; an unavailable outlet returns "Invalid OutletId". Invalid or missing JSON returns "Invalid Json!". Field validation failures return "Invalid Parameters" with an errors object containing the field messages. Application failures can be returned in an HTTP-success response.
{
"status": 2,
"message": "Invalid Json!"
}
Service-specific response fields and behaviour
Pay2New fixes captureType to FINGER and creates externalRef internally. Do not send provider credentials or a client externalRef. Its response intentionally returns data: [], even when the upstream provider returns additional data. Refresh Remitter Profile after success to get the current reference and limits.
Use pidOptionWadh from the current profile in the RD capture configuration when required; send the freshly captured encrypted PID values in the biometric object below. Never reuse the sample biometric values.
Response examples for this operation
Synthetic examples adapted to the Pay2New wrapper. Reference tokens and dates are placeholders. Provider data can omit fields depending on the outcome; the application status and current returned references control the next step.
KYC successful
{
"status": 1,
"message": "Remitter Registration Successful",
"order_id": "P2N_SAMPLE_KYC_001",
"data": []
}
KYC unresolved
{
"status": 3,
"message": "Something went wrong while processing, Kindly confirm status.",
"order_id": "P2N_SAMPLE_KYC_001",
"data": []
}
Invalid outlet
{
"status": 2,
"message": "Invalid OutletId"
}
Service unavailable
{
"status": 2,
"message": "Oops, This service is not for you!"
}
Validation error
{
"status": 2,
"message": "Invalid Parameters",
"errors": {
"biometricData": "This required field is missing or invalid."
}
}
Next step
Refresh Remitter Profile after success; do not reuse an old registration reference.
See the DMT Integration Flow for all endpoints and Webhook Information for transaction notifications.
