From ad15739798cb2a8e10021594487b2577f48d878e Mon Sep 17 00:00:00 2001 From: Dima Uryvskiy Date: Thu, 5 May 2022 18:09:54 +0300 Subject: [PATCH] Fix error with integration payments --- resources/pot/retailcrm-es_ES.pot | 7 ++ resources/pot/retailcrm-ru_RU.pot | 8 ++ .../class-wc-retailcrm-abstracts-settings.php | 70 ++++++++++------ src/include/class-wc-retailcrm-orders.php | 59 ++++++++------ .../class-wc-retailcrm-order-payment.php | 8 +- src/languages/retailcrm-es_ES.mo | Bin 9028 -> 9366 bytes src/languages/retailcrm-ru_RU.mo | Bin 11084 -> 11596 bytes tests/datasets/data-base-retailcrm.php | 75 ++++++++++-------- tests/test-wc-retailcrm-base.php | 32 ++++++-- tests/test-wc-retailcrm-orders.php | 4 +- 10 files changed, 172 insertions(+), 91 deletions(-) diff --git a/resources/pot/retailcrm-es_ES.pot b/resources/pot/retailcrm-es_ES.pot index e75c247..2519584 100644 --- a/resources/pot/retailcrm-es_ES.pot +++ b/resources/pot/retailcrm-es_ES.pot @@ -310,4 +310,11 @@ msgstr "Sincronización de inventario" msgid "Don't send to CRM" msgstr "No enviar al CRM" +msgid "Integration payment" +msgstr "Integración pago" +msgid "Attention!" +msgstr "¡Atención!" + +msgid "If payment type linked to the CRM integration module choosed, payment must be proceed in the CRM" +msgstr "Al seleccionar en el enlace de tipos de pago un método de pago de integración en CRM, el pago se debe realizar por parte del CRM" \ No newline at end of file diff --git a/resources/pot/retailcrm-ru_RU.pot b/resources/pot/retailcrm-ru_RU.pot index 72ddc7b..d0713cd 100644 --- a/resources/pot/retailcrm-ru_RU.pot +++ b/resources/pot/retailcrm-ru_RU.pot @@ -319,6 +319,14 @@ msgstr "Синхронизация запасов" msgid "Don't send to CRM" msgstr "Не отправлять в CRM" +msgid "Integration payment" +msgstr "Интеграционная оплата" + +msgid "Attention!" +msgstr "Внимание!" + +msgid "If payment type linked to the CRM integration module choosed, payment must be proceed in the CRM" +msgstr "При указании в соответствии типа оплаты, привязанного к интеграционному модулю в CRM, оплата должна происходить на стороне CRM" diff --git a/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php b/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php index e9b97ff..b2f2fce 100644 --- a/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php +++ b/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php @@ -175,7 +175,7 @@ abstract class WC_Retailcrm_Abstracts_Settings extends WC_Integration /** * Shipping options */ - $shipping_option_list = array(); + $shipping_option_list = []; $retailcrm_shipping_list = $this->apiClient->deliveryTypesList(); if (!empty($retailcrm_shipping_list) && $retailcrm_shipping_list->isSuccessful()) { @@ -189,12 +189,12 @@ abstract class WC_Retailcrm_Abstracts_Settings extends WC_Integration $wc_shipping_list = get_wc_shipping_methods(); - $this->form_fields[] = array( + $this->form_fields[] = [ 'title' => __('Delivery types', 'retailcrm'), 'type' => 'heading', 'description' => '', 'id' => 'shipping_options' - ); + ]; foreach ($wc_shipping_list as $shipping_code => $shipping) { if (isset($shipping['enabled']) && $shipping['enabled'] == static::YES) { @@ -214,40 +214,64 @@ abstract class WC_Retailcrm_Abstracts_Settings extends WC_Integration /** * Payment options */ - $payment_option_list = array(); - $retailcrm_payment_list = $this->apiClient->paymentTypesList(); + $crmPaymentsList = $this->apiClient->paymentTypesList(); - if (!empty($retailcrm_payment_list) && $retailcrm_payment_list->isSuccessful()) { - foreach ($retailcrm_payment_list['paymentTypes'] as $retailcrm_payment_type) { - if ($retailcrm_payment_type['active'] == false) { + if (!empty($crmPaymentsList) && $crmPaymentsList->isSuccessful()) { + $paymentsList = []; + $integrationPayments = []; + + foreach ($crmPaymentsList['paymentTypes'] as $crmPaymentType) { + if ($crmPaymentType['active'] == false) { continue; } - $payment_option_list[$retailcrm_payment_type['code']] = $retailcrm_payment_type['name']; + if (isset($crmPaymentType['integrationModule'])) { + $integrationPayments['code'][] = $crmPaymentType['code']; + $integrationPayments['name'][] = $crmPaymentType['name']; + + $crmPaymentType['name'] .= ' - ' . __('Integration payment', 'retailcrm'); + } + + $paymentsList[$crmPaymentType['code']] = $crmPaymentType['name']; } $wc_payment = WC_Payment_Gateways::instance(); - $this->form_fields[] = array( - 'title' => __('Payment types', 'retailcrm'), - 'type' => 'heading', - 'description' => '', - 'id' => 'payment_options' - ); + $this->form_fields[] = [ + 'id' => 'payment_options', + 'type' => 'heading', + 'title' => __('Payment types', 'retailcrm'), + ]; + + if (!empty($integrationPayments['name'])) { + $this->form_fields['payment_notification'] = [ + 'id' => 'payment_options', + 'css' => 'max-width:400px;resize: none;', + 'type' => 'textarea', + 'title' => __('Attention!', 'retailcrm'), + 'value' => '', + 'placeholder' => __('If payment type linked to the CRM integration module choosed, payment must be proceed in the CRM', 'retailcrm'), + 'custom_attributes' => ['readonly' => 'readonly'], + ]; + } foreach ($wc_payment->payment_gateways() as $payment) { - $this->form_fields[$payment->id] = array( - 'title' => __($payment->method_title, 'woocommerce'), - 'description' => __($payment->method_description, 'woocommerce'), - 'css' => 'min-width:350px;', - 'class' => 'select', - 'type' => 'select', - 'options' => $payment_option_list, + $this->form_fields[$payment->id] = [ + 'css' => 'min-width:350px;', + 'type' => 'select', + 'title' => __($payment->method_title, 'woocommerce'), + 'class' => 'select', + 'options' => $paymentsList, 'desc_tip' => true, - ); + 'description' => __($payment->method_description, 'woocommerce'), + ]; } } + if (!empty($integrationPayments['code'])) { + update_option('retailcrm_integration_payments', $integrationPayments['code']); + } + /** * Statuses options */ diff --git a/src/include/class-wc-retailcrm-orders.php b/src/include/class-wc-retailcrm-orders.php index e15fb5f..2a96e1d 100644 --- a/src/include/class-wc-retailcrm-orders.php +++ b/src/include/class-wc-retailcrm-orders.php @@ -39,13 +39,13 @@ if (!class_exists('WC_Retailcrm_Orders')) : private $ordersGetRequestCache = array(); /** @var array */ - private $order = array(); + private $order = []; /** @var array */ - private $payment = array(); + private $payment = []; /**@var array */ - private $customFields = array(); + private $customFields = []; public function __construct( $retailcrm, @@ -290,29 +290,31 @@ if (!class_exists('WC_Retailcrm_Orders')) : $retailcrmOrder = $this->getCrmOrder($order->get_id()); - if (!empty($retailcrmOrder)) { - foreach ($retailcrmOrder['payments'] as $payment_data) { - $payment_external_id = explode('-', $payment_data['externalId']); + if (empty($retailcrmOrder)) { + return null; + } - if ($payment_external_id[0] == $order->get_id()) { - $payment = $payment_data; - } + foreach ($retailcrmOrder['payments'] as $paymentData) { + $paymentId = explode('-', $paymentData['externalId']); + + if ($paymentId[0] == $order->get_id()) { + $payment = $paymentData; } } - if (isset($payment) && $payment['type'] == $this->retailcrm_settings[$order->get_payment_method()] && $order->is_paid()) { - $payment = $this->sendPayment($order, true, $payment['externalId']); - - return $payment; + if (empty($payment)) { + return null; } - if (isset($payment) && $payment['type'] != $this->retailcrm_settings[$order->get_payment_method()]) { + if ($payment['type'] == $this->retailcrm_settings[$order->get_payment_method()] && $order->is_paid()) { + return $this->sendPayment($order, true, $payment['externalId']); + } + + if ($payment['type'] != $this->retailcrm_settings[$order->get_payment_method()]) { $response = $this->retailcrm->ordersPaymentDelete($payment['id']); if (!empty($response) && $response->isSuccessful()) { - $payment = $this->sendPayment($order); - - return $payment; + return $this->sendPayment($order); } } @@ -362,11 +364,11 @@ if (!class_exists('WC_Retailcrm_Orders')) : $service = retailcrm_get_delivery_service($shipping['method_id'], $shipping['instance_id']); if ($service) { - $orderData['delivery']['service'] = array( + $orderData['delivery']['service'] = [ 'name' => $service['title'], 'code' => $service['instance_id'], 'active' => true - ); + ]; } } @@ -380,17 +382,16 @@ if (!class_exists('WC_Retailcrm_Orders')) : } $orderData['delivery']['address'] = $this->order_address->build($order)->get_data(); - $order_items = array(); + $orderItems = []; /** @var WC_Order_Item_Product $item */ foreach ($order->get_items() as $item) { - $order_items[] = $this->order_item->build($item)->get_data(); + $orderItems[] = $this->order_item->build($item)->get_data(); $this->order_item->reset_data(); } - $orderData['items'] = $order_items; - - $orderData['discountManualAmount'] = 0; + $orderData['items'] = $orderItems; + $orderData['discountManualAmount'] = 0; $orderData['discountManualPercent'] = 0; if (!$update && $order->get_total() > 0) { @@ -432,6 +433,16 @@ if (!class_exists('WC_Retailcrm_Orders')) : $this->order_payment->is_new = !$update; $payment = $this->order_payment->build($order, $externalId)->get_data(); + $integrationPayments = get_option('retailcrm_integration_payments'); + + if (is_array($integrationPayments)) { + $integrationPayments = array_flip($integrationPayments); + } + + if ($update === true && isset($integrationPayments[$payment['type']])) { + return $payment; + } + if ($update === false) { $this->retailcrm->ordersPaymentCreate($payment); } else { diff --git a/src/include/order/class-wc-retailcrm-order-payment.php b/src/include/order/class-wc-retailcrm-order-payment.php index 3e621e0..bcedb30 100644 --- a/src/include/order/class-wc-retailcrm-order-payment.php +++ b/src/include/order/class-wc-retailcrm-order-payment.php @@ -49,7 +49,7 @@ class WC_Retailcrm_Order_Payment extends WC_Retailcrm_Abstracts_Data public function build($order, $externalId = false) { $this->reset_data(); - $data = array(); + $data = []; if (!$this->is_new) { $data['externalId'] = $externalId; @@ -57,9 +57,9 @@ class WC_Retailcrm_Order_Payment extends WC_Retailcrm_Abstracts_Data $data['externalId'] = uniqid($order->get_id() . "-"); } - $data['order'] = array( + $data['order'] = [ 'externalId' => $order->get_id() - ); + ]; if ($order->is_paid()) { $data['status'] = 'paid'; @@ -77,7 +77,7 @@ class WC_Retailcrm_Order_Payment extends WC_Retailcrm_Abstracts_Data if (isset($this->settings[$order->get_payment_method()])) { $data['type'] = $this->settings[$order->get_payment_method()]; } else { - $data = array(); + $data = []; } } diff --git a/src/languages/retailcrm-es_ES.mo b/src/languages/retailcrm-es_ES.mo index 54ed9024db870a79267f00ac8de32398f5e46f3a..3af405cbf680fc53183ccfbdb681bc5b0e99225c 100644 GIT binary patch delta 2536 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 delta 2260 zcmYk+X>3h-7{~Fai&0nig;LzMwsuO3YpJTLQZ1^kDV=NY=uAV95Je`8Ync!cghm)M zMr}z&W=JkkGm{|kMs#F^Ad&D&o4)ZzQ!h*#-`}~1^q)NE^FP~vea>lH(N-ILog972 zC=J9gqAJSlFz)_}1Eo2}tUq2r4_?Jsyom$xJ`TZu-SZAi;`}|PW4{4r**F5H<7~{p zUC8~Qou*R7g&UZNJ(z~^^ri<#VH}paR^w34SK(mXiM(RRQ62q)YUdwx28MdR12wQn zMoraHF`oX-OC^g7`KSl{sE*g6M!W~dVJmLHx0r{ESq81lE-b(UScV}~$K9v_B{KSI z^q~g4A2q4?)h`n3+S$wFN4;&Uv-Ze;bWfZnwNB{&E-qh|Co{)K0e zM{OC?)fTMB#t5@hsFm^Xl5%7)>U}Q<4P+|jVnvXOl5Hz036J7JypBHni1k>&^z>qr z>t)==`7IoYxqM3+=prn^-S{>Bjq0c!XJI0lITQV;2?mc*DWY-?)xk?tgPo`b<5(v( zP>fu%2GmOJ#TsnJOzgrkOk*}1F@P)a0sfAeB*+}Ri|QweeVU^0Kb6X6E-b(a*ouYN zi9ccXi119Bkv{AZGHGi^4X78D6X}df*Gn-61GohDp(gYcEAfMCX(r3B@Bc8BS=@Mn zjhMtfXe$nK(2FgofwiG#)`QyH4J1w;?m%^T5t*z#!gB0D&2&7C@QRh-Nvw0v-(wN| zTN){^B=Vygs7LNu5cSzyLh{W1K<(Lm*Z)v6dV?BB&gk$~Ep^?44P0+Qt!Tm+vm;oE z`|ueCS!Jtb{gfVamS$+|jgteju_zIQf@30s%nD!hD;Bx#8Ct^1)!W^V4p zIyr-wPE->=5d8_2q%b<>JO6prlu)Gv$?W{2%dw1@M#K^-DWRU2l!#D)z; diff --git a/tests/datasets/data-base-retailcrm.php b/tests/datasets/data-base-retailcrm.php index f790000..e70e6b4 100644 --- a/tests/datasets/data-base-retailcrm.php +++ b/tests/datasets/data-base-retailcrm.php @@ -17,77 +17,86 @@ class DataBaseRetailCrm { public static function getResponseStatuses() { - return array( + return [ 'success' => true, - 'statuses' => array( - array( + 'statuses' => [ + [ 'name' => 'status1', 'code' => 'status1', 'active' => true - ), - array( + ], + [ 'name' => 'status2', 'code' => 'status2', 'active' => false - ) - ) - ); + ] + ] + ]; } public static function getResponsePaymentTypes() { - return array( + return [ 'success' => true, - 'paymentTypes' => array( - array( + 'paymentTypes' => [ + [ 'name' => 'payment1', 'code' => 'payment1', 'active' => true - ), - array( + ], + [ 'name' => 'payment2', 'code' => 'payment2', 'active' => false - ) - ) - ); + ], + [ + 'name' => 'payment3', + 'code' => 'payment3', + 'integrationModule' => [ + 'name' => 'test', + 'active' => true, + ], + 'active' => true + ], + ] + ]; } public static function getResponseDeliveryTypes() { - return array( + return [ 'success' => true, - 'deliveryTypes' => array( - array( + 'deliveryTypes' => [ + [ 'name' => 'delivery1', 'code' => 'delivery1', 'active' => true - ), - array( + ], + [ 'name' => 'delivery2', 'code' => 'delivery2', 'active' => false - ) - ) - ); + ] + ] + ]; } public static function getResponseOrderMethods() { - return array( + return [ 'success' => true, - 'orderMethods' => array( - array( + 'orderMethods' => [ + [ 'name' => 'orderMethod1', 'code' => 'orderMethod1', 'active' => true - ), - array( + ], + [ 'name' => 'orderMethod2', 'code' => 'orderMethod2', 'active' => false - ) - ) - ); + ] + ] + ]; } -} \ No newline at end of file +} diff --git a/tests/test-wc-retailcrm-base.php b/tests/test-wc-retailcrm-base.php index c514192..6e97d95 100644 --- a/tests/test-wc-retailcrm-base.php +++ b/tests/test-wc-retailcrm-base.php @@ -76,29 +76,49 @@ class WC_Retailcrm_Base_Test extends WC_Retailcrm_Test_Case_Helper } } + $integrationPayments = get_option('retailcrm_integration_payments'); + + $this->assertNotEmpty($integrationPayments); + $this->assertInternalType('array', $integrationPayments); + $this->assertEquals('payment3', $integrationPayments[0]); + foreach (wc_get_order_statuses() as $idx => $name) { $uid = str_replace('wc-', '', $idx); $this->assertArrayHasKey($uid, $this->baseRetailcrm->form_fields); } - $this->assertArrayHasKey('corporate_enabled', $this->baseRetailcrm->form_fields); - $this->assertArrayHasKey('online_assistant', $this->baseRetailcrm->form_fields); - + //Order settings $this->assertArrayHasKey('order_methods', $this->baseRetailcrm->form_fields); $this->assertInternalType('array', $this->baseRetailcrm->form_fields['order_methods']); + //Payment settings + $this->assertArrayHasKey('payment_notification', $this->baseRetailcrm->form_fields); + $this->assertInternalType('array', $this->baseRetailcrm->form_fields['payment_notification']); + $this->assertEquals('textarea', $this->baseRetailcrm->form_fields['payment_notification']['type']); + + //WhatsApp settings $this->assertArrayHasKey('whatsapp_active', $this->baseRetailcrm->form_fields); $this->assertArrayHasKey('whatsapp_location_icon', $this->baseRetailcrm->form_fields); $this->assertArrayHasKey('whatsapp_number', $this->baseRetailcrm->form_fields); + + //Cron settings $this->assertArrayHasKey('icml', $this->baseRetailcrm->form_fields); + $this->assertArrayHasKey('history', $this->baseRetailcrm->form_fields); + + //Export orders/customers settings $this->assertArrayHasKey('export_selected_orders_ids', $this->baseRetailcrm->form_fields); $this->assertArrayHasKey('export_selected_orders_btn', $this->baseRetailcrm->form_fields); - $this->assertArrayHasKey('history', $this->baseRetailcrm->form_fields); + + //Debug info settings + $this->assertArrayHasKey('debug_mode', $this->baseRetailcrm->form_fields); + $this->assertArrayHasKey('debug-info', $this->baseRetailcrm->form_fields); + + //Other settings + $this->assertArrayHasKey('corporate_enabled', $this->baseRetailcrm->form_fields); + $this->assertArrayHasKey('online_assistant', $this->baseRetailcrm->form_fields); $this->assertArrayHasKey('deactivate_update_order', $this->baseRetailcrm->form_fields); $this->assertArrayHasKey('bind_by_sku', $this->baseRetailcrm->form_fields); $this->assertArrayHasKey('update_number', $this->baseRetailcrm->form_fields); - $this->assertArrayHasKey('debug_mode', $this->baseRetailcrm->form_fields); - $this->assertArrayHasKey('debug-info', $this->baseRetailcrm->form_fields); } public function test_retailcrm_form_fields_value() diff --git a/tests/test-wc-retailcrm-orders.php b/tests/test-wc-retailcrm-orders.php index 66c1c12..c6d649e 100644 --- a/tests/test-wc-retailcrm-orders.php +++ b/tests/test-wc-retailcrm-orders.php @@ -241,8 +241,10 @@ class WC_Retailcrm_Orders_Test extends WC_Retailcrm_Test_Case_Helper $this->assertEquals('US', $orderData['countryIso']); $this->assertEquals(0, $orderData['discountManualAmount']); $this->assertEquals(0, $orderData['discountManualPercent']); + $this->assertEquals($orderData['customFields']['crm_order'], 'test_custom_fields'); + if (mb_strlen($orderData['delivery']['address']['index']) === 6) { $this->assertEquals('123456', $orderData['delivery']['address']['index']); } else { @@ -263,7 +265,7 @@ class WC_Retailcrm_Orders_Test extends WC_Retailcrm_Test_Case_Helper $this->assertEquals('payment1', $payment['type']); $this->assertArrayNotHasKey('amount', $payment); } else { - $this->assertEquals(array(), $payment); + $this->assertEquals([], $payment); } } else { $this->assertEquals(null, $order);