<html-block html=”
“>
Header Name | Header Value |
---|---|
Content-Type | application/json |
X-VERIFY | SHA256(base64 encoded payload + “/v3/credit/backToSource” + salt key) + ### + salt index |
{
"merchantId": "DemoMerchant",
"transactionId": "TX123456789",
"providerReferenceId": "PPXXXXX",
"amount": 100,
"merchantOrderId": "OD1234",
"subMerchant": "DemoMerchant",
"message": "refund for cancelled order"
}
{
"request": "eyJtZXJjaGFudE9yZGVySWQiOiAiT0QxMjM0IiwgInN1Yk1lcmNoYW50IjogIkRlbW9NZXJjaGFudCIsICJhbW91bnQiOiAxMDAsICJtZXNzYWdlIjogInJlZnVuZCBmb3IgY2FuY2VsbGVkIG9yZGVyIiwgIm1vYmlsZU51bWJlciI6ICI5eHh4eHh4eHh4IiwgInNob3J0TmFtZSI6ICJBbWl0IiwgInRyYW5zYWN0aW9uSWQiOiAiVFgxMjM0NTY3ODkiLCAibWVyY2hhbnRVc2VySWQiOiAiVTEyMzQ1Njc4OSIsICJtZXJjaGFudElkIjogIkRlbW9NZXJjaGFudCIsICJlbWFpbCI6ICJhbWl0eHh4NzVAZ21haWwuY29tIn0"
}
<html-block html=”
“>
Parameter Name | Type | Description | Mandatory |
---|---|---|---|
merchantId | STRING | Unique Merchant ID assigned to the merchant by PhonePe | Yes |
transactionId | STRING | Unique Transaction ID generated by the merchant to track this request to PhonePe. This should be different from transaction ID of debit transaction. | Yes |
originalTransactionId | STRING | Merchant transaction Id of forward transaction which needs to be reversed. | Yes |
providerReferenceId | STRING | PhonePe transaction id of the original forward payment. Note : use only one of originalTransactionId, providerReferenceId only | Yes |
amount | LONG | Reversal amount in paise. Upto a max of amount of original payment transaction. | Yes |
merchantOrderId | STRING | Order ID for the merchant transaction | Yes |
subMerchant | STRING | Tag to categorize merchant transaction | No |
message | STRING | Short message | Yes |
<html-block html=”
“>
Parameter Name | Type | Description |
---|---|---|
success | BOOLEAN | Success status of the request |
code | ENUM | See list of response codes below |
message | STRING | Short message about code |
transactionId | STRING | Unique Transaction ID generated by the merchant to track this request to PhonePe |
merchantId | STRING | Unique Merchant ID assigned to the merchant by PhonePe |
amount | LONG | Transaction amount in paise |
status | STRING | Status of the request |
mobileNumber | STRING | Mobile number of the user |
providerReferenceId | STRING | PhonePe payment transaction id against which the reversal is to be done |
payResponseCode | STRING | PhonePe internal status code |
<html-block html=”
“>
Code | Description |
---|---|
BAD_REQUEST | Invalid request |
AUTHORIZATION_FAILED | X-VERIFY header is incorrect |
TRANSACTION_NOT_FOUND | Original transaction not found |
INTERNAL_SERVER_ERROR | Something went wrong. Refund might get initiated (need to check status with check transaction status API before retrying the refund) |
PAYMENT_SUCCESS | Payment is successful |
PAYMENT_ERROR | Payment failed |
PAYMENT_PENDING | Payment is pending. It does not indicate failed payment. Refund might get initiated (need to check status with check transaction status API before retrying the refund) |
TIMED_OUT | Refund timed out. Refund might get initiated (need to check status with check transaction status API before retrying the refund) |
REVERSAL_WINDOW_BREACHED | Time for refunding the transaction has breached. Please process refund manually |
<html-block html=”
“>
Code | payResponseCode | Description |
---|---|---|
PAYMENT_ERROR | DUPLICATE_TXN_REQUEST | If the transaction id is used already for refund request. |
PAYMENT_ERROR | EXCESS_REFUND_AMOUNT | If the amount requested for refund is more than forward payment or If refund is already done |
PAYMENT_ERROR | WALLET_NOT_ACTIVATED | If the user has disabled the wallet. Contact user to know the source for refund. |
{“method”:”post”,”url”:”/v3/credit/backToSource/”,”auth”:”never”,”examples”:{“codes”:[]},”apiSetting”:”5ecf9143b5bd210023b3b738″,”results”:{“codes”:[{“code”:”{\n \”success\”: true,\n \”code\”: \”PAYMENT_SUCCESS\”,\n \”message\”: \”Your payment is successful.\”,\n \”data\”: {\n \”transactionId\”: \”TX123456789\”,\n \”merchantId\”: \”DemoMerchant\”,\n \”amount\”: 100,\n \”status\”: \”SUCCESS\”,\n \”mobileNumber\”: \”9xxxxxxxxxx\”,\n \”providerReferenceId\”: \”PPXXXXX\”,\n \”payResponseCode\”: \”SUCCESS\”\n }\n}”,”language”:”json”,”name”:”Success Response”,”status”:200},{“code”:”{ \”success\”:false,\n \”code\”:\”BAD_REQUEST\”,\n \”message\”:\”Please check the inputs you have provided.\”,\n \”data\”:{}\n}”,”language”:”json”,”status”:400,”name”:”Failure Response”}]},”params”:[{“name”:”Content-type”,”type”:”string”,”enumValues”:””,”default”:”application/json”,”desc”:””,”required”:true,”in”:”header”,”ref”:””,”_id”:”5a16ae7f38e7e00012818403″},{“name”:”X-VERIFY”,”type”:”string”,”enumValues”:””,”default”:””,”desc”:”SHA256(base64 encoded payload + \”/v3/credit/backToSource\” + salt key) + ### + salt index”,”required”:true,”in”:”header”,”ref”:””,”_id”:”5a16ae7f38e7e00012818402″},{“name”:”request”,”type”:”string”,”enumValues”:””,”default”:””,”desc”:”base64 encoded payload”,”required”:true,”in”:”body”,”ref”:””,”_id”:”5a180b9c620d9b001cb71704″}]}
https://mercury-uat.phonepe.com