Skip to content

Wallet Redeem API

| View as Markdown

This API is used to redeem wallet amounts to a consumer’s account using UPI or mPesa. It requires merchant ID, token, private key, wallet user, order ID, amount, channel, payee identifier, merchant domain, output format, and checksum. A successful request returns the transaction status, merchant ID, wallet user, and wallet balance.

https://kraken.airpay.co.in/airpay/wallet/api/redeemApi.php
ParameterType ValueDescriptionValue Like
Content-Type requiredStringThe Content-Type header indicates the media type of the request or response body so the receiver knows how to process the data.application/x-www-form-urlencodeds
ParameterType ValueDescriptionValue Like
merchant_id requiredNumber
(1-20)
Merchant ID18999
token requiredString
(10-200)
Token generated during wallet creationJWT_SECRET_TOKEN_12345
private_key requiredString
(10-200)
Private Key, generated as hash(‘sha256’, secret.’@’.username.’@@
wallet_user requiredString
(6-50)
Email, mobile number, or UID of the wallet usertest@xyz.com
order_id requiredNumber
(1-20)
Merchant-generated unique order ID333213
amount requiredNumber
(1-12,2)
Amount to be redeemed50.00
channel requiredStringPayment channel: “upi” or “mpesa”upi
payee_identifier requiredString
(10-50)
Mobile number for mPesa or VPA for UPI523532523223
mer_dom requiredString
(10-64)
Base64-encoded, URL-encoded registered domain URLaHR0cDovL2xvY2FsaG9zdA==
outputFormat optionalString
(1-3)
Response format: json or xml (default: xml)xml
checksum requiredStringMD5 hash: md5(merchant_id.token.wallet_user.payee_identifier.order_id.amount.channel.date(‘Y-m-d’).private_key)72ce8cfbb1347905c34e121336bb3d09
ParameterType ValueDescriptionValue Like
TRANSACTIONSTATUS requiredNumberTransaction status code: 200: Success (Transaction is successful)211: Transaction in Process (Transaction is processing)400: Failed (Transaction failed)401: Dropped (Transaction did not register properly)402: Cancel (Payment not yet processed)403: Incomplete (No callback received from bank)405: Bounced (Transaction bounced)503: No Records (No records found)
MESSAGE requiredStringResponse message from the payment gateway (e.g., “Successful”, “Invalid checksum”)
CHMOD requiredStringTransaction channel mode (always “wallet”)wallet
MERCHANTID requiredStringMerchant ID18999
USERNAME requiredStringEmail or username of the wallet user
WALLETBALANCE requiredNumberWallet balance after transaction50.00
curl --location 'https://kraken.airpay.co.in/airpay/wallet/api/redeemApi.php' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'merchant_id=18999' \
--data-urlencode 'token=asjhdlkashdkas5658as' \
--data-urlencode 'private_key=53b7602609702bf0055437c5edec157b23f3ace90d34fcf07275872b2350e7d5' \
--data-urlencode 'wallet_user=aatest12@gmail.com' \
--data-urlencode 'order_id=333213' \
--data-urlencode 'amount=50.00' \
--data-urlencode 'channel=upi' \
--data-urlencode 'payee_identifier=523532523223' \
--data-urlencode 'mer_dom=aHR0cDovL2xvY2FsaG9zdA==' \
--data-urlencode 'checksum=72ce8cfbb1347905c34e121336bb3d09'
HTTP/1.1 200 OK
{
"TRANSACTION": {
"TRANSACTIONSTATUS": 200,
"MESSAGE": "Successful",
"CHMOD": "wallet",
"MERCHANTID": "18999",
"USERNAME": "aatest12@gmail.com",
"WALLETBALANCE": 50.00
}
}
<?xml version="1.0" encoding="UTF-8"?>
<RESPONSE>
<TRANSACTION>
<TRANSACTIONSTATUS>200</TRANSACTIONSTATUS>
<MESSAGE>Successful</MESSAGE>
<CHMOD>wallet</CHMOD>
<MERCHANTID>18999</MERCHANTID>
<USERNAME>aatest12@gmail.com</USERNAME>
<WALLETBALANCE>50.00</WALLETBALANCE>
</TRANSACTION>
</RESPONSE>
HTTP/1.1 200 OK
{
"TRANSACTION": {
"TRANSACTIONSTATUS": "400",
"MESSAGE": "Invalid checksum"
}
}
<?xml version="1.0" encoding="UTF-8"?>
<RESPONSE>
<TRANSACTION>
<TRANSACTIONSTATUS>400</TRANSACTIONSTATUS>
<MESSAGE>Invalid checksum</MESSAGE>
</TRANSACTION>
</RESPONSE>