POSTRefund Status API
Use Case
To fetch the details of refund transaction. The details provided are as follows:
- Status of refund
- Destination where refund has been initiated
- Refund reference number with which customer can inquire the refund status with his bank
Request Attributes
Head
Attribute | Description |
---|---|
version string(4) optional | Version of the API. Example: v1 |
channelId string(3) optional | The parameter value identifies the Channel for which API call is initiated. Possible values:
WEB
,
For websites, the value to be passed should be "WEB"
WAP
For Mobile websites/App, the value to be passed should be "WAP"
|
requestTimestamp string(15) optional | EPOCH timestamp of the time at which request is being sent. |
clientId string(3) optional | Paytm use the merchant key on the basis of clientId parameter value. It requires only if the merchant has more than one key. Example: C11 |
signature string(108) mandatory | Paytm validates the request and ensures that parameters are not tempered by verifying the signature in the request. For creating the checksum (signature) refer to the steps given in Checksum Logic. |
Body
Attribute | Description |
---|---|
mid string(20) mandatory | Paytm provides MID as a unique identifier to each merchant. For your staging MID, click here. You get the production MID post the account activation. Example: INTEGR7769XXXXXX9383 |
orderId string(50) mandatory | It is unique reference ID for a transaction passed in the transaction request and in Refund API. Order ID should be pass to check the actual status of refund. Example: OREDRID_98765 |
refId string(50) mandatory | Merchant's Reference Id unique for every refund transaction. This is REFID for which refund status is being inquired. Example: REFUNDID_98765 |
Response Attributes
Head
Attribute | Description |
---|---|
version string(2) | Version of the API passed in the request. |
channelId string(3) | The parameter value identifies the Channel for which API call is initiated. Possible values:
WEB
,
For websites, the value to be passed should be "WEB"
WAP
For Mobile websites/App, the value to be passed should be "WAP"
|
responseTimestamp string(15) | EPOCH timestamp of the time at which response is being sent. |
clientId string(3) | Paytm use the merchant key on the basis of clientId parameter value. It requires only if the merchant has more than one key. Example: C11 |
signature string(108) | You should validate the parameter values by verifying the signature comes in the response. It ensures that parameter values not tempered. Signature string can be verified by using Paytm checksum library. |
Body
Attribute | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
resultInfo object | This parameter gives the information about the result of the API response | ||||||||||||||||||||||||||||||||
ResultInfo +
| |||||||||||||||||||||||||||||||||
mid string(20) | Paytm provides MID as a unique identifier to each merchant. For your staging MID, click here. You get the production MID post the account activation. Example: INTEGR7769XXXXXX9383 | ||||||||||||||||||||||||||||||||
orderId string(50) | Order ID is merchant’s unique reference ID for a transaction that has sent in request. Example: OREDRID_98765 | ||||||||||||||||||||||||||||||||
refId string(50) | Unique Reference Id for refund transaction which is generated by merchant. Duplicate REFID will be rejected by the Paytm gateway. | ||||||||||||||||||||||||||||||||
refundId string(64) | This is a unique Paytm Refund Id that is issued by Paytm for each refund request. Example: 123455081112128XXXXXX68470101509706 | ||||||||||||||||||||||||||||||||
txnId string(64) | TXNID is Paytm payment Transaction Id against which the refund transaction is being placed. Example: 202005081112128XXXXXX68470101509706 | ||||||||||||||||||||||||||||||||
txnTimestamp string(20) | Timestamp of customer to merchant payment transaction. Example: 2020-05-02 12:24:25.0 | ||||||||||||||||||||||||||||||||
source string | Source. Example: Merchant | ||||||||||||||||||||||||||||||||
txnAmount string(10) | Order value of the transaction in INR. Example: 100.00 | ||||||||||||||||||||||||||||||||
refundAmount string | Amount for which refund was initiated by the merchant. It can be equal to or less than the transaction amount. Example: 30.00 | ||||||||||||||||||||||||||||||||
totalRefundAmount string(10) | Total cumulative refund amount against this transaction. Example: 70.00 | ||||||||||||||||||||||||||||||||
merchantRefundRequestTimestamp string(30) | EPOCH timestamp of the time at which request is being sent. Example: 2020-05-02 12:24:25.0 | ||||||||||||||||||||||||||||||||
maxRefundRetryTimeStamp string | Timestamp till which system refund retry would be attempted in case of insufficient MPA. Example: 2020-05-02 12:24:25.0 | ||||||||||||||||||||||||||||||||
acceptRefundStatus string | Status of Paytm accepting the refund | ||||||||||||||||||||||||||||||||
acceptRefundTimestamp string(30) | Timestamp at which Paytm accepted the refund. At the time of acceptance refund amount is deducted from the merchant payable balance Example: 2020-05-02 12:24:25.0 | ||||||||||||||||||||||||||||||||
userCreditInitiateStatus string | Status of Paytm initiating the refund with the acquirer | ||||||||||||||||||||||||||||||||
userCreditInitiateTimestamp string(30) | Timestamp at which Paytm has initiated the refund with the acquirer. Note that this should not be confused with the time customer realizes the money into his account Example: 2020-05-02 12:24:25.0 | ||||||||||||||||||||||||||||||||
refundReason string | Reason passed at the time of initiating the refund Example: Sample Refund Reason | ||||||||||||||||||||||||||||||||
refundDetailInfoList array of object | Details of refund like masked refund destination, refund amount allocation, RRN Number etc | ||||||||||||||||||||||||||||||||
RefundDetailInfoList +
| |||||||||||||||||||||||||||||||||
agentInfo object | Refund initiator details. These will be available in refund success response and refund report generated from merchant panel | ||||||||||||||||||||||||||||||||
AgentInfo +
| |||||||||||||||||||||||||||||||||
gatewayInfo string | Response provided by the gateway during payment or transaction. This is available for Super Router product only. |
Response Codes & Messages
resultCode | resultStatus | resultMsg |
---|---|---|
10 | TXN_SUCCESS | Refund successful |
501 | PENDING | System error |
601 | PENDING | Refund request was raised for this transaction. But it is pending state. |
330 | TXN_FAILURE | Checksum provided is invalid |
335 | TXN_FAILURE | Mid is invalid |
600 | TXN_FAILURE | Invalid refund request |
620 | TXN_FAILURE | BALANCE_NOT_ENOUGH |
631 | TXN_FAILURE | Record not found |
602 | TXN_FAILURE | Refund cannot be processed by the bank |
663 | TXN_FAILURE | Refund cannot be processed as chargeback received at banks' end |
664 | TXN_FAILURE | Refund cannot be processed by the bank as customer source account is frozen |
665 | TXN_FAILURE | Refund cannot be processed by the bank as customer source account is closed |
666 | TXN_FAILURE | Refund cannot be processed by the bank as customer source account limit breached |
667 | TXN_FAILURE | Refund cannot be processed by the bank as refund window expired |
668 | TXN_FAILURE | Refund cannot be processed by the bank as issuing bank is down or facing issues |
669 | TXN_FAILURE | Refund rejected by the bank due to risk |
curl -X POST 'https://securestage.paytmpayments.com/v2/refund/status' \
--header 'Content-Type: application/json' \
--data '{"body":{"mid":"{mid}","orderId":"ORDERID_98765","refId":"REFUNDID_98765"},"head":{"signature":"{signature}"}}'