Beispiel #1
0
 protected function addInternationalShippingData(Ess_M2ePro_Model_Ebay_Template_Shipping $shippingTemplate, $accountId, array &$requestData)
 {
     if ($shippingTemplate->isInternationalShippingNoInternationalEnabled() || $shippingTemplate->isLocalShippingFreightEnabled() || $shippingTemplate->isLocalShippingLocalEnabled()) {
         return;
     }
     $requestData['use_international_shipping_rate_table'] = $shippingTemplate->isInternationalShippingRateTableEnabled();
     $requestData['shipping']['international'] = array();
     if ($shippingTemplate->isInternationalShippingFlatEnabled()) {
         $requestData['shipping']['international']['type'] = Ess_M2ePro_Model_Ebay_Template_Shipping::EBAY_SHIPPING_TYPE_FLAT;
     }
     if ($shippingTemplate->isInternationalShippingCalculatedEnabled()) {
         $requestData['shipping']['international']['type'] = Ess_M2ePro_Model_Ebay_Template_Shipping::EBAY_SHIPPING_TYPE_CALCULATED;
         $requestData['shipping']['international']['handing_fee'] = $shippingTemplate->getCalculatedShipping()->getInternationalHandling();
         if (!isset($requestData['shipping']['calculated'])) {
             $requestData['shipping']['calculated'] = $this->getCalculatedData($shippingTemplate);
         }
     }
     $requestData['shipping']['international']['discount'] = $shippingTemplate->isInternationalShippingDiscountEnabled();
     $requestData['shipping']['international']['combined_discount_profile'] = $shippingTemplate->getInternationalShippingCombinedDiscountProfileId($accountId);
     $requestData['shipping']['international']['methods'] = array();
     $services = $shippingTemplate->getServices(true);
     foreach ($services as $service) {
         /** @var $service Ess_M2ePro_Model_Ebay_Template_Shipping_Service */
         if (!$service->isShippingTypeInternational()) {
             continue;
         }
         $tempDataMethod = array('service' => $service->getShippingValue(), 'locations' => $service->getLocations());
         if ($shippingTemplate->isInternationalShippingFlatEnabled()) {
             $tempDataMethod['cost'] = $service->getCost();
             $tempDataMethod['cost_additional'] = $service->getCostAdditional();
         }
         $requestData['shipping']['international']['methods'][] = $tempDataMethod;
     }
 }