diff --git a/includes/paynow-payment/includes/gateways/class-paynow-payment-response.php b/includes/paynow-payment/includes/gateways/class-paynow-payment-response.php index e81277b8..6318f04e 100755 --- a/includes/paynow-payment/includes/gateways/class-paynow-payment-response.php +++ b/includes/paynow-payment/includes/gateways/class-paynow-payment-response.php @@ -203,7 +203,9 @@ public static function paynow_valid_offline_response( $posted ) { $order->update_meta_data( '_paynow_tran_id', $buysafe_no ); $order->update_meta_data( '_paynow_tran_status', $tran_status ); - $order->update_meta_data( '_transaction_id', $buysafe_no ); + // HPOS 下 `_transaction_id` 是 wc_orders.transaction_id 欄位, + // 透過 update_meta_data 寫入會被靜默丟棄,必須使用 setter。 + $order->set_transaction_id( $buysafe_no ); // 虛擬帳號 virtual account pay type = 03. if ( PayNow_Pay_Type::VIRTUAL_ACCOUNT === $pay_type ) { diff --git a/includes/ry-woocommerce-tools/woocommerce/shipping/ry-base.php b/includes/ry-woocommerce-tools/woocommerce/shipping/ry-base.php index 011a66b2..670ff434 100644 --- a/includes/ry-woocommerce-tools/woocommerce/shipping/ry-base.php +++ b/includes/ry-woocommerce-tools/woocommerce/shipping/ry-base.php @@ -178,7 +178,9 @@ public static function save_order_update( $order_id ) { // HPOS 相容:使用物件方法操作 meta $shipping_address = $order->get_address( 'shipping' ); - $order->update_meta_data( '_shipping_address_1', wc_clean( wp_unslash( $_POST['_shipping_cvs_store_address'] ) ) ); + // `_shipping_address_1` 是 wc_order_addresses 的核心欄位, + // HPOS 下 update_meta_data 會被靜默丟棄,必須用 setter。 + $order->set_shipping_address_1( wc_clean( wp_unslash( $_POST['_shipping_cvs_store_address'] ) ) ); $order->update_meta_data( '_shipping_address_index', implode( ' ', $shipping_address ) ); $order->save(); }