View the structure of the receipt context JSON object for use in receipt templates.
The receipt context is generated by the buildReceiptContext
function and contains all transaction-related information needed for receipt generation.
Base structure
- All monetary values are represented using the Money type which includes
amount
(in minor units),currency
, andprecision
. - Null values indicate optional or undefined fields.
- Custom objects can contain arbitrary key-value pairs specific to the implementation.
- The
locale
field determines the formatting of dates, times, and numbers in the receipt.
Transaction metadata
Field | Type | Description |
---|---|---|
timestamp | Number | Unix timestamp in milliseconds |
timestamp_formatted | String | Localized date/time string based on the locale |
order_number | String | Unique transaction reference number |
workstation_id | String | ID of the workstation where the transaction occurred |
user_id | String | ID of the user who processed the transaction |
sequence_number | String | Sequential transaction number |
locale | String | Locale code—for example en-US |
reprint | Boolean | Indicates if this is a reprinted receipt |
custom | Object | Custom receipt-level attributes |
When referencing these fields in your receipt template, use the exact path to the desired value—for example:
{{order_number}}
: Transaction reference{{location.location_name}}
: Store name{{line_items[0].description}}
: First item's description{{payments[0].charge_card.last4}}
: Last 4 digits of the first payment card
Customer information
The customer
object contains details about the customer associated with the transaction.
{
"account_number": string | null,
"salutation": string | null,
"first_name": string | null,
"middle_name": string | null,
"last_name": string | null,
"company": string | null,
"paymentAccounts": string[],
"custom": object
}
Example usage in templates:
{{customer.first_name}}
: Customer's first name{{customer.account_number}}
: Customer's account number{{customer.company}}
: Customer's company name
Location information
The location
object contains details about the store.
{
"location_id": string,
"location_name": string,
"description": string | null,
"country": string | null,
"address_line_1": string | null,
"address_line_2": string | null,
"city": string | null,
"state": string | null,
"postal_code": string | null,
"telephone_number": string | null,
"tax_id": string | null
}
Line items
The line_items
array contains the items in the transaction. Each line item has the following structure:
{
"item_id": string,
"description": string,
"quantity": number,
"price": {
"amount": number,
"currency": string,
"precision": number
},
"extended_price": {
"amount": number,
"currency": string,
"precision": number
},
"tax_code": string,
"price_modifiers": [
{
"description": string,
"amount": {
"amount": number,
"currency": string,
"precision": number
}
}
],
"attributes": [
{
"label": string,
"value": string
}
],
"facets": [
{
"name": string,
"value": string | null
}
],
"custom": object
}
Transaction totals
Field | Type | Description |
---|---|---|
subtotal | Money | Transaction subtotal before tax |
tax | Money | Total tax amount |
total | Money | Transaction total including tax |
subtotal_gross | Money | Subtotal including cart-level discounts |
tax_id | String | Tax identification number |
Money objects have the following structure:
{
"amount": number,
"currency": string,
"precision": number
}
Tax summary
The tax_summary
array contains tax calculations per tax code:
{
"code": string,
"total_net": Money,
"total_gross": Money,
"tax_rate": string,
"total_tax": Money
}
Payments and refunds
Both payments
and refunds
arrays contain tender entries with the following base structure:
{
"type": string,
"amount": Money,
"custom": object | null
}
These can contain the following additional fields based on tender type:
Credit card
{
"charge_card": {
"processor": string,
"processor_id": string,
"last4": string,
"brand": string,
"account_type": string,
"application_preferred_name": string | null,
"dedicated_file_name": string | null,
"authorization_response_code": string,
"application_cryptogram": string | null,
"terminal_verification_results": string | null,
"transaction_status_information": string | null
}
}
Voucher or return card
{
"voucher": {
"number": string,
"last4": string,
"type": string,
"balance": Money
}
}
Cart information
The carts
array contains sub-transactions, such as returns or exchanges, within the main transaction:
{
"type": string,
"id": string,
"line_items": Array<LineItem>,
"total": Money,
"gift_receipt": boolean,
"custom": object | null
}
Gift receipt items
The giftable_items
array contains items eligible for gift receipts:
{
"item_id": string,
"description": string,
"brand": string | null,
"color": string | null,
"gift_receipt": boolean,
"custom": object | null
}
Cart-level discounts
The cart_discounts
array contains transaction-level discounts:
{
"description": string,
"amount": Money
}