Process a transaction

Create a composite transaction that may include multiple line items and payment methods.
Exactly one of 'outletId' or 'outlet' must be provided. When using 'outlet', both 'outlet.name' and 'outlet.externalCode' are required.
Optional flat string metadata can be supplied via 'metadata' and will be attached to the created transaction records.
To request non-redeemable pending points instead of immediate issuance, set 'createAsPendingTransaction=true' in the request body (optional 'autoCancelAfterMinutes' to suggest expiry, or 'autoPromoteAfterMinutes' to automatically promote to redeemable). These options are mutually exclusive.
The response will contain the transaction status, including points earned, points redeemed, and 
the customer's points balance before and after the transaction. 
In case of a failed transaction, an error message will be returned.
Transactions are processed asynchronously, and the status can be checked later using the URL provided in the response.
The request accepts either a customer ID or a customer barcode. You can pass a unique ID for the transaction, or one will be generated automatically if not provided. 
To simulate a transaction without processing it, set the 'simulate' query parameter to 'true'.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
boolean
Defaults to false
Body Params
string | null
string | null
uuid | null
date-time
pos
object
string | null
string | null
string | null
string | null
lineItems
array of objects | null
required
lineItems*
coupons
array of strings | null
coupons
paymentMethods
array of objects | null
paymentMethods
boolean
boolean
Defaults to false
int32 | null
deprecated

Deprecated. Use autoCancelAfterMinutes instead. This will be removed in a future version.

int32 | null
int32 | null
metadata
object | null
outlet
object
Headers
uuid
required
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json