Python SDK – Create SDK Order

SDK order creation

Used to fetch the token required for UI to init pay requests.

Parameters

Parameter NameData TypeMandatoryDescription
createSdkOrderRequestCreateSdkOrderRequestyesThe request is built using CreateSdkOrderRequest.CustomCheckoutBuilder()

SDK Order Request Builder

Builds SDK order request.

Parameters

Parameter nameData TypeMandatoryDescription
merchant_order_idstryesUnique merchant order id generated by merchant
amountlongyesAmount of order in Paisa
constraintslistyesDifferent type of constraints that must be applied to the payment.

Example :

from uuid 
import uuid4

from phonepe.sdk.pg.payments.v2.custom_checkout_client 
import CustomCheckoutClient

from phonepe.sdk.pg.payments.v2.models.request.sdk_order_request 
import CreateSdkOrderRequest

from phonepe.sdk.pg.env 
import Env

from phonepe.sdk.pg.payments.v2.models.request.account_constraint 
import AccountConstraint
 
client_id = "<YOUR_CLIENT_ID>"
client_secret = "<YOUR_CLIENT_SECRET>"
client_version = 1  # Insert your client version here
env = Env.SANDBOX  # Change to Env.PRODUCTION when you go live
 
custom_checkout_client = CustomCheckoutClient.get_instance(client_id=client_id,
                                                           client_secret=client_secret,
                                                           client_version=client_version,
                                                           env=env)
unique_merchant_order_id = str(uuid4())
amount = 100
constraints = [AccountConstraint.build_account_constraint(account_number="<INSERT_ACCOUNT_NUMER>",
                                                          ifsc="<INSERT_BANK_IFSC_CODE>")]
sdk_order_request = CreateSdkOrderRequest.build_custom_checkout_request(merchant_order_id=unique_merchant_order_id,
                                                                        amount=amount,
                                                                        constraints=constraints)
create_order_response = custom_checkout_client.create_sdk_order(sdk_order_request=sdk_order_request)
ui_accepted_token = create_order_response.token

Returns :

The function returns a CreateOrderResponse object with the following properties:

PropertyData TypeDescription
order_idstrOrder ID generated by PhonePe
statestrState of the Order. Initially it will be PENDING
expire_atlongExpiry time in epoch
tokenstrToken used to access the PG Page.
Is this article helpful?