Wallet Redeem API
This API will be used to redeem wallet amount to consumer’s using UPI/mPesa. We must pass merchant id, token, private key, wallet user, order id, amount, channel, payee identifier, mer dom in request. If the request has valid details, we will get a success response.
hhttps://kraken.airpay.co.in/airpay/wallet/api/redeemApi.phpHeader
Section titled “Header”| Field | Type | Description |
|---|---|---|
| Content-Type | String | application/x-www-form-urlencoded |
Parameter
Section titled “Parameter”| Field | Type | Description |
|---|---|---|
| merchant_id | Numeric | Merchant ID (required) |
| token | Numeric | Token generated during wallet creation (required) |
| private_key | Alphanumeric | Private Key (length 10-200) (required) private_key = hash(‘sha256’, secret.’@’.username.’: |
| wallet_user | Alphanumeric | Email of wallet user (6-50) / Mobile number of the wallet user (numeric 10-15 digits) / UID (sent from merchant while wallet creation) (required) |
| order_id | Numeric | Merchant generated order id (required) |
| amount | Numeric | Amount to be redeem (required) |
| channel | Numeric | upi/mpesa (required) |
| payee_identifier | Numeric | Mobile number for mpesa or VPA of consumer in case of upi (required) |
| mer_dom | Numeric | base64_encode(urlencode()) (required) Valid domain URL registered with Airpay |
| outputFormat | Alphanumeric | Space |
| checksum | Alphanumeric | md5(merchant_id.token.wallet_user.payee_identifier.order_id.amount.channel.date(‘Y-m-d’).private_key) (required) |
Request-Example:
Section titled “Request-Example:”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 'private_key=53b7602609702bf0055437c5edec157b23f3ace90d34fcf07275872b2350e7d5' \--data-urlencode 'buyer_email=aatest12@gmail.com' \--data-urlencode 'buyer_phone=9234337892' \--data-urlencode 'buyer_first_name=test' \--data-urlencode 'buyer_last_name=test' \--data-urlencode 'UID=1234' \--data-urlencode 'checksum=72ce8cfbb1347905c34e121336bb3d09'Success 200
Section titled “Success 200”| Field | Type | Description |
|---|---|---|
| TRANSACTIONSTATUS | Numeric | Transaction Payment Status Success - 200 Transaction is success Transaction in Process - 211 Transaction in processing Failed - 400 Transaction in failed Dropped - 401 The transaction will not register properly Cancel - 402 payment that has not yet been processed Incomplete - 403 Not recieved any call back from bank Bounced - 405 The transaction has bounced No Records - 503 There is no records found |
| MESSAGE | Alphanumeric | Response message received from payment gateway Success Transaction is success Transaction in Process Transaction in processing Failed Transaction in failed Dropped The transaction will not register properly Cancel payment that has not yet been processed Incomplete Not recieved any call back from bank Bounced The transaction has bounced No Records There is no records found |
| CHMOD | Alphanumeric | Transaction Channle Mode - wallet |
| MERCHANTID | Alphanumeric | Merchant ID |
| USERNAME | Alphanumeric | User name of the wallet |
| WALLETBALANCE | Alphanumeric | Wallet Balance |
Success-Response-JSON:
Section titled “Success-Response-JSON:”HTTP/1.1 200 OK{ "TRANSACTION": { "TRANSACTIONSTATUS":200, "MESSAGE":"Successful", "CHMOD":"wallet", "MERCHANTID":”245”, "USERNAME":"abc@gmail.com", "WALLETBALANCE":"50.00", } }Success-Response-XML:
Section titled “Success-Response-XML:”{ <?xml version="1.0"?> <RESPONSE> <TRANSACTION> <TRANSACTIONSTATUS>200</TRANSACTIONSTATUS> <MESSAGE>Successful</MESSAGE> <CHMOD>wallet<CHMOD> <MERCHANTID>245</MERCHANTID> <USERNAME>abc@gmail.com</USERNAME> <WALLETBALANCE>50.00</WALLETBALANCE> </TRANSACTION> </RESPONSE>}Failure-Response:JSON
Section titled “Failure-Response:JSON”HTTP/1.1 200 OK{ "TRANSACTION": { "TRANSACTIONSTATUS": "ERROR_CODE", "MESSAGE": "ERROR_MESSAGE" }}Failure-Response:XML
Section titled “Failure-Response:XML”{ <?xml version="1.0"?> <RESPONSE> <TRANSACTION> <TRANSACTIONSTATUS>ERROR_CODE</TRANSACTIONSTATUS> <MESSAGE>ERROR_MESSAGE</MESSAGE> </TRANSACTION> </RESPONSE>}