11. Sık yapılan hatalar
| Yapmayın | Yapın |
|---|---|
| Önce onay gönderip sonra fişe yazmak. | Önizleme → fişe yazma → onay. |
Her tekrar denemede yeni Idempotency-Key üretmek. | previewId başına tek Idempotency-Key. O onayın her tekrar denemesi aynı key'i ve aynı gövdeyi gönderir. Key'i ilk gönderimden önce saklayın. |
| Onayı her hatada tekrar denemek. | Yalnızca geçici cevaplarda tekrar deneyin (7.6). Diğer her cevapta durun ve fişi geri alın. |
Fiş numarasını Idempotency-Key olarak kullanmak. | Rastgele bir UUID kullanın. Bir fişte iki kupon kullanılıyorsa her birinin kendi key'i olur. |
| Onay timeout'a düşünce kupon satırlarını silmek. | Makbuz ya da net bir ret alana kadar aynı key ile tekrar deneyin. |
| Her çağrı için yeni token istemek. | Token'ı ömrü boyunca cache'leyin. |
| Client secret'ı restorandaki cihazda tutmak. | Sunucunuzda tutun. |
| QR linkini kısaltmak veya kodu büyük harfe çevirip göndermek. | Okutulan veya yazılanı aynen gönderin. |
| Her kasa için ilk şubeyi kullanmak. | Her kasanın doğru branchId'sini saklayın (5.3), liste değişince GET /branches ile yenileyin. |
İndirimi fiş toplamı saleUnit olacak şekilde yazmak. | Kupon satırları saleUnit olacak şekilde yazın. Müşterinin diğer siparişleri fişte tam fiyatıyla kalır. |
| Fişin tamamını "Fırsat" ödeme tipiyle kapatmak. | Sadece min(kupon satırlarının fişteki toplamı, saleUnit) tutarını "Fırsat" ile kapatın; kalanı müşteri öder. |
Kupon satırları daha az tuttuğunda (ör. 250 yerine 240) saleUnit tutarını "Fırsat" ile kapatmak. | İndirim eklemeyin ve 240'ı kapatın. Fırsat işletmeye yine 250'yi kendi hesaplaşmasıyla öder. |
Ne yapacağınıza detail metnini parse ederek karar vermek. | status ve code (ve details.reason) kullanın. |