1616class CreateOrder {
1717 protected $ api ;
1818
19- public function __construct ()
20- {
19+ public function __construct () {
2120 $ this ->api = new CdekApi ();
2221 }
2322
24- public function createOrder ($ data )
25- {
23+ public function createOrder ($ data ) {
2624 if (Helper::getActualShippingMethod ()->get_option ('has_packages_mode ' ) !== 'yes ' ) {
2725 $ validate = ValidateCreateOrderForm::validate ($ data );
2826 if (!$ validate ->state ) {
2927 return $ validate ->response ();
3028 }
3129 }
3230
33- $ orderId = $ data ->get_param ('package_order_id ' );
34- $ postOrderData = OrderMetaData::getMetaByOrderId ($ orderId );
35- $ param = setPackage ($ data , $ orderId , $ postOrderData ['currency ' ]); //data передается в сыром виде
36- $ order = wc_get_order ($ orderId );
37- $ cityCode = getCityCode ($ postOrderData ['city_code ' ], $ order );
38-
31+ $ orderId = $ data ->get_param ('package_order_id ' );
32+ $ order = wc_get_order ($ orderId );
33+ $ postOrderData = OrderMetaData::getMetaByOrderId ($ orderId );
3934 $ postOrderData ['tariff_code ' ] = CheckoutHelper::getOrderShippingMethod ($ order )->get_meta ('tariff_code ' );
35+ $ postOrderData ['type ' ] = Tariff::getTariffType ($ postOrderData ['tariff_code ' ]);
36+ $ param = setPackage ($ data , $ orderId , $ postOrderData ['currency ' ],
37+ $ postOrderData ['type ' ]); //data передается в сыром виде
38+ $ cityCode = getCityCode ($ postOrderData ['city_code ' ], $ order );
4039
4140 $ validate = ValidateCityCode::validate ($ cityCode );
4241 if (!$ validate ->state ) {
@@ -57,9 +56,9 @@ public function createOrder($data)
5756 OrderMetaData::updateMetaByOrderId ($ orderId , $ postOrderData );
5857
5958 return [
60- 'state ' => true ,
61- 'code ' => $ cdekNumber ,
62- 'door ' => Tariff::isTariffFromDoor ($ postOrderData ['tariff_id ' ]),
59+ 'state ' => true ,
60+ 'code ' => $ cdekNumber ,
61+ 'door ' => Tariff::isTariffFromDoor ($ postOrderData ['tariff_id ' ]),
6362 ];
6463 }
6564
@@ -80,6 +79,8 @@ public function createRequestData($postOrderData, $order, $param) {
8079 ];
8180 }
8281
82+ $ param ['type ' ] = $ postOrderData ['type ' ];
83+
8384 $ param ['recipient ' ] = [
8485 'name ' => $ order ->get_billing_first_name ().' ' .$ order ->get_billing_last_name (),
8586 'email ' => $ order ->get_billing_email (),
@@ -89,36 +90,27 @@ public function createRequestData($postOrderData, $order, $param) {
8990 ];
9091
9192 if (Helper::getActualShippingMethod ()->get_option ('international_mode ' ) === 'yes ' ) {
92- $ param ['recipient ' ]['passport_series ' ] = $ order ->get_meta ('_passport_series ' , true );
93- $ param ['recipient ' ]['passport_number ' ] = $ order ->get_meta ('_passport_number ' , true );
93+ $ param ['recipient ' ]['passport_series ' ] = $ order ->get_meta ('_passport_series ' , true );
94+ $ param ['recipient ' ]['passport_number ' ] = $ order ->get_meta ('_passport_number ' , true );
9495 $ param ['recipient ' ]['passport_date_of_issue ' ] = $ order ->get_meta ('_passport_date_of_issue ' , true );
9596 $ param ['recipient ' ]['passport_organization ' ] = $ order ->get_meta ('_passport_organization ' , true );
9697 $ param ['recipient ' ]['tin ' ] = $ order ->get_meta ('_tin ' , true );
9798 $ param ['recipient ' ]['passport_date_of_birth ' ] = $ order ->get_meta ('_passport_date_of_birth ' , true );
9899 }
99100
100101 $ param ['tariff_code ' ] = $ postOrderData ['tariff_code ' ];
101- $ param ['print ' ] = 'waybill ' ;
102102
103103 $ selectedPaymentMethodId = $ order ->get_payment_method ();
104104 if ($ selectedPaymentMethodId === 'cod ' ) {
105- $ codPriceThreshold = (int )Helper::getActualShippingMethod ()->get_option ('stepcodprice ' );
106- $ total = $ this ->getOrderPrice ($ order );
105+ $ codPriceThreshold = (int ) Helper::getActualShippingMethod ()->get_option ('stepcodprice ' );
106+ $ total = $ this ->getOrderPrice ($ order );
107107 if ($ codPriceThreshold === 0 || $ codPriceThreshold > $ total ) {
108108 $ param ['delivery_recipient_cost ' ] = [
109109 'value ' => $ order ->get_shipping_total (),
110110 ];
111111 }
112112 }
113113
114-
115- // if ($selectedPaymentMethodId === 'cod' && $codPriceThreshold > 0) {
116- // $param['delivery_recipient_cost_adv'] = [
117- // 'sum' => $order->get_shipping_total(),
118- // 'threshold' => $codPriceThreshold
119- // ];
120- // }
121-
122114 return $ param ;
123115 }
124116
@@ -128,8 +120,10 @@ public function createRequestData($postOrderData, $order, $param) {
128120 * @return string
129121 */
130122 protected function getOrderPrice ($ order ): string {
131- $ total = number_format ((float ) $ order ->get_total () - $ order ->get_total_tax () - $ order ->get_total_shipping () - $ order ->get_shipping_tax (),
132- wc_get_price_decimals (), '. ' , '' );
123+ $ total = number_format ((float ) $ order ->get_total () -
124+ $ order ->get_total_tax () -
125+ $ order ->get_total_shipping () -
126+ $ order ->get_shipping_tax (), wc_get_price_decimals (), '. ' , '' );
133127
134128 return $ total ;
135129 }
0 commit comments