Skip to main content

transaction Call

Description

This endpoint is used to submit the details of a completed member purchase or to cancel a transaction using its confirmation code.

Submit Transaction Flow

Use this endpoint after the transaction is completed and all external payments have been approved. The purchase details sent (such as total, shopping cart items, and applied gifts/deals) are used by the loyalty system to segment members, award points, punch cards, or trigger rewards and automations.

The transaction call should be sent for all purchases (including non-members) to provide actionable data for BI.

Guaranteed delivery is required, especially if response is a 5xx error or there's a communication failure.

Cancel Transaction Flow

Use this endpoint to cancel a transaction using the confirmation code received from the transaction response.

If loyalty points/credits were used, cancelling the transaction does not automatically cancel the payment. You must send a separate payment cancel request.

Request Format

Headers

NameTypeRequiredDescription
x-source-typestringSource type (POS, Kiosk, Web, etc.)
x-source-namestringName of client system or integration
x-pos-idstringUnique POS terminal ID
x-branch-idstringBranch/location ID

Body

{
"member": {
"phoneNumber": "1234567890"
},
"transaction": {
"transactionId": "TX12345",
"openTime": "2025-05-23T12:00:00Z",
"totalAmount": 5000,
"totalTaxAmount": 800,
"totalGeneralDiscount": 500,
"orderType": "dineIn",
"items": [
{
"lineId": "1",
"code": "PLU123",
"name": "Burger",
"departmentCode": "FOOD",
"departmentName": "Main Dishes",
"quantity": 2,
"grossAmount": 3000,
"netAmount": 2500,
"action": "sale",
"tags": ["combo"]
},
{
"lineId": "2",
"code": "PLU124",
"name": "Fries",
"departmentCode": "FOOD",
"departmentName": "Sides",
"quantity": 1,
"grossAmount": 2000,
"netAmount": 1500,
"action": "sale",
"tags": []
}
],
"meansOfPayment": [
{
"type": "CASH",
"amount": 4000
},
{
"type": "CARD",
"amount": 1000
}
],
"tags": ["delivery"],
"employee": "Jane Doe"
},
"usedAssets": [
{
"key": "string",
"code": "string",
"appliedAmount": 0
}
],
"appliedDeals": [
{
"key": "string",
"appliedAmount": 0
}
]
}

Response Format

{
"status": "success",
"data": {}
}

Error Example

{
"status": "error",
"error": {
"code": "522",
"message": "Used asset is already used."
}
}
  • Finalizing member purchases with loyalty impact
  • Logging non-member transactions for analytics
  • Cancelling previously submitted purchases