Check Service

The check service provides endpoints for posting check information and accruing points on checks.

Endpoints

Check Post

POST check/post.json

The check post request allows for a full POS check to be submitted to the PXS diagnostic or data analysis purposes.

The following authentication methods are allowed for this endpoint:

JSON Parameters:
 
  • merchantId (Integer) – (required) Paytronix-assigned merchant ID to perform the operation in.
  • storeCode (String) – (required) A short code to uniquely identify the store where this transaction occurred.
  • check (Object) – (required) POS check to post. See Check for details.
"result": "success"
JSON Parameters:
 
  • result (String) – (required) success
"result": "failure"
JSON Parameters:
 
  • result (String) – (required) failure

Check Post and Accrue Points

POST check/postAndAccruePoints.json

The check post and accrue points request allows for a simplified one-step flow for posting a check for analysis and accruing points with one action, equivalent to using POST check/computePointAccrual.json to compute a point accrual Add/Redeem Request then submitting it via POST transaction/addRedeem.json and then submitting the check again via POST check/post.json. The only reason to use the multi-step flow is if the point accrual add/redeem needs to be tailored for special applications prior to submission.

The following authentication methods are allowed for this endpoint:

JSON Parameters:
 
  • integrationIdentifier (String) – (required) A unique identifier for the caller
  • merchantId (Integer) – (required) Paytronix-assigned merchant ID to perform the operation in.
  • storeCode (String) – (required) A short code to uniquely identify the store where this transaction occurred.
  • agentName (String) – (required) The agent name. Used if a store has more than one POS system.
  • check (Object) – (required) POS check to post. See Check for details.
  • cardInfo (Object) – (required) Card to accrue points for. See CardInfo for details.
  • autoActivateCard (Boolean) – (required) true if the card should automatically be activated if it is not already active. Defaults to false
  • terminal (String) – (required) Number of the POS terminal where the check was submitted for accrual, usually by closing the check. Use "0" if the terminal is unknown or unavailable.
  • operator (String) – (required) Number of the POS operator (cashier) who submitted the check for accrual, usually by closing the check. Use "0" if the operator is unknown or unavailable.
"result": "success"
JSON Parameters:
 
  • result (String) – (required) success
  • reply (Object) – (required) The add/redeem reply from the point accrual transaction. See AddRedeemReply for format.
"result": "failure"
JSON Parameters:
 
  • result (String) – (required) failure
  • errorCode (String) – (required) The error code of the failure.
  • errorMessage (String) – (required) The (human readable) error message of the failure.

Check Post and Accrue Points with Auto-Redeem

POST check/postAndAccruePointsWithAutoRedeem.json

The check post and accrue points with auto-redeem request implements the same behavior as the POST check/postAndAccruePoints.json request, with the additional functionality of automatically identifying and applying any applicable rewards. For example, this might identify that the loyalty member is eligible for a 10% discount and automatically apply it, which might consequently impact the loyalty points accrued.

This endpoint takes the same input as the check post and accrue points endpoint.

The following authentication methods are allowed for this endpoint:

JSON Parameters:
 
  • integrationIdentifier (String) – (required) A unique identifier for the caller
  • merchantId (Integer) – (required) Paytronix-assigned merchant ID to perform the operation in.
  • storeCode (String) – (required) A short code to uniquely identify the store where this transaction occurred.
  • agentName (String) – (required) The agent name. Used if a store has more than one POS system.
  • check (Object) – (required) POS check to post. See Check for details.
  • cardInfo (Object) – (required) Card to accrue points for. See CardInfo for details.
  • autoActivateCard (Boolean) – (required) true if the card should automatically be activated if it is not already active. Defaults to false
  • terminal (String) – (required) Number of the POS terminal where the check was submitted for accrual, usually by closing the check. Use "0" if the terminal is unknown or unavailable.
  • operator (String) – (required) Number of the POS operator (cashier) who submitted the check for accrual, usually by closing the check. Use "0" if the operator is unknown or unavailable.
"result": "success"
JSON Parameters:
 
  • result (String) – (required) success
  • reply (Object) – (required) The add/redeem reply from the point accrual transaction. See AddRedeemReply for format.
  • itemDiscounts (List[Object]) – (required) The list of per-item discounts that were applied to the check. See ItemDiscount for the format of the individual objects
  • subtotalDiscounts (List[Object]) – (required) The list of applied discounts which concern the check subtotal, or the whole check. See SubTotalDiscount for the format of the individual objects
"result": "failure"
JSON Parameters:
 
  • result (String) – (required) failure
  • errorCode (String) – (required) The error code of the failure.
  • errorMessage (String) – (required) The (human readable) error message of the failure.

Check Simulate Accrual And Redemption

POST check/simulateAccrualAndRedemption.json

The check simulate accrual and redemption request is similar to the post and accrue points with auto-redeem request, with the difference that no points or rewards are actually applied. Instead, this endpoint takes in a check (with the same parameters as in the previous endpoint) and additionally a list of already applied rewards, the manner in which rewards are to be selected (either automatic or manual and specified with the request), and the details of the receipt printer associated with the request. If successful, it will return the applicable discounts (either per-item discounts or discounts on the entire check), the changes necessary from the already applied rewards, and a new receipt text.

The following authentication methods are allowed for this endpoint:

JSON Parameters:
 
  • integrationIdentifier (String) – (required) A unique identifier for the caller
  • merchantId (Integer) – (required) Paytronix-assigned merchant ID to perform the operation in.
  • storeCode (String) – (required) A short code to uniquely identify the store where this transaction occurred.
  • agentName (String) – (required) The agent name. Used if a store has more than one POS system.
  • check (Object) – (required) POS check to post. See Check for details.
  • cardInfo (Object) – (required) Card to accrue points for. See CardInfo for details.
  • autoActivateCard (Boolean) – (required) true if the card should automatically be activated if it is not already active.
  • terminal (String) – (required) Number of the POS terminal where the check was submitted for accrual, usually by closing the check. Use "0" if the terminal is unknown or unavailable.
  • operator (String) – (required) Number of the POS operator (cashier) who submitted the check for accrual, usually by closing the check. Use "0" if the operator is unknown or unavailable.
  • rewardSelectionMode (Object) – (required) Identifies whether to use automatic or manual reward selection. See RewardSelectionMode for details.
  • receiptSettings (List[Object]) – (required) List of receipt settings. See ReceiptSetting for details
"result": "success"
JSON Parameters:
 
  • result (String) – (required) success
  • itemDiscounts (List[Object]) – (required) The list of per-item discounts that could be applied to the check. See ItemDiscount for the format of the individual objects
  • subtotalDiscounts (List[Object]) – (required) The list of applicable discounts which concern the check subtotal, or the whole check. See SubTotalDiscount for the format of the individual objects
  • rewardsToRemove (List[Object]) – (required) The list of rewards specified with the request that are inapplicable for the given check. See AppliedReward for the format of the individual objects
  • availableUnitDiscounts (List[Object]) – (required) The list of unit discounts which have not been applied, but could be. See AvailableUnitDiscount for the format of the individual objects
  • receiptText (Map[List[String]]) – (required) This is a mapping from String labels to sets (or lists) of receipt lines
"result": "failure"
JSON Parameters:
 
  • result (String) – (required) failure
  • errorCode (String) – (required) The error code of the failure.
  • errorMessage (String) – (required) The (human readable) error message of the failure.

Check Post And Accrue Points With Redeem

POST check/postAndAccruePointsWithRedeem.json

The check port and accrue points with redeem request is meant to follow a call to POST check/simulateAccrualAndRedemption.json, enabling you to choose the discounts that are applied. These will be passed in through the Check object. Its arguments are almost identical to the POST check/postAndAccruePointsWithAutoredeem.json endpoint, merely requiring the addition of a receiptSettings object, and not needing the autoActivateCard argument. If successfull, it will return a receipt.

The following authentication methods are allowed for this endpoint:

JSON Parameters:
 
  • integrationIdentifier (String) – (required) A unique identifier for the caller
  • merchantId (Integer) – (required) Paytronix-assigned merchant ID to perform the operation in.
  • storeCode (String) – (required) A short code to uniquely identify the store where this transaction occurred.
  • agentName (String) – (required) The agent name. Used if a store has more than one POS system.
  • check (Object) – (required) POS check to post. See Check for details.
  • cardInfo (Object) – (required) Card to accrue points for. See CardInfo for details.
  • terminal (String) – (required) Number of the POS terminal where the check was submitted for accrual, usually by closing the check. Use "0" if the terminal is unknown or unavailable.
  • operator (String) – (required) Number of the POS operator (cashier) who submitted the check for accrual, usually by closing the check. Use "0" if the operator is unknown or unavailable.
  • receiptSettings (List[Object]) – (required) List of receipt settings. See ReceiptSetting for details
"result": "success"
JSON Parameters:
 
  • result (String) – (required) success
  • receiptText (Map[List[String]]) – (required) This is a mapping from String labels to sets (or lists) of receipt lines
"result": "failure"
JSON Parameters:
 
  • result (String) – (required) failure
  • errorCode (String) – (required) The error code of the failure.
  • errorMessage (String) – (required) The (human readable) error message of the failure.

Check Compute Point Accrual

POST check/computePointAccrual.json

The check compute point accrual request can be used to have the PXS compute a point accrual Add/Redeem Request based on the contents of a POS check. The resulting add/redeem can then be submitted for processing by the PXS.

The following authentication methods are allowed for this endpoint:

JSON Parameters:
 
  • merchantId (Integer) – (required) Paytronix-assigned merchant ID to perform the operation in.
  • storeCode (String) – (required) A short code to uniquely identify the store where this transaction occurred.
  • agentName (String) – (required) The agent name. Used if a store has more than one POS system.
  • check (Object) – (required) POS check to post. See Check for details.
  • cardInfo (Object) – (required) Card to accrue points for. See CardInfo for details.
  • autoActivateCard (Boolean) – (required) true if the card should automatically be activated if it is not already active. Defaults to false
  • terminal (String) – (required) Number of the POS terminal where the check was submitted for accrual, usually by closing the check. Use "0" if the terminal is unknown or unavailable.
  • operator (String) – (required) Number of the POS operator (cashier) who submitted the check for accrual, usually by closing the check. Use "0" if the operator is unknown or unavailable.
"result": "success"
JSON Parameters:
 
  • result (String) – (required) success
  • voidAddRedeem (Object) – (optional) The void add/redeem request to send to process the voided items/amounts in the check. If given in the reply, should be sent via POST transaction/voidAddRedeem.json prior to the Add/Redeem. See VoidAddRedeem.
  • addRedeem (Object) – (optional) The add/redeem request to send to process the nonvoided items/amounts in the check. If given in the reply, should be sent via POST transaction/addRedeem.json. See AddRedeem.
"result": "failure"
JSON Parameters:
 
  • result (String) – (required) failure
  • errorCode (String) – (required) The error code of the failure.
  • errorMessage (String) – (required) The (human readable) error message of the failure.

Reply Objects

AppliedReward
JSON Parameters:
 
  • walletCode (Integer) – (required) A numeric identifier for a specific type of discount, unique for a given merchant
  • amount (Decimal) – (required) Represents either the discount amount if applied to an item, or the wallet balance if the reward is applied to the transaction.
  • referenceLine (String) – (optional) Directly corresponds to the referenceLine field of a menu or combo item in the request, and indicates that the discount should be applied to that specific item.
AvailableUnitDiscount
JSON Parameters:
 
  • id (String) – (required) An identifier for this discount, as in a coupon number. Not guaranteed to be unique
  • name (String) – (required) Human-readable name of discount
  • appliesToItems (List[String]) – (required) List of item IDs to which this could apply.
  • appliesToCategories (List[Object]) – (required) A list of complex objects representing item categories. See Category.
  • amount (Decimal) – (required) Represents either the discount amount if applied to an item, or the wallet balance if the reward is applied to the transaction.
  • walletCode (Integer) – (required) A numeric identifier for a specific type of discount, unique for a given merchant
  • maxEligibleUnits (Decimal) – (optional) Maximum units to which this discount can be applied.
Categories
JSON Parameters:
 
  • categoryType (String) – (required) Either “major”, “minor”, or “promo”. Type of category if there are multiple types. Use “major” if there are no distinct category types.
  • id (String) – (required) Identifier for the category. This identifies the category in the POS database.
  • name (String) – (optional) Human-readable name for the category.
Category
JSON Parameters:
 
  • categoryType (String) – (required) One of “major”, “minor”, or “promo”.
  • id (String) – (required) A machine-readable identifier for the category which is unique per site.
  • name (String) – (optional) A human-readable description of the category. Paytronix will not send a value for this in any replies at this time, and it can safely be ignored.
Check
JSON Parameters:
 
  • header (Object) – (required) The header to the check. Contains details about the check as as whole, such as check number, number of seats, time opened, etc. See Header for format
  • items (List[Object]) –

    (required) List of individual check items. These are further broken down into separate types, identified by the type field of each:

    • Single menu items (MenuItem) such as entrees, appetizers, and beverages.
    • Combo items (ComboItem) which represent combo meals, such as burger and fries.
    • Discount items (DiscountItem) which alter the check total (typically by reducing it) but are not directly tied to a single item.
    • Service charge items (ServiceChargeItem) which represent additional nontaxed service charges such as gift card purchases.
    • Tender items (TenderItem) which represent payments or other similar items, such as credit card payments, gift card payments, loyalty card swipes, or comp card payments.

    Ideally the check items should be in the same order they visually appear on the check

  • totals (Object) – (required) The totals at the end of the check. See Totals for format
ChosenReward
JSON Parameters:
 
  • walletCode (Integer) – (required) A numeric identifier for a specific type of discount, unique for a given merchant
  • amount (Decimal) – (required) Represents either the discount amount if applied to an item, or the wallet balance if the reward is applied to the transaction.
ComboItem
JSON Parameters:
 
  • type (String) – (required) Identifies this item as a menu item. Must always be "comboItem".
  • itemId (String) – (required) Identifier for the menu item. This identifies the menu item in the Paytronix database, not the particular line item in the check.
  • name (String) – (optional) Human-readable description of the menu item.
  • seat (Integer) – (optional) Seat number, if available.
  • referenceLine (String) – (optional) Reference line for the menu item, if any.
  • quantity (Decimal) – (optional) Quantity of the menu item purchased. Typically "1". Defaults to 1.
  • categories (List[Object]) – (optional) Can be empty. Any categories the combo item is associated with. Defaults to empty. See Categories for format
  • isVoided (Boolean) – (optional) true if the menu item is voided or removed from the check and does not affect the check total, nor was purchased or returned. Defaults to false.
  • isTaxable (Boolean) – (optional) true if the menu item is a taxable item which contributed to the tax total. Defaults to true.
  • price (Decimal) – (optional) Price of the menu item. Typically a positive amount, unless voided.
  • fullPrice (Decimal) – (optional) If the price varies from the “base price” due to discounting, couponing, or similar, then this field should contain the base price before discounting.
  • modifiers (List[Object]) – (optional) Can be empty. A list of any modifiers (such as condiments) attached to the combo item. Defaults to empty. See Modifier for format
  • discounts (List[Object]) – (optional) Can be empty. A list of any discounts that apply to the combo item only, applicable for instance if a coupon has been applied. Defaults to empty. See DiscountItem for format
  • items (List[Object]) – (required) List of menu items (see MenuItem for format) to be included in the combo
CreditCardTenderItem
JSON Parameters:
 
  • type (String) – (required) Identifies this detail as a credit card detail. Must always be "creditCard".
  • cardholder (String) – (optional) Name of the cardholder as captured from the credit card.
  • cardType (String) – (optional) Type of credit card. Must be one of “Visa”, “MasterCard”, “American Express”, “Diners Club”, “Discover”, “JCB”, or “other”.
  • iin (String) – (optional) IIN (first 6 digits) from credit card number.
  • masked (String) – (optional) Masked account number (typically last 4 digits) from credit card number.
  • expiration (String) – (optional) Expiration date of the credit card. Format yyyy-MM-dd. Credit cards typically have no day of month component in the expiration date; please enter “01” in that case. For example, if the credit card expires 05/15, this field should be set to 2015-05-01.
DiscountItem
JSON Parameters:
 
  • type (String) – (required) Identifies this item as a discount item. Must always be “discountItem”.
  • itemId (String) – (required) Identifier for the discount item. This identifies the discount item in the Paytronix database, not the particular line item in the check.
  • name (String) – (optional) Human-readable description of the discount item.
  • seat (Integer) – (optional) Seat number, if available.
  • referenceLine (String) – (optional) Reference line for the discount item, if any.
  • quantity (Decimal) – (optional) Quantity of the discount item purchased. Typically "1". Defaults to 1.
  • isVoided (Boolean) – (optional) true if the discount item is voided or removed from the check and does not affect the check total, nor was purchased or returned. Defaults to false.
  • isTaxable (Boolean) – (optional) true if the discount item is a taxable item which contributed to the tax total. Defaults to true.
  • price (Decimal) – (required) Price of the discount item. Typically a negative amount (which reduces the check total), unless voided.
  • walletCode (Integer) – (required) A numeric identifier for a specific type of discount, unique for a given merchant
  • walletQuantity (Decimal) – (required) Quantity of wallet to add or redeem
GiftCardTenderItem
JSON Parameters:
 
  • type (String) – (required) Identifies this detail as a gift card detail. Must always be "giftCard".
  • pxTransactionId (Integer) – (optional) Paytronix transaction ID, if available and for a Paytronix gift card.
  • masked (String) – (optional) Masked account number (typically last 4 digits) from gift card number.
Header
JSON Parameters:
 
  • number (String) – (required) Check number that appears on POS receipt. If this number is not guaranteed to be unique within the business day at the particular store, provide ‘uniqueIdentifier’ field as well.
  • uniqueIdentifier (String) – (optional) Unique check identification number. Paytronix requires that this is unique within the business day at the particular store. This field should be entered if and only if ‘number’ field isn’t guaranteed to be unique within the business day at the particular store.
  • isReturn (Boolean) – (required) true if the check is a return check, i.e., a check containing one or more returned items. A check being marked this way does not affect the interpretation of the line items, it’s merely used as an additional data point for various analysis such as fraud analysis.
  • openTime (String) – (required) Date and time the check was opened, in UTC by default unless timezone offset specified. The format is yyyy-MM-dd HH:mm:ss [+-ZZZZ]
  • closeTime (String) – (optional) Date and time the check was closed, in UTC by default unless timezone offset specified. The format is yyyy-MM-dd HH:mm:ss [+-ZZZZ]
  • seatCount (Integer) – (optional) Number of seats.
  • tableNumber (String) – (optional) Table number or identifier.
  • revenueCenterNumber (Integer) – (optional) Identifier for revenue center (cost center) that the check was located in.
  • revenueCenterName (String) – (optional) Human readable description for revenue center (cost center) that the check was located in.
  • cashier (String) – (optional) Cashier (operator) ID.
  • properties (Map[String]) – (required) Can be empty. Additional POS-specific properties as strings. Defaults to empty.
ItemDiscount
JSON Parameters:
 
  • id (String) – (required) An identifier for this discount, as in a coupon number. Not guaranteed to be unique
  • name (String) – (required) Human-readable name of discount
  • referenceLine (String) – (optional) Directly corresponds to the referenceLine field of a menu or combo item in the request, and indicates that the discount should be applied to that specific item.
  • menuItemId (String) – (required) Directly corresponds to the itemId field of a menu or combo item in the request.
  • discount (Decimal) – (required) Full amount by which the target item should be discounted.
  • quantityDiscounted (Decimal) – (required) Quantity of the line item which is to be discounted.
  • unitDiscount (Decimal) – (required) This is the discount value divided by the quantityDiscounted. Usually ignored
  • discountType (String) – (required) One of “Percent”, “Dollar”, “ReducePrice”, “PerUnit”. Can be ignored.
  • walletCode (Integer) – (required) A numeric identifier for a specific type of discount, unique for a given merchant
  • quantityRedeemed (Decimal) – (required) Actual number of points in the Paytronix wallet which will be redeemed when the transaction is finalized.
ItemizedTotal
Jsonentity String itemizerType:
 (required) Either "sales" or "tax", depending on what is itemized
Jsonentity String id:
 (required) Identifier for the itemizer
Jsonentity Decimal total:
 (required) Itemized amount
LoyaltyCardTenderItem
JSON Parameters:
 
  • type (String) – (required) Identifies this detail as a gift card detail. Must always be "loyaltyCard".
  • pxTransactionId (Integer) – (optional) Paytronix transaction ID, if available and for a Paytronix comp/loyalty.
  • masked (String) – (optional) Masked account number (typically last 4 digits) from comp/loyalty card number.
MenuItem
JSON Parameters:
 
  • type (String) – (required) Identifies this item as a menu item. Must always be "menuItem".
  • itemId (String) – (required) Identifier for the menu item. This identifies the menu item in the Paytronix database, not the particular line item in the check.
  • name (String) – (optional) Human-readable description of the menu item.
  • seat (Integer) – (optional) Seat number, if available.
  • referenceLine (String) – (optional) Reference line for the menu item, if any.
  • quantity (Decimal) – (optional) Quantity of the menu item purchased. Typically "1". Defaults to 1.
  • categories (List[Object]) – (optional) Can be empty. Any categories the menu item is associated with. Defaults to empty. See Categories for format
  • isVoided (Boolean) – (optional) true if the menu item is voided or removed from the check and does not affect the check total, nor was purchased or returned. Defaults to false.
  • isTaxable (Boolean) – (optional) true if the menu item is a taxable item which contributed to the tax total. Defaults to true.
  • price (Decimal) – (optional) Price of the menu item. Typically a positive amount, unless voided.
  • fullPrice (Decimal) – (optional) If the price varies from the “base price” due to discounting, couponing, or similar, then this field should contain the base price before discounting.
  • modifiers (List[Object]) – (optional) Can be empty. A list of any modifiers (such as condiments) attached to the menu item. Defaults to empty. See Modifier for format
  • discounts (List[Object]) – (optional) Can be empty. A list of any discounts that apply to the single menu item only, applicable for instance if a coupon has been applied. Defaults to empty. See DiscountItem for format
Modifier
JSON Parameters:
 
  • itemId (String) – (required) Identifier for the menu item. This identifies the menu item in the Paytronix database, not the particular line item in the check.
  • name (String) – (optional) Human-readable description of the menu item.
  • seat (Integer) – (optional) Seat number, if available.
  • referenceLine (String) – (optional) Reference line for the menu item, if any.
  • quantity (Decimal) – (optional) Quantity of the menu item purchased. Typically "1". Defaults to 1.
  • categories (List[Object]) – (optional) Can be empty. Any categories the menu item is associated with. Defaults to empty. See Categories for format
  • isVoided (Boolean) – (optional) true if the menu item is voided or removed from the check and does not affect the check total, nor was purchased or returned. Defaults to false.
  • isTaxable (Boolean) – (optional) true if the menu item is a taxable item which contributed to the tax total. Defaults to true.
  • price (Decimal) – (optional) Price of the menu item. Typically a positive amount, unless voided.
  • fullPrice (Decimal) – (optional) If the price varies from the “base price” due to discounting, couponing, or similar, then this field should contain the base price before discounting.
  • discounts (List[Object]) – (optional) Can be empty. A list of any discounts that apply to the single menu item only, applicable for instance if a coupon has been applied. Defaults to empty. See DiscountItem for format
ReceiptSetting
JSON Parameters:
 
  • name (String) – (required) Name of receipt printer
  • width (Integer) – (required) Width in characters of receipt
RewardSelectionMode
JSON Parameters:
 
  • mode (String) – (required) Either "automatic" or "manual"
  • chosenRewards (List[Object]) – (required if ``manual``) List of manually chosen rewards. See ChosenReward for the format of the objects
ServiceChargeItem
JSON Parameters:
 
  • type (String) – (required) Identifies this item as a menu item. Must always be "serviceChargeItem".
  • itemId (String) – (required) Identifier for the service charge. This identifies the service charge in the Paytronix database, not the particular line item in the check.
  • name (String) – (optional) Human-readable description of the service charge
  • seat (Integer) – (optional) Seat number, if available.
  • referenceLine (String) – (optional) Reference line for the service charge, if any.
  • quantity (Decimal) – (optional) Quantity of the service charge purchased. Typically "1". Defaults to 1.
  • isVoided (Boolean) – (optional) true if the service charge is voided or removed from the check and does not affect the check total, nor was purchased or returned. Defaults to false.
  • isTaxable (Boolean) – (optional) true if the service charge is a taxable item which contributed to the tax total. Defaults to true.
  • price (Decimal) – (optional) Price of the service charge. Typically a positive amount, unless voided.
  • fullPrice (Decimal) – (optional) If the price varies from the “base price” due to discounting, couponing, or similar, then this field should contain the base price before discounting.
SubTotalDiscount
JSON Parameters:
 
  • id (String) – (required) An identifier for this discount, as in a coupon number. Not guaranteed to be unique
  • name (String) – (required) Human-readable name of discount
  • discount (Decimal) – (required) Full amount by which the target item should be discounted.
  • discountType (String) – (required) One of "Percent", "Dollar", "ReducePrice", "PerUnit". Can be ignored.
  • walletCode (Integer) – (required) A numeric identifier for a specific type of discount, unique for a given merchant
  • quantityRedeemed (Decimal) – (required) Actual number of points in the Paytronix wallet which will be redeemed when the transaction is finalized.
TenderItem
JSON Parameters:
 
  • type (String) – (required) Identifies this item as a menu item. Must always be "tenderItem".
  • itemId (String) – (required) Identifier for the tender. This identifies the service charge in the Paytronix database, not the particular line item in the check.
  • name (String) – (optional) Human-readable description of the tender
  • seat (Integer) – (optional) Seat number, if available.
  • referenceLine (String) – (optional) Reference line for the tender, if any.
  • quantity (Decimal) – (required) Amount of the tender. Typically a negative amount (reducing the check total). Can be 0, such as in the case of loyalty cards that are not being used as comp cards.
  • detail (Object) –

    (optional) Not present if a cash tender or not one of the available types (credit card, gift card, or loyalty card). Gives additional detail about the tender. Available types are

Totals
JSON Parameters:
 
  • subTotal (Decimal) – (required) Sub total of menu, combo, and discount items. Calculated by summing the price field of each top-level menu, combo, or discount item.
  • taxTotal (Decimal) – (required) Tax total. Typically calculated by taking the subTotal and multiplying by some appropriate tax rate.
  • discountTotal (Decimal) – (required) Total amount of discounts. Sign is relative to check total – that is, a negative amount indicates the check total was reduced by that amount. Calculated by summing the price of all discounts, no matter where they appear.
  • serviceChargeTotal (Decimal) – (required) Total of service charges
  • checkTotal (Decimal) – Check total before tenders and tips. checkTotal can be calculated from the individual totals via the following formula: subTotal + taxTotal + serviceChargeTotal
  • tipTotal (Decimal) – Total of tips, if known.
  • tenderTotal (Decimal) – (required) Total of tenders applied to the check. Typically a negative amount (reducing the check total).
  • itemizedTotals (List[Object]) – (required) Can be empty. Additional POS-specific itemized totals, such as totals by reporting group or similar. Defaults to empty. See ItemizedTotal for format

Error Codes

The following are the possible codes and messages that can be returned by the Sale Service.

There are other system-level errors which may be returned which are not documented here.

The caller of the endpoint can use the returned message to display to the end user or, if different wording is desired, can provide their own mapping of code to message.

Code Message
check_storage.upload_check.no_batches No batches given as multipart attachments
check_storage.upload_check.invalid_request_part [Varies, pertains to an invalid part of the check request]
check_storage.upload_check.invalid_check Check data could not be parsed: [Varies, pertains to nature of the parsing error]
check_storage.upload_check.xml_not_supported XML format not currently supported
check_storage.upload_check.avro_not_supported Avro format not currently supported
check_storage.get_check.not_found Check not found