Remitter KYC

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

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:

HeaderRequiredDescription
secretYesYour Pay2New-issued API secret.
outletIdYesActive 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.

FieldTypeRequiredDescription
mobilestringYesRemitter mobile number; exactly 10 digits.
referenceKeystringYesCurrent reference returned by the preceding step for this remitter and operation; pass it unchanged.
latitudedecimal stringYesDecimal latitude of the transaction or capture location.
longitudedecimal stringYesDecimal longitude of the transaction or capture location.
biometricDataobjectYesFresh biometric capture object from the registered RD service. Preserve the RD field names and values.
consentTakenstringYesCustomer 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 fieldValue / RD mapping
biometricData.ciSkey.ci
biometricData.hmacHmac element text
biometricData.pidDataData element text (encrypted PID)
biometricData.tsCapture timestamp returned by the RD integration, when supplied
biometricData.dcDeviceInfo.dc
biometricData.miDeviceInfo.mi
biometricData.dpIdDeviceInfo.dpId
biometricData.mcDeviceInfo.mc
biometricData.rdsIdDeviceInfo.rdsId
biometricData.rdsVerDeviceInfo.rdsVer
biometricData.SkeySkey element text; keep this DMT field name exactly
biometricData.srnoDeviceInfo/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.

FieldTypeDescription
statusintegerOutcome of this operation; see the status notes below.
messagestringOutcome or rejection description.
order_idstring or nullPay2New reference when a KYC transaction is created.
dataarrayEmpty array for this operation.

An illustrative successful KYC response:

{
  "status": 1,
  "message": "Remitter Registration Successful",
  "order_id": "P2N_EXAMPLE_KYC_001",
  "data": []
}

📘

KYC result

1 means the KYC step succeeded, 2 indicates rejection or failure, and 3 indicates 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.

Body Params
string
required

Remitter mobile number; exactly 10 digits.

string
required

Current reference returned by the preceding step for this remitter and operation; pass it unchanged.

string
required

Decimal latitude of the transaction or capture location.

string
required

Decimal longitude of the transaction or capture location.

string
required

Customer consent. Accepted value: Y.

Headers
string
required

Pay2New-issued API secret. Use a registered source IP.

string
required

Active Pay2New customer/outlet ID from customer onboarding.

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json