☰ Меню · Розрахунок
Довідник 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 мовою гостя.