'decimal:2', 'discount_amount' => 'decimal:2', 'pay_amount' => 'decimal:2', 'change_amount' => 'decimal:2', 'original_amount' => 'decimal:2', 'payment_at' => 'datetime', 'machine_time' => 'datetime', 'metadata' => 'array', 'payment_type' => 'integer', ]; /** * 取得所有支付類型的對照標籤 */ public static function getPaymentTypeLabels(): array { return [ 1 => __('Credit Card'), 2 => __('E-Ticket (EasyCard/iPass)'), 3 => __('QR Code Payment'), 4 => __('Bill Acceptor'), 5 => __('Pass Code'), // 使用者要求由「通關密碼」改為「通行碼」 6 => __('Pickup Code'), 7 => __('Welcome Gift'), 8 => __('Questionnaire'), 9 => __('Coin Acceptor'), 21 => __('Offline + 1'), 22 => __('Offline + 2'), 23 => __('Offline + 3'), 24 => __('Offline + 4'), 25 => __('Offline + 9'), 30 => __('LINE Pay'), 31 => __('JKO Pay'), 32 => __('Easy Wallet'), 33 => __('Pi Pay'), 34 => __('PlusPay'), 40 => __('Member Verify Pickup'), 41 => __('Staff Card'), 42 => __('Pickup Voucher'), 50 => __('Offline + LINE Pay'), 51 => __('Offline + JKO Pay'), 52 => __('Offline + Easy Wallet'), 53 => __('Offline + Pi Pay'), 54 => __('Offline + PlusPay'), 60 => __('Points/Voucher'), 61 => __('Member + 1'), 62 => __('Member + 2'), 63 => __('Member + 3'), 64 => __('Member + 4'), 65 => __('Member + 5'), 66 => __('Member + 6'), 67 => __('Member + 7'), 68 => __('Member + 8'), 69 => __('Member + 9'), 90 => __('Member + LINE Pay'), 91 => __('Member + JKO Pay'), 92 => __('Member + Easy Wallet'), 93 => __('Member + Pi Pay'), 94 => __('Member + PlusPay'), ]; } /** * 取得目前的支付類型標籤 (Accessor) */ public function getPaymentTypeLabelAttribute(): string { return self::getPaymentTypeLabels()[$this->payment_type] ?? __('Unknown'); } public function machine() { return $this->belongsTo(Machine::class); } public function member() { return $this->belongsTo(Member::class); } public function items() { return $this->hasMany(OrderItem::class); } public function invoice() { return $this->hasOne(Invoice::class); } public function dispenseRecords() { return $this->hasMany(DispenseRecord::class); } public function staffCardLog() { return $this->hasOne(\App\Models\StaffCardLog::class); } public function welcomeGift() { return $this->belongsTo(WelcomeGift::class); } }