Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $orderNumber = '00000001';
- $order = $this->orderFactory->loadByIncrementId($orderNumber);
- if($order->hasInvoices()){
- if($order->canShip()){
- $shipment = $this->orderModel->toShipment($order);
- foreach ($order->getAllItems() AS $orderItem) {
- if (!$orderItem->getQtyToShip() || $orderItem->getIsVirtual()) {
- continue;
- }
- $qtyShipped = $orderItem->getQtyToShip();
- $shipmentItem = $this->orderModel->itemToShipmentItem($orderItem)->setQty($qtyShipped);
- $shipment->addItem($shipmentItem);
- }
- $shipment->register();
- $shipment->getOrder()->setIsInProcess(true);
- try {
- $trackingIds = array(
- '0'=>array('carrier_code'=>'fedex','title' => 'Federal Express','number'=>'3131331230')
- );
- /*You can Add Multiple tracking information*/
- foreach ($trackingIds as $trackingId) {
- $data = array(
- 'carrier_code' => $trackingId['carrier_code'],
- 'title' => $trackingId['title'],
- 'number' => $trackingId['number'],
- );
- $track = $this->trackFactory->create()->addData($data);
- $shipment->addTrack($track)->save();
- }
- $shipment->save();
- $shipment->getOrder()->save();
- // Send email
- $this->shipmentFactory->notify($shipment);
- $shipment->save();
- } catch (Exception $e) {
- $this->logger->info($e->getMessage());
- }
- }else{
- $this->logger->info('You can not create an shipment:' . $orderNumber);
- }
- }else {
- $this->logger->info('Invoice is not created for order:' . $orderNumber);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement