Change Wallet Status API

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

EnvironmentURL
Testhttps://apitest.payu.in/loyalty-points/v1/wallet/onboarding/walletStatus
Productionhttps://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

ParameterDescription
token
mandatory
String AES-192-CBC encrypted request body containing all the decrypted parameters

Decrypted

Parameter Description Example
messageCode
mandatory
Numeric(4) Unique API ID for wallet status change 3530
clientTxnId
mandatory
String(100) Unique transaction ID for each request CBL-458
requestDateTime
mandatory
Numeric(14) Local timestamp when request was initiated (YYYYMMDDHHMMSS) 20220514181818
accountNumber
mandatory
String(15) Unique account number for the sub-wallet 2000123hh
statusType
mandatory
String(10) Status type to set CreditDebit
reason
optional
String(100) Reason for status change Customer request
remarks
optional
String(255) Additional remarks Temporary block due to suspicious activity

Response Parameters

ParameterDescriptionExample
responseCodeResponse status code00
messageCodeAPI response code3531
clientTxnIdEchoes the request's clientTxnIdCBL-458
accountNumberAccount number that was updated2000123hh
statusTypeNew status type appliedCreditDebit
bankIdBank identifier123
descriptionDescription of the status changeWallet status updated successfully
responseMessageResponse messageWALLET 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 CodeDescription
200OK - Request processed successfully
400Bad Request - Invalid request parameters
401Unauthorized - Authentication failed
404Not Found - Wallet/Account not found
500Internal Server Error

Error Codes

Error CodeDescription
3531Wallet status updated successfully
1010Invalid message code
1020Missing required parameters
1040Account not found
3532Invalid status type
3533Status change not allowed
Ask AI Beta

Hi! I am an AI Assistant. Ask me about PayU and get help with your integration.
Responses are generated by AI, may contain some mistakes.

EXAMPLE QUESTIONS