The **PG Load **API allows you to create a credit transaction entry directly into the wallet without going through a payment gateway. This is useful for scenarios like cashback, rewards, or direct fund transfers.
Environment
Environment | URL |
---|---|
Test | https://apitest.payu.in/loyalty-points/ppi/payment/pg-load/v1 |
HTTP Method: PATCH
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 |
---|---|---|
clientTxnId |
| Reload_V3_1234 |
requestDateTime |
| 20230822183015 |
customerId
|
| 89342546 |
customer.firstName
|
| Ashish |
customer.lastName
|
| Mishra |
customer.mobileNumber |
| 919988776655 |
customer.email
|
| |
surl |
| |
furl |
| |
currency |
| INR |
loadAmount |
| 1500 |
seamlessTransaction |
| false |
Response Parameters
Parameter | Description | Example** |
---|---|---|
referenceId | Reference ID of Transaction | e47293311906aeb0eb65168adacdce01 |
data.redirectUrl | Redirection link | "https://pp1api.payu.in/public/#/e47293311906aeb0eb65168adacdce0" |
seamlessTxn | Identifier if it is a seamless transaction or non seamless | true/false |
Sample Request
curl --location --request POST 'https://apitest.payu.in/loyalty-points/ppi/payment/pg-load/v1' \
--header 'walletIdentifier: CLW' \
--header 'date: Wed, 12 Jun 2024 08:53:43 GMT' \
--header 'authorization: hmac username="smsplus", algorithm="sha512", headers="date", signature="v15rnvh1InSEWRq6EW9BCfXlxO0QI/4Sxxmdxd2f4Q0="' \
--header 'Content-Type: application/json' \
--data-raw '{
"clientTxnId": "testRegistration10",
"requestDateTime": "20230620123143", {
"customer": {
"firstName": "FGHJ",
"lastName": "DFTTYUI",
"email": "[email protected]",
"mobileNumber": "919999999999"
},
"surl": "https://pp1admin.payu.in/test_response",
"furl": "https://pp1admin.payu.in/test_response",
"currency": "INR",
"loadAmount": 4100,
"customerId": "2201919",
"seamlessTxn": false
}
Sample Response
{
"referenceId": "e47293311906aeb0eb65168adacdce01",
"data": {
"redirectUrl": "https://pp1api.payu.in/public/#/e47293311906aeb0eb65168adacdce0"
},
"seamlessTxn": false
}
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 not found |
500 | Internal Server Error |
Error Codes
Error Code | Description |
---|---|
1081 | Load transaction successful |
1010 | Invalid message code |
1020 | Missing required parameters |
1040 | Wallet not found |
1050 | Transaction limit exceeded |