Check Transaction Status

The API should be polled using the Exponential Back Off Retry strategy with an initial interval of 2 minutes and the multiplier factor of 2, for subsequent attempts and the cap the maximum gap of retries at 1 day.

Request Headers

Header NameHeader Value
X-VERIFYSHA256("/v3/transaction/{merchantId}/{merchantTransactionId}/status" +
saltKey) + "###" + saltIndex

Path Parameters

Parameter NameTypeDescriptionMandatory
merchantIdSTRINGUnique Merchant ID assigned to the merchant by PhonePeYes
merchantTransactionIdSTRINGmerchantTransactionId for which status is to be fetchedYes

Response Parameters

Response Data Description: JSON Level Fields

Field NameData TypeDescription
successBOOLEANRedundant field. To be ignored by merchants.
codeSTRINGSee "TRANSACTION STATUS : Response Code" table for a list of possible values and their meanings. Make use of the value of this field for taking decisions related to the status of the transaction.
messageSTRINGShort message describing the code
dataOBJECTObject containing details of actual response data

Response Data Description: Data Level Fields

Field NameData TypeDescription
merchantTransactionIdSTRINGUnique Id generated by merchant sent in pay request
merchantIdSTRINGUnique Id assigned to the merchant in the PhonePe system. Assigned during merchant onboarding.
amountLONGAmount to be credited to the user. (in paise)
providerReferenceIdSTRINGPhonepe transactionId generated for the credit request
paymentStateSTRINGPhonepe internal payment state. This is an informative field. Don’t use this field for making decisions, since new values can be added to it.
payResponseCodeSTRINGPhonepe payment status code. Please note, this is a string and new values can be added as and when needed. Don’t use this field for making decisions.
paymentModesListObject containing payment details.
Click Try It! to start a request and see the response here!