Check Order Status with Python SDK


The Order Status API allows you to check the current status of a payment order by using the getOrderStatus() function.

Parameter NameData TypeMandatory
(Yes/No)
Description
merchant_order_idStringYesThe order ID for which the status needs to be fetched
detailsBooleannotrue → Returns all payment attempt details under the paymentDetails list.
false → Returns only the latest payment attempt details.
Sample Request
from phonepe.sdk.pg.payments.v2.standard_checkout_client import StandardCheckoutClient
from phonepe.sdk.pg.env import Env
 
client_id = "<YOUR_CLIENT_ID>"
client_secret = "<YOUR_CLIENT_SECRET>"
client_version = <CLIENT_VERSION>  # Insert your client version here
env = Env.SANDBOX  # Change to Env.PRODUCTION when you go live
should_publish_events = False
 
client = StandardCheckoutClient.get_instance(client_id=client_id,
                                                              client_secret=client_secret,
                                                              client_version=client_version,
                                                              env=env,
                                                              should_publish_events=should_publish_events)

merchant_order_id = "YOUR_MERCHANT_ORDER_ID"
response = client.get_order_status(merchant_order_id, details=False)
 
state = response.state

The function returns a OrderStatusResponse object with the following properties:

The function returns a OrderStatusResponse object with the following properties:

PropertyData TypeDescription
orderIdStringOrder ID generated by PhonePe PG.
stateStringCurrent state of the order: Expected values:
PENDING
FAILED
COMPLETED
expireAtNumberExpiry time in epoch.
amountLongOrder amount in paisa.
metaInfoObjectA MetaInfo object containing additional metadata about the order.
errorCodeStringError code (only present when the transaction state is FAILED).
detailedErrorCodeStringDetailed error code (only present when the transaction state is FAILED).
paymentDetailsList<PaymentDetail>Contain list of details of each payment attempt made corresponding to this order.

The paymentDetails property contains a list of payment details for each payment attempt made against an order. The details of each payment are explained in the table below.

List
PropertyData TypeDescription
transactionIdStringThe transaction ID generated by PhonePe PG.
paymentModeStringThe payment method used
UPI_INTENT
UPI_COLLECT
UPI_QR
CARD
TOKEN
NET_BANKING
amountIntegerOrder amount in paisa.
stateStringAttempted transaction state. It can be any one of the following states:
PENDING
COMPLETED
FAILED
errorCodeStringError code (only if the transaction failed)
detailedErrorCodeStringA more detailed error code (only if the transaction failed)
instrument typeStringType of payment instrument. Expected values:
ACCOUNT
CREDIT_CARD
DEBIT_CARD
NET_BANKING

You’ve understood how to retrieve the status of an order using the getOrderStatus() function. Now, let’s move on to learn how to process refunds, which allows you to return funds to the customer for eligible transactions.

Is this article helpful?