star-cloud/app/Models/Transaction
sky121113 d9edeb0d5d [FEAT] 電子發票後台開立、對帳、補開與作廢流程
1. 新增發票狀態機(pending/issued/failed/void)與冪等鍵 relate_number,並補上 last_checked_at、retry_count、voided_at、void_reason 欄位(migration 全欄位 nullable/有預設,對既有資料零影響並回填既有狀態)。
2. finalize 帶入發票輸入時改為先建 pending 發票,commit 後派發 IssueInvoiceJob 非同步向綠界開立,避免在交易內等待 ECPay 造成長交易。
3. 新增 EcpayInvoiceService 封裝綠界 B2C API(GetIssue 查詢、Issue 補開、Invalid 作廢),金鑰仍取自各機台 payment_configs。
4. 新增 invoices:reconcile 排程指令,每 5 分鐘對 pending 發票以 RelateNumber 向綠界 GetIssue 查證,補登 issued 或標記 failed 待補開。
5. SalesController 新增 reconcileInvoice/reissueInvoice/voidInvoice 三個後台操作端點與對應路由。
6. 發票列表改以 created_at 篩選(pending/failed 尚無 invoice_date 也能顯示),新增狀態過濾器與查詢/補開/作廢操作按鈕,狀態徽章改以狀態機顯示。
7. recordInvoice 改以 flow_id updateOrCreate 收斂,避免重送產生重複發票列;查詢機台/訂單時加上 withoutGlobalScopes。
8. 同步新增相關三語系字串並加入 ecpay_invoice base_url 設定。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 16:18:33 +08:00
..
DispenseRecord.php [FIX] 修正商品軟刪除之出貨歷史關聯與圖片破圖優化 2026-05-19 17:25:10 +08:00
Invoice.php [FEAT] 電子發票後台開立、對帳、補開與作廢流程 2026-06-15 16:18:33 +08:00
Order.php [FEAT] 新增手機支付與 LINE Pay 官方直連支付類型 2026-06-15 13:55:08 +08:00
OrderItem.php [FIX] 修正商品軟刪除之出貨歷史關聯與圖片破圖優化 2026-05-19 17:25:10 +08:00
PassCode.php [FEAT] 優化通行碼與取貨碼模組、補齊多國語系系統及介面風格調整 2026-04-29 16:54:21 +08:00
PassCodeLog.php [FEAT] 實作封閉迴圈交易審核與 API 規格標準化 2026-05-05 17:50:26 +08:00
PaymentType.php [FEAT] 新增員工卡管理模組與 B012 API 文檔完善 2026-05-05 14:06:43 +08:00
PickupCode.php [FEAT] 優化取貨碼管理介面與功能 2026-05-06 16:33:15 +08:00
PickupCodeLog.php [FEAT] 實作封閉迴圈交易審核與 API 規格標準化 2026-05-05 17:50:26 +08:00
WelcomeGift.php [FIX] 補齊與優化來店禮、通行碼、取貨碼之多語系與介面欄位呈現 2026-05-22 14:46:26 +08:00
WelcomeGiftLog.php [FIX] 補齊與優化來店禮、通行碼、取貨碼之多語系與介面欄位呈現 2026-05-22 14:46:26 +08:00