public function testPayPagePaymentWithSetPaymentMethodInvoice() { $config = SveaConfig::getDefaultConfig(); $rowFactory = new \TestUtil(); $form = \WebPay::createOrder($config)->addOrderRow(\TestUtil::createOrderRow())->run($rowFactory->buildShippingFee())->addDiscount(\WebPayItem::relativeDiscount()->setDiscountId("1")->setDiscountPercent(50)->setUnit("st")->setName('Relative')->setDescription("RelativeDiscount"))->addCustomerDetails(\WebPayItem::companyCustomer()->setNationalIdNumber(4608142222))->setCountryCode("SE")->setClientOrderNumber("33")->setOrderDate("2012-12-12")->setCurrency("SEK")->usePaymentMethod(\PaymentMethod::INVOICE)->setReturnUrl("http://myurl.se")->getPaymentForm(); $xmlMessage = new \SimpleXMLElement($form->xmlMessage); $this->assertEquals(SystemPaymentMethod::INVOICE_SE, $xmlMessage->paymentmethod[0]); $this->assertEquals("TRUE", $xmlMessage->iscompany); $this->assertEquals("4608142222", $xmlMessage->customer->ssn); }
public function testBuildCardPayment() { $rowFactory = new \TestUtil(); $config = SveaConfig::getDefaultConfig(); $form = \WebPay::createOrder($config)->addOrderRow(\TestUtil::createOrderRow())->run($rowFactory->buildShippingFee())->addDiscount(\WebPayItem::relativeDiscount()->setDiscountId("1")->setDiscountPercent(50)->setUnit("st")->setName('Relative')->setDescription("RelativeDiscount"))->addCustomerDetails(\WebPayItem::companyCustomer()->setNationalIdNumber("2345234"))->setCountryCode("SE")->setClientOrderNumber("33")->setOrderDate("2012-12-12")->setCurrency("SEK")->usePayPageCardOnly()->setReturnUrl("http://myurl.se")->getPaymentForm(); $xmlMessage = new \SimpleXMLElement($form->xmlMessage); $payment = base64_decode($form->xmlMessageBase64); $payment_decoded = new \SimpleXMLElement($payment); //test values are as expected avter transforming xml to php object $this->assertEquals('SEK', $xmlMessage->currency); $this->assertEquals('18750', $xmlMessage->amount); $this->assertEquals('3750', $xmlMessage->vat); $this->assertEquals('12500', $xmlMessage->orderrows->row[0]->amount); $this->assertEquals('6250', $xmlMessage->orderrows->row[1]->amount); $this->assertEquals('-12500', $xmlMessage->orderrows->row[2]->amount); }
/** * 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; }
public function testInvoiceRequestObjectWithAuth() { $config = Svea\SveaConfig::getDefaultConfig(); $rowFactory = new TestUtil(); $request = WebPay::createOrder($config)->addOrderRow(TestUtil::createOrderRow())->run($rowFactory->buildShippingFee())->addCustomerDetails(WebPayItem::companyCustomer()->setNationalIdNumber(194605092222)->setAddressSelector("ad33"))->setCountryCode("SE")->setCustomerReference("33")->setClientOrderNumber("nr26")->setOrderDate("2012-12-12")->setCurrency("SEK")->useInvoicePayment()->prepareRequest(); $this->assertEquals('sverigetest', $request->request->Auth->Username); $this->assertEquals('sverigetest', $request->request->Auth->Password); $this->assertEquals(79021, $request->request->Auth->ClientNumber); }
public function test_add_publickey_for_private_customer_full_request() { $config = \Svea\SveaConfig::getTestConfig(); $order = WebPay::createOrder($config)->addCustomerDetails(WebPayItem::companyCustomer()->setCompanyName('mycomp')->setNationalIdNumber('164701161111')->setPublicKey('ac0f2573b58ff523'))->setCountryCode('SE')->addOrderRow(WebPayItem::orderRow()->setAmountIncVat(125.0)->setVatPercent(25)->setQuantity(1))->setOrderDate(date('c'))->useInvoicePayment()->prepareRequest(); $this->assertEquals('ac0f2573b58ff523', $order->request->CreateOrderInformation->CustomerIdentity->PublicKey); }
/** * @expectedException Svea\ValidationException * @expectedExceptionMessage -missing value : OrgNumber is required for company customers when countrycode is SE, NO, DK or FI. Use function setNationalIdNumber(). */ public function testFailOnMissingOrgNumberForCompanyOrderSe() { $config = SveaConfig::getDefaultConfig(); $builder = \WebPay::createOrder($config); $order = $builder->setCountryCode("SE")->setOrderDate("Mon, 15 Aug 05 15:52:01 +0000")->addCustomerDetails(\WebPayItem::companyCustomer()->setCompanyName("Mycompany"))->useInvoicePayment(); $order->prepareRequest(); }
public function testInvoiceCompanySE() { $config = Svea\SveaConfig::getDefaultConfig(); $request = WebPay::createOrder($config)->addOrderRow(TestUtil::createOrderRow())->addCustomerDetails(WebPayItem::companyCustomer()->setNationalIdNumber(4608142222))->setCountryCode("SE")->setOrderDate("2012-12-12")->setCurrency("SEK")->useInvoicePayment()->doRequest(); $this->assertEquals(true, $request->accepted); }
public function testBuildOrderWithCompanyCustomerDE() { $config = SveaConfig::getDefaultConfig(); $request = \WebPay::createOrder($config); $request = $request->addOrderRow(\TestUtil::createOrderRow())->addCustomerDetails(\WebPayItem::companyCustomer()->setVatNumber("SE666666")->setCompanyName("MyCompany")->setEmail("*****@*****.**")->setPhoneNumber(999999)->setIpAddress("123.123.123")->setStreetAddress("Gatan", 23)->setCoAddress("c/o Eriksson")->setZipCode(9999)->setLocality("Stan")); $request = $request->setCountryCode("DE")->setCustomerReference("33")->setOrderDate("2012-12-12")->setCurrency("EUR")->useInvoicePayment()->prepareRequest(); $this->assertEquals("SE666666", $request->request->CreateOrderInformation->CustomerIdentity->CompanyIdentity->CompanyVatNumber); $this->assertEquals("Company", $request->request->CreateOrderInformation->CustomerIdentity->CustomerType); $this->assertEquals("MyCompany", $request->request->CreateOrderInformation->CustomerIdentity->FullName); }
public static function companyCustomer() { return WebPayItem::companyCustomer(); }
public function testBuildOrderWithCompanyDetails() { $config = SveaConfig::getDefaultConfig(); $sveaRequest = \WebPay::createOrder($config)->addCustomerDetails(\WebPayItem::companyCustomer()->setNationalIdNumber("2345234")->setCompanyName("TestCompagniet")); $this->assertEquals("2345234", $sveaRequest->customerIdentity->orgNumber); $this->assertEquals("TestCompagniet", $sveaRequest->customerIdentity->companyName); }