☰ Меню · Расчёт чека
Справочник API

Расчёт чека

Узнайте, что чек начислит и спишет, до того как гость заплатит. Ничего не записывается.

POST/v1/checks/calculate
Право: transactions:write или devices:write

Применяет те же правила, что и POST /v1/transactions: уровень гостя, правила категорий, долю программы, лимиты заведения и резервы. Вызывайте при каждом изменении корзины. Другая касса всё ещё может потратить баланс до закрытия чека; если это важно, используйте резерв.

memberstring, обязательный
Номер карты, отсканированное значение, серийный номер, id участника или телефон.
amountinteger, обязательный
Сумма чека до списания кэшбэка, в минимальных единицах.
redeem_amountinteger
Сколько гость хочет оплатить кэшбэком.
hold_iduuid
Рассчитать так, будто этот резерв подтверждён.
line_itemsarray
Как в транзакции, используются правилами категорий.
curl
curl https://loyaltyfy.io/api/v1/checks/calculate \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "member": "2000111703779", "amount": 20000, "redeem_amount": 5000 }'
Ответ · 200
{
  "object": "check_calculation",
  "amount": 20000,
  "redeem_amount": 1250,
  "max_redeem": 1250,
  "limited_by": "balance",
  "net_amount": 18750,
  "cashback_earned": 938,
  "earn_rate": 5,
  "level": "Base",
  "balance_after": 938,
  "category_rules_applied": false,
  "hold_required": false,
  "stamps_earned": 0,
  "reward_unlocked": false,
  "member": { "object": "member", ... },
  "display": {
    "cashier_text": "Paid with cashback: 12.50 MDL · Cashback earned: 9.38 MDL · Cashback balance: 9.38 MDL",
    "receipt_lines": [
      "Paid with cashback: 12.50 MDL",
      "Cashback earned: 9.38 MDL",
      "Cashback balance: 9.38 MDL"
    ]
  }
}
redeem_amountinteger
Сколько будет списано на самом деле.
max_redeeminteger
Максимум, который этот чек может списать сейчас.
limited_bystring или null
Если запрошено больше: balance, program, per_check или per_day.
cashback_earned, earn_rate, level
Что начислит чек и по какому уровню.
balance_afterinteger
Баланс после этого чека.
hold_requiredboolean
Заведение списывает только через резерв, а hold_id не передан.
stamps_earned, reward_unlocked, discount_percent
Для программ со штампами и визитами.
displayobject
cashier_text и receipt_lines на языке гостя.