The Load API allows you to credit money directly into a customer's wallet without involving Payment Gateway (PG) transactions. This API enables merchants to load funds directly into wallets with specific parameters.
API Details
HTTP Method: PATCH
Endpoint: https://apitest.payu.in/loyalty-points/v1/wallet/load-account
Request Header
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
Parameter | Description | Example |
---|---|---|
messageCodemandatory |
Numeric(4) Unique code to identify the Load API request type |
1080 |
clientTxnIdmandatory |
String(100) Unique ID generated by the client application for this transaction |
20150701235959xhstiesqfds |
requestDateTimemandatory |
Numeric(14) Local timestamp when the transaction originated (YYYYMMDDHHMMSS format) |
20161031214559 |
customerMobileconditional |
Numeric(13) Mobile number with ISD code of the wallet holder. Mandatory if customerId or urn is absent |
919988776655 |
customerIdconditional |
String(20) Unique identifier for the customer. Mandatory if customerMobile or urn is absent |
0011001188721 |
urnconditional |
Numeric(11) Unique wallet reference number. Mandatory if customerMobile or customerId is absent |
70000000008 |
transactionAmountmandatory |
Numeric(12) Amount to be loaded onto the wallet in implied decimals (₹5.25 → 525) |
525 |
sendermandatory |
String(100) Name of the sender (wallet, account holder, or organization) |
Amazon |
loadCurrencymandatory |
String(500) Currency for the transaction |
INR |
fundFlowTypemandatory |
String(20) Type of fund flow: O, I, IO, OR, IR, IOR |
I |
implIdmandatory |
String(100) Implementation ID based on the program (refer to Impl Mapping List) |
I|70020 |
implTypemandatory |
String(100) Implementation type based on the use case (refer to Impl Mapping List) |
P2M_W2A_O |
sourceTypeoptional |
Numeric(2) Source of funding: Wallet (0) / Account (1) |
0 |
feeoptional |
Numeric(10) Fee collected for the transaction in implied decimals |
100 |
originalClientTxnIdconditional |
String(500) Original transaction ID (used in case of refunds) |
20150701235959xhstiesqfds |
refundFileIdoptional |
String(500) Information on refund-related files |
Sample Request
curl --location --request PATCH 'https://apitest.payu.in/loyalty-points/v1/wallet/load-account' \
--header 'walletIdentifier: CLW' \
--header 'authorization: hmac username="smsplus", algorithm="sha512", headers="date", signature="example_signature"' \
--header 'date: Wed, 12 Jun 2024 08:53:43 GMT' \
--header 'Content-Type: application/json' \
--data-raw '{
"messageCode": "1080",
"clientTxnId": "Reload_V3_IZKwhPNm0559",
"requestDateTime": "20240212034654",
"customerMobile": "9199998035345",
"transactionAmount": 1500,
"sender": "AMAZON",
"loadCurrency": "INR",
"sourceType": 0,
"sourceAccount": "27389282",
"implId": "I|70190",
"implType": "PG_TU_I",
"fundFlowType": "I"
}'
Response Parameters
Parameter | Description | Example |
---|---|---|
messageCodemandatory |
Numeric(4) Code to identify Load API Response |
1081 |
clientTxnIdmandatory |
String(100) Unique ID passed in the request, echoed in the response |
20150701235959xhstiesqfds |
responseCodemandatory |
String Status code of the operation |
00 |
responseMessagemandatory |
String Text description of the API call result |
SUCCESS |
responseDateTimemandatory |
String Response timestamp |
20240522114126 |
urnconditional |
Numeric(11) Unique reference number (wallet creation) |
70000000008 |
accosaRefNomandatory |
Numeric(20) Auto-generated transaction-specific reference number |
123212 |
accosaTransactionIdmandatory |
Numeric(10) Unique ID for a particular transaction |
3591893 |
availableBalanceoptional |
Numeric The updated wallet balance after the transaction |
1500 |
availableCashLimitoptional |
Numeric Available cash limit in the wallet |
0 |
transactionAmountoptional |
Numeric Amount that was loaded in the transaction |
1500 |
Sample Response
{
"urn": 1000019,
"responseCode": "00",
"messageCode": 1081,
"clientTxnId": "Reload_V3_IZKwhPNm0559",
"responseDateTime": "20240522114126",
"accosaTransactionId": 424,
"responseMessage": "SUCCESS",
"accosaRefNo": "151",
"availableBalance": 1500,
"availableCashLimit": 0,
"transactionAmount": 1500
}