Create Order API
This is a Server-to-Server API that takes order parameters as an input and creates an order in the Juspay system and fetches the corresponding client_auth_token.
Amount and order id are the mandatory fields, the contact details like email, phone number, customer id's are conditional and depends on the underlying payment gateway/ aggregator used.
'UDF' is used to pass any additional information that is required to be stored at Juspay for any analysis or other operations. In some cases, these UDFs are passed to the downstream gateways as well.
Juspay supports 10 UDFs (UDF1 to UDF10). The values passed in UDFs are reflected back in the order status response and in webhooks back to the merchant. If there are any special characters that need to be passed in UDF values, please use UDF 6 to 10 for passing the same. UDF 1 to 5 can be used to pass values which do not have any special characters.
‘Metadata’ is used to send custom params to the payment aggregators, irrespective of default parameters.
Note: Auth api key should be Base64 encoded.
|
Payment Gateways
|
Fields
|
|---|---|
CCAVENUE_V2
| metadata.CCAVENUE_V2:promo_code
|
BILLDESK
| metadata.BILLDESK:AdditionalInfo3
|
BILLDESK
| metadata.BILLDESK:AdditionalInfo4
|
FREECHARGE
| metadata.FREECHARGE:campaignCode
|
GOCASHFREE
| metadata.CASHFREE:metadata1
|
HSBC_UPI
| metadata.HSBC_UPI:addInfo
|
MIGS
| metadata.MIGS:vpc_AddendumData
|
MIGS
| metadata.MIGS:vpc_OrderInfo
|
OLAMONEY
| metadata.OLAMONEY:couponCode
|
PAYTM
| metadata.PAYTM:PROMO_CAMP_ID
|
PAYTM
| metadata.PAYTM:CUST_ID
|
PAYTM
| metadata.PAYTM:MERC_UNQ_REF
|
PAYTM_V2
| metadata.PAYTM_V2:MERC_UNQ_REF
|
PAYTM_V2
| metadata.PAYTM_V2:CUST_ID
|
TATAPAY
| metadata.TATAPAY: merchantTxnMetadata
|
PAYU
| metadata.PAYU:offer_key
|
PAYU
| metadata.PAYU:offer_auto_apply
|
PAYU
| metadata.PAYU:udf1
|
PAYU
| metadata.PAYU:udf2
|
PAYU
| metadata.PAYU:udf3
|
PAYU
| metadata.PAYU:udf4
|
PAYU
| metadata.PAYU:udf5
|
PHONEPE
| metadata.PHONEPE:merchantContext
|
RAZORPAY
| metadata.RAZORPAY:notes[cust_id]
|
RAZORPAY
| metadata.RAZORPAY:notes[cust_name]
|
RAZORPAY
| metadata.RAZORPAY:offer_id
|
RAZORPAY
| metadata.razorpay:PNR
|
RAZORPAY
| metadata.razorpay:PaymentID
|
RAZORPAY
| metadata.razorpay:lob
|
RAZORPAY
| metadata.RAZORPAY:notes
Ex: metadata.RAZORPAY:notes={"key1":"value1","key2":"value2","key3":"value3"} |
Subvention Amount
| metadata.subvention_amount
|
TPSL
| metadata.TPSL:shoppingCartDetails
|
TPSL
| metadata.TPSL:accountNo
|
ZAAKPAY
| metadata.ZAAKPAY:productDescription
|
ZAAKPAY
| metadata.ZAAKPAY:product1Description
|
PAYPAL
| metadata.PAYPAL:landing_page
|
PAYPAL
| metadata.PAYPAL:phone_number
|
PAYPAL
| metadata.PAYPAL:country_code
|
PAYPAL
| metadata.PAYPAL:first_name
|
PAYPAL
| metadata.PAYPAL:last_name
|
PAYPAL
| metadata.PAYPAL:experience_id
|
PAYPAL
| metadata.PAYPAL:brand_name
|
PAYPAL
| metadata.PAYPAL:additional_data
|
PAYPAL - For Link and Pay
| metadata.PAYPAL:lnp_product_name
|
PAYPAL - For Link and Pay
| metadata.PAYPAL:lnp_product_code
|
PAYPAL - For Link and Pay
| metadata.PAYPAL:lnp_charge_pattern
|
PAYPAL - For Link and Pay
| metadata.PAYPAL:direct_wallet_version
|
PAYPAL - For Link and Pay
| metadata.PAYPAL:purchase_category
|
AMAZONPAY
| metadata.AMAZONPAY:sellerNote
|
Digio - for mandate registration
| metadata.DIGIO:schemeReference
|
Subvention Amount: The amount for which the EMI interest should not be calculated.
For example - if the Order amount is 100, the subvention amount is 10, interest will be calculated for 100-10 = 90.
Subvention amount can be from 0 to 100. If subvention amount = order amount then its no-cost EMI
The mechanism of running offers or subvention amount is the responsibility of merchants in collaboration with PG/Banks.
Payment Links
Order create response now has payment links for web, mobile & iFrame. These links can directly be emailed or messaged to your customers. If you wish to use your own branding, then you can embed the iframe link into your page. Note that, these links are not valid perpetually. As soon as your order expires (this can be changed via our dashboard, the link will cease to work.
API Latency Guidelines
What is API Latency?
Time taken by the server to respond to the API request.
Average API Percentile Metrics and Recommended Timeout
TP50 (ms): This represents the median latency, meaning 50% of all requests are completed in this time or less. It indicates the typical performance experienced by the majority of users.
TP90 (ms): This value shows that 90% of requests are completed within this time, leaving 10% of requests that take longer. It gives insight into the performance for a broader set of users, beyond the median.
TP99 (ms): This value indicates that 99% of requests finish within this time, with only 1% of requests taking longer. It helps identify outlier cases where latency may become an issue for a small group of users.
TP99.9 (ms): This metric captures extreme latency outliers, where only 0.1% of requests take longer than this value. It’s useful for understanding edge cases where performance degrades for very few users.
TP99.99 (ms): This measures the most rare and severe performance outliers, where just 0.01% of requests exceed this time. Monitoring this helps in addressing the rarest and most critical latency issues that may impact user experience in exceptional scenarios.
|
Transaction Percentile
|
Latency (ms)
|
|---|---|
TP50 (ms)
| 46.14
|
TP90 (ms)
| 68.42
|
TP99 (ms)
| 583
|
TP99.9 (ms)
| 1511.28
|
Recommended Timeout(ms)
| 2000
|
The recommended timeouts are based on TP99.9 data, though edge cases (0.01% of requests) may still exceed these limits and are captured in the TP99.99 data as shown below.
|
Transaction Percentile
|
Latency (ms)
|
|---|---|
TP99.99 (ms)
| 2398.42
|
Recommended Timeout(ms)
| 3000
|

