Register a transaction when an order is completed.
This endpoint must be called whenever a customer completes an order (transaction). Calling this endpoint is essential to ensure that all applied promotions and unique coupon codes are redeemed and recorded with the order. This step is also necessary for awarding loyalty points, monitoring for fraud, enforcing promotion limits based on order completions, triggering additional promotions, and more.
The Order Object
In order to ensure data consistency and accurate attribution of promotions to an order, please ensure that the Order object supplied in the request to this transaction endpoint (/v2/transactions) is a valid Order object containing all required properties of the Order schema including all applied promotions (Order.appliedPromotions), the correct discount value (Order.discount), the order subtotal (Order.subtotal) and total (Order.total).
Each applied promotion should also carry the qualifying products the Apply endpoint reported for it (Order.appliedPromotions[].qualifyingProducts). Where you have no such value, omit the field rather than constructing one.
Where a promotion granted free items, the applied reward should carry every item the customer was granted (Order.appliedPromotions[].appliedReward.products), exactly as the Apply endpoint returned them. The single productId field is a mirror of the first item and does not describe the whole grant. A free item reward sent without products is still accepted, and the transaction is recorded without the granted items.
All information about applied promotions, discounts and changes to the order subtotal and total will be returned (in the response JSON) by the Apply endpoint when you call the endpoint to apply promotions. You should then use this information in the Order object that is submitted to the Transactions endpoint when the customer completes the order.
You may construct a new Order object, for instance if there was no prior call to the Apply endpoint to apply promotions to the cart or your backend system has modified the order. In all cases, properties and values must be accurately represented in the Order object.
You MUST still call this endpoint even if there are no promotions or coupons applied to the order.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests⦠| |||
