@@ -131,19 +131,13 @@ public function createOrder($orderData)
131
131
$ this ->setPhraseRenderer ();
132
132
if (!empty ($ orderData )) {
133
133
$ orderCreateModel = $ this ->processQuote ($ orderData );
134
- if (!empty ($ orderData ['payment ' ])) {
135
- $ orderCreateModel ->setPaymentData ($ orderData ['payment ' ]);
136
- $ orderCreateModel ->getQuote ()->getPayment ()->addData ($ orderData ['payment ' ]);
137
- }
138
134
$ customer = $ this ->customerRepository ->get (
139
135
$ orderData ['order ' ]['account ' ]['email ' ],
140
136
$ this ->storeManager ->getWebsite ()->getId ()
141
137
);
142
138
$ orderCreateModel ->getQuote ()->setCustomer ($ customer );
143
139
$ orderCreateModel ->getSession ()->setCustomerId ($ customer ->getId ());
144
- $ order = $ orderCreateModel
145
- ->importPostData ($ orderData ['order ' ])
146
- ->createOrder ();
140
+ $ order = $ orderCreateModel ->createOrder ();
147
141
$ orderItem = $ this ->getOrderItemForTransaction ($ order );
148
142
$ this ->invoiceOrder ($ orderItem );
149
143
$ this ->shipOrder ($ orderItem );
@@ -174,23 +168,14 @@ protected function processQuote($data = [])
174
168
$ orderCreateModel = $ this ->createOrderFactory ->create (
175
169
['quoteSession ' => $ this ->currentSession ]
176
170
);
177
- if (!empty ($ data ['order ' ])) {
178
- $ orderCreateModel ->importPostData ($ data ['order ' ]);
179
- }
180
- $ orderCreateModel ->getQuote ()->setReservedOrderId (null );
171
+ $ orderCreateModel ->importPostData ($ data ['order ' ])->initRuleData ();
181
172
$ orderCreateModel ->getBillingAddress ();
182
- $ orderCreateModel ->setShippingAsBilling (true );
183
- if (! empty ( $ data ['add_products ' ])) {
184
- $ orderCreateModel ->addProducts ( $ data [ ' add_products ' ] );
185
- }
173
+ $ orderCreateModel ->setShippingAsBilling (1 );
174
+ $ orderCreateModel -> addProducts ( $ data ['add_products ' ]);
175
+ $ orderCreateModel ->getQuote ()-> getShippingAddress ()-> unsetData ( ' cached_items_all ' );
176
+ $ orderCreateModel -> getQuote ()-> setTotalsCollectedFlag ( false );
186
177
$ orderCreateModel ->collectShippingRates ();
187
- if (!empty ($ data ['payment ' ])) {
188
- /** @var \Magento\Quote\Model\Quote\Payment $payment */
189
- $ payment = $ orderCreateModel ->getQuote ()->getPayment ();
190
- $ payment ->addData ($ data ['payment ' ]);
191
- $ payment ->setQuote ($ orderCreateModel ->getQuote ());
192
- }
193
- $ orderCreateModel ->initRuleData ();
178
+ $ orderCreateModel ->getQuote ()->getPayment ()->addData ($ data ['payment ' ])->setQuote ($ orderCreateModel ->getQuote ());
194
179
return $ orderCreateModel ;
195
180
}
196
181
0 commit comments