diff --git a/app/Services/Transaction/TransactionService.php b/app/Services/Transaction/TransactionService.php
index c9f8380..b6d1832 100644
--- a/app/Services/Transaction/TransactionService.php
+++ b/app/Services/Transaction/TransactionService.php
@@ -371,7 +371,9 @@ class TransactionService
// 2. Record Invoice — 後台開立版:finalize 帶 invoice 輸入(status=pending)時建 pending 發票,
// commit 後派 IssueInvoiceJob 去綠界開立(不在交易內等 ECPay,避免長交易)。
- if (!empty($data['invoice'])) {
+ // 開立條件:機台「電子發票開關」開啟 AND 上報帶 invoice,兩者皆成立才開立。
+ // 機台關閉電子發票時略過開立(不建發票、不送綠界),僅留 warning log 供日後追查。
+ if (!empty($data['invoice']) && $order->machine?->tax_invoice_enabled) {
$invoiceData = $data['invoice'];
$invoiceData['serial_no'] = $serialNo;
$invoiceData['flow_id'] = $order->flow_id;
@@ -384,6 +386,13 @@ class TransactionService
\App\Jobs\Transaction\IssueInvoiceJob::dispatch($invoice->id);
});
}
+ } elseif (!empty($data['invoice'])) {
+ // 上報帶了 invoice,但機台「電子發票開關」為關閉 → 略過開立,留軌跡供追查。
+ Log::warning('機台已關閉電子發票,略過開立', [
+ 'machine_id' => $order->machine_id,
+ 'flow_id' => $order->flow_id,
+ 'order_id' => $order->id,
+ ]);
}
// 3. Record Dispense Results (B602) - Optional/Multiple
diff --git a/resources/views/admin/sales/partials/order-detail-panel.blade.php b/resources/views/admin/sales/partials/order-detail-panel.blade.php
index c244e02..1eeec53 100644
--- a/resources/views/admin/sales/partials/order-detail-panel.blade.php
+++ b/resources/views/admin/sales/partials/order-detail-panel.blade.php
@@ -309,57 +309,29 @@
-
- @if($invStatus === 'issued')
- {{-- 列印(捐贈發票無紙本,僅非捐贈可列印) --}}
- @if($invPrintable)
-
- @else
-
{{ __('Donation invoices cannot be printed') }}
- @endif
- {{-- 作廢:使用自製確認框 UI(不用瀏覽器原生 confirm) --}}
-
-
- @elseif(in_array($invStatus, ['pending', 'failed']))
- {{-- 查詢(對帳) --}}
-
- {{-- 補開 --}}
-
-
diff --git a/resources/views/admin/sales/partials/tab-invoices.blade.php b/resources/views/admin/sales/partials/tab-invoices.blade.php
index 8219e52..f8bd0af 100644
--- a/resources/views/admin/sales/partials/tab-invoices.blade.php
+++ b/resources/views/admin/sales/partials/tab-invoices.blade.php
@@ -238,21 +238,27 @@
@if(in_array($st, ['pending', 'failed']))
+ {{-- 查詢(對帳) --}}
-
+ id }}')"
+ class="p-2 rounded-xl text-slate-400 hover:text-cyan-500 hover:bg-cyan-500/5 dark:hover:bg-cyan-500/10 border border-transparent hover:border-cyan-500/20 transition-all">
+
+
@endif
{{-- 作廢按鈕僅在「訂單詳情」提供,列表操作欄不再顯示 --}}
order_id }})"
|