/**
  * @param \SimpleXMLElement $order
  * @param ShopifyOrderEntity $shopifyOrder
  * @return ErpOrderEntity
  */
 public static function createFromShopifyOrder(\SimpleXMLElement $order, ShopifyOrderEntity $shopifyOrder)
 {
     $self = new self();
     $self->orderId = (string) $order->OrderNumber;
     $self->shopifyOrderId = $shopifyOrder->getId();
     return $self;
 }
 /**
  * @param ErpShipmentEntity $erpShipment
  * @param ShopifyOrderEntity $shopifyOrder
  */
 public function setFulfilledItems(ErpShipmentEntity $erpShipment, ShopifyOrderEntity $shopifyOrder)
 {
     /** @var ErpOrderItemEntity $item */
     foreach ($erpShipment->getShipmentItems() as $item) {
         /** @var ShopifyOrderLineItemEntity $shopifyItem */
         foreach ($shopifyOrder->getItems() as $shopifyItem) {
             if ($item->getSku() == $shopifyItem->getSku()) {
                 $shopifyItem->setIsFulfilled(1);
             }
         }
     }
 }
 /**
  * @param Event $event
  * @param StoreEntity $store
  */
 public function __construct(Event $event, StoreEntity $store)
 {
     parent::__construct($event, $store);
     $this->order = ShopifyOrderEntity::createFromResponse($event->getPayload());
 }
示例#4
0
 /**
  * @param StoreEntity $store
  * @param ShopifyOrderEntity $orderEntity
  * @return ErpOrderEntity
  */
 public function createOrder(StoreEntity $store, ShopifyOrderEntity $orderEntity)
 {
     $xmlObject = ShopifyOrderEntity::convertToXmlForErp($orderEntity, $store);
     $request = $this->client->createRequest('POST', sprintf('%s/orders/', $store->getErpUrl()), ['auth' => [$store->getErpUsername(), $store->getErpPassword()], 'body' => $xmlObject->asXML()]);
     $response = $this->sendRequest($request)->xml();
     return ErpOrderEntity::createFromShopifyOrder($response, $orderEntity);
 }
 /**
  * @param StoreEntity $store
  * @param ShopifyOrderEntity $order
  * @return ShopifyTransactionEntity|null
  */
 public function getTransaction(StoreEntity $store, ShopifyOrderEntity $order)
 {
     $this->setSettings($store);
     $response = $this->client->getTransactions(['order_id' => $order->getId()]);
     $orderTransaction = null;
     if ($response['transactions']) {
         foreach ($response['transactions'] as $transaction) {
             if ($transaction['kind'] == ShopifyTransactionEntity::KIND_AUTHORIZATION || $transaction['kind'] == ShopifyTransactionEntity::KIND_CAPTURE) {
                 $orderTransaction = ShopifyTransactionEntity::createFromTransactionResponse($transaction);
                 $order->setTransaction($orderTransaction);
                 break;
             }
         }
     }
 }