/** * Add Customer details to Svea CreateOrder object * * @param type $order * @param type $additionalInfo * @return type Svea CreateOrder object */ public function getSveaPaymentObject($order, $additionalInfo = null) { $svea = parent::getSveaPaymentObject($order, $additionalInfo); //Add more customer info $countryCode = $order->getBillingAddress()->getCountryId(); $company = $additionalInfo['svea_customerType']; $address = $order->getBillingAddress()->getStreetFull(); $addressArray = \Svea\Helper::splitStreetAddress($address); if ($company == "1") { $item = WebPayItem::companyCustomer(); $item = $item->setEmail($order->getBillingAddress()->getEmail())->setCompanyName($order->getBillingAddress()->getCompany())->setStreetAddress($addressArray[1], $addressArray[2])->setZipCode($order->getBillingAddress()->getPostcode())->setLocality($order->getBillingAddress()->getCity())->setIpAddress(Mage::helper('core/http')->getRemoteAddr(false))->setPhoneNumber($order->getBillingAddress()->getTelephone()); if ($countryCode == "DE" || $countryCode == "NL") { $item = $item->setVatNumber($additionalInfo['svea_vatNo']); } else { $item = $item->setNationalIdNumber($additionalInfo['svea_ssn']); $item = $item->setAddressSelector($additionalInfo['svea_addressSelector']); } } else { $item = WebPayItem::individualCustomer(); // Not all countries has svea_ssn input if (array_key_exists('svea_ssn', $additionalInfo)) { $item = $item->setNationalIdNumber($additionalInfo['svea_ssn']); } $item = $item->setEmail($order->getBillingAddress()->getEmail())->setName($order->getBillingAddress()->getFirstname(), $order->getBillingAddress()->getLastname())->setStreetAddress($addressArray[1], $addressArray[2])->setZipCode($order->getBillingAddress()->getPostcode())->setLocality($order->getBillingAddress()->getCity())->setIpAddress(Mage::helper('core/http')->getRemoteAddr(false))->setPhoneNumber($order->getBillingAddress()->getTelephone()); if ($countryCode == "DE" || $countryCode == "NL") { $validBirthday = true; foreach (array('svea_birthYear', 'svea_birthMonth', 'svea_birthDay') as $key) { if (!array_key_exists($key, $additionalInfo) || trim($additionalInfo[$key]) === "") { $validBirthday = false; } } if ($validBirthday) { $item = $item->setBirthDate($additionalInfo['svea_birthYear'], $additionalInfo['svea_birthMonth'], $additionalInfo['svea_birthDay']); } } if ($countryCode == "NL") { if (array_key_exists('svea_initials', $additionalInfo)) { $item = $item->setInitials($additionalInfo['svea_initials']); } } } // Set public key on the object if publicKey is set in additionalInfo if (array_key_exists('svea_publicKey', $additionalInfo)) { $publicKey = $additionalInfo['svea_publicKey']; if ($publicKey !== '') { $item = $item->setPublicKey($publicKey); // $item = $item->setAddressSelector(''); } } $svea = $svea->addCustomerDetails($item); return $svea; }