Load API

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.

HTTP Method: PATCH

Endpoint: `

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
↩️

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)
Unique code to identify the Load API request type. You must post only 1080 for this API
1080
clientTxnId
mandatory
String(100)
Unique ID generated by the client application for this transaction
20150701235959xhstiesqfds
requestDateTime
mandatory
Numeric(14)
Local timestamp when the transaction originated (YYYYMMDDHHMMSS format)
20161031214559
customerMobile
conditional
Numeric(13)
Mobile number with ISD code of the wallet holder. Mandatory if customerId or urn is absent
919988776655
customerId
conditional
String(20)
Unique identifier for the customer. Mandatory if customerMobile or urn is absent
0011001188721
urn
conditional
Numeric(11)
Unique wallet reference number. Mandatory if customerMobile or customerId is absent
70000000008
transactionAmount
mandatory
Numeric(12)
Amount to be loaded onto the wallet in implied decimals (₹5.25 → 525)
525
sender
mandatory
String(100)
Name of the sender (wallet, account holder, or organization)
Amazon
loadCurrency
mandatory
String(500)
Currency for the transaction
INR
fundFlowType
mandatory
String(20)
Type of fund flow: O, I, IO, OR, IR, IOR
I
implId
mandatory
String(100)
Implementation ID based on the program. For more information, refer to [IMPL Mapping](#impl-mapping).
I|70020
implType
mandatory
String(100)
Implementation type based on the use case (refer to Impl Mapping List)
P2M_W2A_O
sourceType
optional
Numeric(2)
Source of funding: Wallet (0) / Account (1)
0
fee
optional
Numeric(10)
Fee collected for the transaction in implied decimals
100
originalClientTxnId
conditional
String(500)
Original transaction ID (used in case of refunds)
20150701235959xhstiesqfds
refundFileId
optional
String(500)
Information on refund-related files

IMPL Mapping

KeyValue
fund.flow.typeI
impl.idI|70190
impl.typePG_TU_I

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
messageCode
mandatory
Numeric(4)
Code to identify Load API Response
1081
clientTxnId
mandatory
String(100)
Unique ID passed in the request, echoed in the response
20150701235959xhstiesqfds
responseCode
mandatory
String
Status code of the operation
00
responseMessage
mandatory
String
Text description of the API call result
SUCCESS
responseDateTime
mandatory
String
Response timestamp
20240522114126
urn
conditional
Numeric(11)
Unique reference number (wallet creation)
70000000008
accosaRefNo
mandatory
Numeric(20)
Auto-generated transaction-specific reference number
123212
accosaTransactionId
mandatory
Numeric(10)
Unique ID for a particular transaction
3591893
availableBalance
optional
Numeric
The updated wallet balance after the transaction
1500
availableCashLimit
optional
Numeric
Available cash limit in the wallet
0
transactionAmount
optional
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
}

API Response Codes

Error CodeDescription
00SUCCESS
1009CARD_CANCELLED_CLOSED_EXPIRED
1010CARD_TEMPORARY_BLOCK
1012CARD_PENDING_CANCELLATION
1013AML MIN LIMIT
1030INVALID_MESSAGE
1045UNABLE_TO_PROCESS_REQUEST
1054DUPLICATE REQUEST
1056INVALID MESSAGE CODE
1058INVALID_WALLETS
1088INVALID REQUEST DATE format
1093INVALID CLIENT TXN ID
1101UNKNOWN_SOURCE_ACCOUNT_TYPE
1121CARD_CREDIT_DEBIT_BLOCK
1135REFUND_AMOUNT_GREATER_THAN_ORIGINAL_TXN_AMOUNT
1138CURRENCY NOT MATCHING WITH CARD CURRENCY
1246ORIGINAL_TXN_NOT_EXIST
1247SOURCE_ACC_TYPE_NOT_MACHED_WITH_IMPL
1303CUSTOMER DETAILS NOT PRESENT
1304MORE THAN ONE CUSTOMER IDENTIFIER NOT ALLOWED
1322TRANSACTION AMOUNT CANNOT BE ZERO
1325FUND FLOW TYPE MISMATCH
1326IMPL ID MISMATCH
1357WALLET DETAILS NOT FOUND
1353COOLING OFF PERIOD BETWEEN TWO LOADS NOT COMPLETED
1354CORPORATE_LEVEL_LIMIT_EXCEEDED
1359INVALID LOAD AMOUNT
1366PROGRAM IS INACTIVE
1367PROGRAM NOT FOUND
1368WALLET OR ACCOUNTNO SHOULD BE PRESENT
1398ACCOUNTNO SHOULD BE PRESENT
1501SYSTEM_ERROR_DB
1504SYSTEM_CACHE_FAILURE
6000ACCOUNT DORMANT
6002ACCOUNT PERMANENTLY BLOCKED OR CLOSED
6014ACCOUNT IN TEMPORARILY BLOCKED STATE
6016ACCOUNT IN CREDIT BLOCKED STATE
6017ACCOUNT ALREADY IN CREDIT_DEBIT BLOCKED STATE
10153AMOUNT IS NOT WITHIN MIN-MAX RANGE
10163PROGRAM DAILY LIMIT EXCEEDED
1392FUND FLOW TYPE NOT PRESENT IN THE REQUEST
6909SENDER CUSTOMER NOT FOUND
10044SENDER INFO INVALID LENGTH
1319SOURCE_ACCOUNT_INVALID_LENGTH
1103INVALID_TRANSACTION_AMOUNT