Create Order
Create Order
An order is always created against the terminal$id obtained after terminal registration. This includes line items with their respective prices and serves as the initial step for initiating a payment, forming the basis of the payment flow. Each payment attempt must be linked to an order using its orderId, which is essential for efficient transaction processing.
Prerequisites
API-KEY, API-SECRET, and MERCHANT-ID required for API access
terminal$id of the registered terminal obtained via Register Terminal API
Create an Order
Make POST Request
Make a POST request to the Create New Order API with the essential details:
terminal$id: ID of the registered terminal for creating the ordertype: Specify the order type as"purchase"orderLines: List the products in the order, including product ID, product name, and quantity
Example Request
Example Response
Order Parameters Reference
Terminal & Order Identification
Company Purchase Details
Customer Information
Billing Details
Shipping Details
Order Line Items
Supported Units: m, mm, cm, km, in, ft, mi, kg, g, mg, lb, oz, l, ml, cu. m, gal, pt, fl oz, W, kW, kWh, sq m, sq km, sq ft, h, min, s, days, wk, mn, yr, nos
Item Amount
Amount Calculation
- If
orderLineLevelCalculationisTRUE:total = (regular × quantity) - campaign + shipping - If
orderLineLevelCalculationisFALSE:total = regular - campaign + shipping
Campaign Details
Total Order Amount
Adjustments & Metadata
Total order amount = regular + shipping - campaign + adjustments
Control Functions
Control functions allow you to customize the order processing behavior.
Order Management Controls
Payment Processing Options
Notification and Error Handling
Terminal Interaction (NFC)
Online Payment Settings
Recurring Payments
If merchants need to make changes to an existing order before initiating payments, they can update the order using the Update Order API. However, merchants cannot update the order after initiating a payment.
Initiate a Payment
Once you create an order, you can initiate payments through a checkout system or registered payment terminal. Each payment attempt is linked to the created order using the orderId.
Prerequisites
API-KEY, API-SECRET, and MERCHANT-ID
orderId received from the Create Order response
Initiate Payment
Example Request
Example Response
To enable partial payments, specify the desired payment amount in the smallest currency unit within the amount parameter.
Fetch Order Status
Tracking the order status is crucial for ensuring smooth payment processing and addressing any errors or issues that could impact the payment completion.
Prerequisites
API-KEY, API-SECRET, and MERCHANT-ID
orderId received from the Create Order response
Fetch Status
Example Request
Example Response
You can also get order status updates by integrating webhooks, which provide real-time updates on payment events directly, eliminating the need for frequent polling.
Next Steps
After the order is completed, merchants can: