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; } }