The Change Wallet Status API allows you to change the operational status of a wallet. This includes temporarily blocking, marking as dormant, or permanently closing a wallet. This API is essential for wallet lifecycle management and compliance requirements.
Environment
Environment | URL |
---|---|
Test | https://apitest.payu.in/loyalty-points/v1/wallet/onboarding/walletStatus |
Production | https://api.payu.in/loyalty-points/v1/wallet/onboarding/walletStatus |
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
|
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
Body Parameters
The request body contains both encrypted and decrypted parameters.
Encrypted
Parameter | Description |
---|---|
tokenmandatory | String AES-192-CBC encrypted request body containing all the decrypted parameters |
Decrypted
Parameter | Description | Example |
---|---|---|
messageCodemandatory |
Numeric(4) Unique API ID for wallet status change |
3530 |
clientTxnIdmandatory |
String(100) Unique transaction ID for each request |
CBL-458 |
requestDateTimemandatory |
Numeric(14) Local timestamp when request was initiated (YYYYMMDDHHMMSS) |
20220514181818 |
accountNumbermandatory |
String(15) Unique account number for the sub-wallet |
2000123hh |
statusTypemandatory |
String(10) Status type to set |
CreditDebit |
reasonoptional |
String(100) Reason for status change |
Customer request |
remarksoptional |
String(255) Additional remarks |
Temporary block due to suspicious activity |
Response Parameters
Parameter | Description | Example |
---|---|---|
responseCode | Response status code | 00 |
messageCode | API response code | 3531 |
clientTxnId | Echoes the request's clientTxnId | CBL-458 |
accountNumber | Account number that was updated | 2000123hh |
statusType | New status type applied | CreditDebit |
bankId | Bank identifier | 123 |
description | Description of the status change | Wallet status updated successfully |
responseMessage | Response message | WALLET STATUS UPDATED SUCCESSFULLY |
Sample Request
Encrypted Packet
curl --location --request POST 'https://apitest.payu.in/loyalty-points/v1/wallet/onboarding/walletStatus' \
--header 'walletIdentifier: CLW' \
--header 'date: Wed, 12 Jun 2024 08:53:43 GMT' \
--header 'authorization: hmac username="smsplus", algorithm="sha512", headers="date", signature="hmac_generated_signature"' \
--header 'Content-Type: application/json' \
--data-raw '{
"token": "h/0YSUd9jKOQ8+2Dc3Phr4s7vxyz123..."
}'
Decrypted Packet
{
"messageCode": 3530,
"clientTxnId": "CBL-458",
"requestDateTime": "20220514181818",
"accountNumber": "2000123hh",
"statusType": "CreditDebit",
"reason": "Customer request",
"remarks": "Temporary block due to suspicious activity"
}
Sample Response
Encrypted Response
{
"result": "h/0YSUd9jKOQ8+2Dc3Phr4s7vxyz789..."
}
Decrypted Response
{
"responseCode": "00",
"messageCode": 3531,
"clientTxnId": "CBL-458",
"accountNumber": "2000123hh",
"statusType": "CreditDebit",
"bankId": "123",
"description": "Wallet status updated successfully",
"responseMessage": "WALLET STATUS UPDATED SUCCESSFULLY"
}
HTTP Status Codes
Status Code | Description |
---|---|
200 | OK - Request processed successfully |
400 | Bad Request - Invalid request parameters |
401 | Unauthorized - Authentication failed |
404 | Not Found - Wallet/Account not found |
500 | Internal Server Error |
Error Codes
Error Code | Description |
---|---|
3531 | Wallet status updated successfully |
1010 | Invalid message code |
1020 | Missing required parameters |
1040 | Account not found |
3532 | Invalid status type |
3533 | Status change not allowed |