/** * Get PaynetEasy address object by Prestashop cart object. * * @param Cart $prestashop_cart Prestashop cart. * * @return BillingAddress PaynetEasy payment transaction */ protected function getPaynetAddress(Cart $prestashop_cart) { $paynet_address = new BillingAddress(); $prestashop_address = new Address(intval($prestashop_cart->id_address_invoice)); $prestashop_country = new Country(intval($prestashop_address->id_country)); // In Prestashop to many countries has states. // PaynetEasy API requires state code only for some countries. if (RegionFinder::hasStates($prestashop_country->iso_code) && Country::containsStates($prestashop_address->id_country)) { $prestashop_state = new State($prestashop_address->id_state); $paynet_address->setState($prestashop_state->iso_code); } if (Validate::isPhoneNumber($prestashop_address->phone)) { $paynet_address->setPhone($prestashop_address->phone); } if (Validate::isPhoneNumber($prestashop_address->phone_mobile)) { $paynet_address->setCellPhone($prestashop_address->phone_mobile); } $paynet_address->setCountry($prestashop_country->iso_code)->setCity($prestashop_address->city)->setFirstLine($prestashop_address->address1)->setZipCode($prestashop_address->postcode); return $paynet_address; }