Python SDK – Create SDK Order
SDK order creation
Used to fetch the token required for UI to init pay requests.
Parameters
| Parameter Name | Data Type | Mandatory | Description |
|---|---|---|---|
createSdkOrderRequest | CreateSdkOrderRequest | yes | The request is built using CreateSdkOrderRequest.CustomCheckoutBuilder() |
SDK Order Request Builder
Builds SDK order request.
Parameters
| Parameter name | Data Type | Mandatory | Description |
|---|---|---|---|
merchant_order_id | str | yes | Unique merchant order id generated by merchant |
amount | long | yes | Amount of order in Paisa |
constraints | list | yes | Different type of constraints that must be applied to the payment. |
from uuid import uuid4
from phonepe.sdk.pg.payments.v2.custom_checkout_client import CustomCheckoutClient
from phonepe.sdk.pg.payments.v2.models.request.create_sdk_order_request import CreateSdkOrderRequest
from phonepe.sdk.pg.env import Env
from phonepe.sdk.pg.common.models.meta_info import MetaInfo
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
meta_info = MetaInfo.Builder() \
.udf1("free-text-value-1") \
.udf2("free-text-value-2") \
.udf3("free-text-value-3") \
.udf4("free-text-value-4") \
.udf5("free-text-value-5") \
.udf6("free-text-value-6") \
.udf7("free-text-value-7") \
.udf8("free-text-value-8") \
.udf9("free-text-value-9") \
.udf10("free-text-value-10") \
.udf11("ref_11") \
.udf12("tag-12") \
.udf13("user@13") \
.udf14("code.14") \
.udf15("val+15") \
.build()
sdk_order_request = CreateSdkOrderRequest.build_custom_checkout_request(
merchant_order_id=unique_merchant_order_id,
amount=amount,
meta_info=meta_info)
create_order_response = custom_checkout_client.create_sdk_order(sdk_order_request=sdk_order_request)
ui_accepted_token = create_order_response.token
Response
The function returns a CreateOrderResponse object with the following properties:
| Property | Data Type | Description |
|---|---|---|
order_id | String | Order ID generated by PhonePe |
state | String | State of the Order. Initially it will be PENDING |
expire_at | Long | Expiry time in epoch |
token | String | Token used to access the PG Page. |