☰ Menü · Hesaplama
API referansı

Fiş hesaplama

Misafir ödeme yapmadan önce bir fişin ne kazandıracağını ve ne kadar cashback kullanılacağını sorgulayın. Hiçbir şey kaydedilmez.

POST/v1/checks/calculate
İzin: transactions:write veya devices:write

POST /v1/transactions ile aynı kuralları uygular: misafirin seviyesi, kategori kuralları, programın oranı, işletmenin limitleri ve rezervasyonlar. Sepet her değiştiğinde çağırabilirsiniz. Fiş kapanmadan önce başka bir kasa bakiyeyi yine de harcayabilir. Bu önemliyse bir rezervasyon kullanın.

memberstring, zorunlu
Kart numarası, okunan değer, seri numarası, üye id'si veya telefon.
amountinteger, zorunlu
Cashback düşülmeden önceki fiş toplamı, en küçük para biriminde.
redeem_amountinteger
Misafirin cashback ile ödemek istediği tutar.
hold_iduuid
Bu rezervasyon onaylanmış gibi hesaplar.
line_itemsdizi
İşlemdekiyle aynı. Kategori kuralları için kullanılır.
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 }'
Yanıt · 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
Gerçekte kullanılacak tutar.
max_redeeminteger
Bu fişte şu anda kullanılabilecek en yüksek tutar.
limited_bystring veya null
İstek daha fazlasını istediyse: balance, program, per_check veya per_day.
cashback_earned, earn_rate, level
Fişin ne kazandıracağı ve hangi seviyede.
balance_afterinteger
Bu fişten sonraki bakiye.
hold_requiredboolean
İşletme yalnızca rezervasyonla kullandırıyor ve hold_id gönderilmedi.
stamps_earned, reward_unlocked, discount_percent
Damga ve ziyaret programları için.
displaynesne
Misafirin dilinde cashier_text ve receipt_lines.