diff --git a/includes/gateway/abstract-omise-payment-base-card.php b/includes/gateway/abstract-omise-payment-base-card.php index 2707d17d..d61402a4 100644 --- a/includes/gateway/abstract-omise-payment-base-card.php +++ b/includes/gateway/abstract-omise-payment-base-card.php @@ -62,13 +62,14 @@ private function getOmiseCustomerId($user) { private function prepareChargeData($order_id, $order, $omise_customer_id, $card_id, $token) { $currency = $order->get_currency(); + $order_number = $order->get_order_number(); $data = [ 'amount' => Omise_Money::to_subunit($order->get_total(), $currency), 'currency' => $currency, - 'description' => 'WooCommerce Order id ' . $order_id, + 'description' => 'WooCommerce Order id ' . $order_number, 'return_uri' => $this->get_redirect_url('omise_callback', $order_id, $order), 'metadata' => $this->get_metadata( - $order_id, + $order_number, [ 'secure_form_enabled' => $this->getSecureFormState()] ), ]; diff --git a/includes/gateway/traits/charge-request-builder-trait.php b/includes/gateway/traits/charge-request-builder-trait.php index 3ddd1e11..bdc04476 100644 --- a/includes/gateway/traits/charge-request-builder-trait.php +++ b/includes/gateway/traits/charge-request-builder-trait.php @@ -10,13 +10,14 @@ public function build_charge_request( ) { $currency = $order->get_currency(); - $description = 'WooCommerce Order id ' . $order_id; + $order_number = $order->get_order_number(); + $description = 'WooCommerce Order id ' . $order_number; $request = [ 'amount' => Omise_Money::to_subunit($order->get_total(), $currency), 'currency' => $currency, 'description' => $description, - 'metadata' => $this->get_metadata($order_id), + 'metadata' => $this->get_metadata($order_number), 'source' => [ 'type' => $source_type ] ]; @@ -40,13 +41,13 @@ public function build_charge_request( } /** - * @param string $order_id + * @param string $order_number * @param array $additionalData */ - public function get_metadata($order_id, $additionalData = []) + public function get_metadata($order_number, $additionalData = []) { // override order_id as a reference for webhook handlers. - $orderId = [ 'order_id' => $order_id ]; + $orderId = [ 'order_id' => $order_number ]; return array_merge($orderId, $additionalData); } diff --git a/tests/unit/includes/gateway/abstract-omise-payment-base-card-test.php b/tests/unit/includes/gateway/abstract-omise-payment-base-card-test.php index cff4a717..3a70ebdf 100644 --- a/tests/unit/includes/gateway/abstract-omise-payment-base-card-test.php +++ b/tests/unit/includes/gateway/abstract-omise-payment-base-card-test.php @@ -62,6 +62,8 @@ public function getOrderMock($expectedAmount, $expectedCurrency) ->andReturn($expectedAmount); // in units $orderMock->shouldReceive('add_meta_data') ->andReturn(['order_id' => 'order_123']); + $orderMock->shouldReceive('get_order_number') + ->andReturn(1234); $orderMock->shouldReceive('get_user') ->andReturn((object)[ 'ID' => 'user_123', diff --git a/tests/unit/includes/gateway/traits/charge-request-builder-test.php b/tests/unit/includes/gateway/traits/charge-request-builder-test.php index 3ffe5cc4..3366dcea 100644 --- a/tests/unit/includes/gateway/traits/charge-request-builder-test.php +++ b/tests/unit/includes/gateway/traits/charge-request-builder-test.php @@ -34,6 +34,8 @@ public function getOrderMock($expectedAmount, $expectedCurrency) $orderMock->shouldReceive('get_total') ->andReturn($expectedAmount); // in units $orderMock->shouldReceive('add_meta_data'); + $orderMock->shouldReceive('get_order_number') + ->andReturn(1234); return $orderMock; }