The Retrieve Customer Record API allows you to fetch customer details using various identifiers such as customerId, mobileNumber or urn.
Environment
| Environment | URL |
|---|---|
| Test | https://apitest.payu.in/loyalty-points/v1/wallet/retrieveCustRecord |
| Production | https://api.payu.in/loyalty-points/v1/wallet/retrieveCustRecord |
HTTP Method: POST
Request Headers
This API uses HMAC-SHA512 authentication on the header.
| Parameter | Description |
|---|---|
|
walletIdentifier mandatory |
String Program Type (e.g., CLW)
|
|
date mandatory |
String GMT formatted date (e.g., Thu, 17 Feb 2022 08:17:59 GMT)
|
|
Authorization mandatory |
String HMAC-SHA512-based authentication token
|
|
Content-Type mandatory |
String application/json
|
If you do not post the authentication, you will get error in response. For the list of error codes, refer to Status Codes
hmac authentication logic
hmac username="smsplus", algorithm="sha512", headers="date", signature="7ff938849aa79265a3de63fe241dfecb1c680f58c6d11e9f9ca08512afea374705eb9f8995ef6c4584e16eca2e1dc688262bb0937a36cc0f75ec22a9eea33523"
Where, the fields in this example are:
- username: The merchant key of the merchant.
- algorithm: This must have the value as hmac-sha512 that is used for this API.
- headers: This must have the value as date digest.
- signature: This must contain the hmacsha512 of (signing_string, merchant_secret), where:
- signing_string: It must be in the "date: {dateValue}"format. Here, the dateValue is the same values in the fields listed in this table For example, "date: Thu, 17 Feb 2022 08:17:59 GMT"
- merchant_secret: The merchant Salt of the merchant. For more information on getting the merchant Salt, refer to Generate Merchant Key and Salt.
Request Parameters
| parameter | description | example |
|---|---|---|
messageCode mandatory |
Numeric (4) - API Code to uniquely identity 'Register Customer' API. Only the value 1930 for this API |
1930 |
clientTxnId mandatory |
AlphaNumeric (100) - Unique Id generated by the calling application for each transaction. This ID should always unique in all API Requests. |
20150701235959xhstiesqfds |
requestDateTime mandatory |
Numeric (14) - Local Date and time stamp when the transaction originated from the calling application in YYYYMMDDHHMMSS |
20161031214559 |
customerMobile optional |
Numeric (15) - This is customer mobile number including country code |
916789123456 |
customerId optional |
String (20) - Customer Id, which uniquely identifies the walletholder in the client system |
0011001188721 |
emailId optional |
String(50) - Email Address of the Customer. |
[email protected] |
urn optional |
Numeric(11) - A unique reference number for the generated wallet. |
70000000008 |
Note: At least one of
customerMobile,customerId, orurnmust be provided.
Sample Request
curl --location 'https://apitest.payu.in/loyalty-points/v1/wallet/retrieveCustRecord' \
--header 'walletIdentifier: CLW' \
--header 'authorization: hmac username="Merchant_Key", algorithm="hmac-sha256", headers="date digest", signature="9h+PZ/ocY2ovWEF8ehvbNF9VDuz/wCIToMtO75oVE3Y="' \
--header 'date: Thu, 15 Oct 2026 11:10:44 GMT' \
--header 'Content-Type: application/json' \
--header 'Cookie: PHPSESSID=s4uujktf7gm484pt7uk7bdhv55; USERTXNINFO=6a4ce9368d6b52.40212033' \
--header 'Digest: p8V80K7BOrKq2L9pEtU+TuxW8gF7DPJdYniMqXFkcCY=' \
--data '{
"messageCode":1930,
"clientTxnId": "Test_93009874",
"requestDateTime": "20260901184938",
"customerMobile": "918954957892"
}'Response Parameters
| Parameter | Description | Example |
|---|---|---|
customerId | Unique identifier for the customer. | 000000330412 |
responseCode | Response status code. | 00 |
messageCode | API response code. | 1931 |
clientTxnId | Mirrors the request's clientTxnId. | Test_93009874 |
clientId | Client identifier assigned by PayU. | 3000 |
responseDateTime | Timestamp of the response in YYYYMMDDHHmmss format. | 20261015164044 |
accosaTransactionId | Internal transaction ID generated by Accosa. | 693965 |
responseMessage | Response message. | SUCCESS |
bankId | Identifier of the bank associated with the wallet. | 6050 |
profileId | Profile identifier of the customer. | 30 |
mobile | Customer mobile number. | 9189549578920 |
firstName | Customer first name. | Shubham |
lastName | Customer last name. | Tyagi |
dob | Date of birth of the customer. | |
kycName | KYC type of the customer. | MIN KYC |
riskCategory | Risk classification of the customer. | LOW_RISK |
riskScore | Numerical risk score of the customer. | 12 |
rekyc | Indicates if re-KYC is required. | false |
dormancy | Indicates if the account is dormant. | false |
rekycValidity | Validity date for re-KYC. | 13-10-2036 |
form60 | Indicates if Form 60 has been submitted. | false |
panValid | Indicates if the PAN is valid. | false |
cardList | List of cards linked to the customer. Refer to the cardList Object | Array |
enableVideoKyc | Indicates if video KYC is enabled for the customer. | false |
kycType | KYC completion type of the customer. | MIN_COMPLETED |
cardList JSON Object
| Parameter | Description | Example |
|---|---|---|
cardNumber | Masked card number. | 100004 XXXXXX 2603 |
lastFourDigit | Last four digits of the card. | 2603 |
entityName | Name of the entity associated with the card. | PAYU |
cardType | Type of the card. | TRAVEL CARD |
profileId | Profile ID associated with the card. | 0 |
cardStatus | Status code of the card. | 0 |
availableBalance | Available balance on the card. | 0 |
createdOn | Date the card was created. | 13-Oct-2026 |
updatedOn | Date the card was last updated. | 13-Oct-2026 |
urn | Unique reference number for the card. | 1009650 |
statusDescription | Human-readable status of the card. | Active |
transactionProfiles | List of transaction profiles linked to the card. Refer to transactionProfiles Object. | Array |
subwalletListDetails | List of sub-wallets linked to the card. Refer to the subwalletListDetails Object table below. | Array |
uniqueNumberValidity | Validity period of the card's unique number (MMYY). | 1031 |
cardLinked | Indicates if the card is linked. | false |
transactionProfiles JSON Object
| Parameter | Description | Example |
|---|---|---|
transactionProfileId | Unique identifier for the transaction profile. | 1 |
status | Indicates if the transaction profile is active. | false |
transactionType | Type of transaction. Possible values: e-Com, POS, ATM, NFC_CARD_BASED. | e-Com |
transactionRegionName | Region applicable for the transaction. Possible values: DOMESTIC, INTERNATIONAL. | DOMESTIC |
subwalletListDetails JSON Object
| Parameter | Description | Example |
|---|---|---|
subwallet_id | Unique identifier for the sub-wallet. | 3005cabc37e_1 |
default_wallet | Indicates if this is the default wallet. 1 = Yes. | 1 |
available_balance | Available balance in the sub-wallet. | 0 |
account_number | Account number of the sub-wallet. | 605030003190294 |
account_status | Status code of the sub-wallet account. | 0 |
subwallet_name | Name of the sub-wallet. | General |
accountValidity | Validity date of the sub-wallet account. | 13-10-2027 |
Sample Response
{
"customerId": "000000330412",
"responseCode": "00",
"messageCode": 1931,
"clientTxnId": "Test_93009874",
"clientId": "3000",
"responseDateTime": "20261015164044",
"accosaTransactionId": 693965,
"responseMessage": "SUCCESS",
"bankId": 6050,
"profileId": 30,
"mobile": "9189549578920",
"firstName": "Shubham",
"lastName": "Tyagi",
"dob": "",
"kycName": "MIN KYC",
"riskCategory": "LOW_RISK",
"riskScore": 12,
"rekyc": false,
"dormancy": false,
"rekycValidity": "13-10-2036",
"form60": false,
"panValid": false,
"cardList": [
{
"cardNumber": "100004 XXXXXX 2603",
"lastFourDigit": "2603",
"entityName": "PAYU",
"cardType": "TRAVEL CARD",
"profileId": 0,
"cardStatus": 0,
"availableBalance": 0,
"createdOn": "13-Oct-2026",
"updatedOn": "13-Oct-2026",
"urn": 1009650,
"statusDescription": "Active",
"transactionProfiles": [
{
"transactionProfileId": 1,
"status": false,
"transactionType": "e-Com",
"transactionRegionName": "DOMESTIC"
},
{
"transactionProfileId": 2,
"status": false,
"transactionType": "POS",
"transactionRegionName": "DOMESTIC"
},
{
"transactionProfileId": 3,
"status": false,
"transactionType": "ATM",
"transactionRegionName": "DOMESTIC"
},
{
"transactionProfileId": 4,
"status": false,
"transactionType": "NFC_CARD_BASED",
"transactionRegionName": "DOMESTIC"
},
{
"transactionProfileId": 5,
"status": false,
"transactionType": "e-Com",
"transactionRegionName": "INTERNATIONAL"
},
{
"transactionProfileId": 6,
"status": false,
"transactionType": "POS",
"transactionRegionName": "INTERNATIONAL"
},
{
"transactionProfileId": 7,
"status": false,
"transactionType": "ATM",
"transactionRegionName": "INTERNATIONAL"
},
{
"transactionProfileId": 8,
"status": false,
"transactionType": "NFC_CARD_BASED",
"transactionRegionName": "INTERNATIONAL"
}
],
"subwalletListDetails": [
{
"subwallet_id": "3005cabc37e_1",
"default_wallet": 1,
"available_balance": "0",
"account_number": "605030003190294",
"account_status": "0",
"subwallet_name": "General",
"accountValidity": "13-10-2027"
}
],
"uniqueNumberValidity": "1031",
"cardLinked": false
}
],
"enableVideoKyc": false,
"kycType": "MIN_COMPLETED"
}