public function test_add_new_notes_invoice() { $config = Svea\SveaConfig::getDefaultConfig(); $orderResponse = WebPay::createOrder($config)->addOrderRow(WebPayItem::orderRow()->setAmountExVat(145.0)->setVatPercent(24)->setQuantity(1))->addCustomerDetails(TestUtil::createIndividualCustomer("SE"))->setCountryCode("SE")->setOrderDate("2012-12-12")->useInvoicePayment()->doRequest(); $this->assertEquals(1, $orderResponse->accepted); $response = WebPayAdmin::updateOrder($config)->setCountryCode('SE')->setOrderId($orderResponse->sveaOrderId)->setNotes($this->notes)->updateInvoiceOrder()->doRequest(); $this->assertEquals(1, $response->accepted); // query order and assert row totals $query2 = WebPayAdmin::queryOrder($config)->setOrderId($orderResponse->sveaOrderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query2->accepted); $this->assertEquals($this->notes, $query2->notes); //print_r($orderResponse->sveaOrderId); }
function test_AddOrderRows_addPaymentPlanOrderRows_multiple_rows_success() { $country = "SE"; $order = TestUtil::createOrderWithoutOrderRows(TestUtil::createIndividualCustomer($country)); $order->addOrderRow(TestUtil::createOrderRow(1000.0, 1)); $orderResponse = $order->usePaymentPlanPayment(TestUtil::getGetPaymentPlanParamsForTesting())->doRequest(); $this->assertEquals(1, $orderResponse->accepted); $b_quantity = 1; $b_amountExVat = 100.0; $b_vatPercent = 12; $b_articleNumber = "1071e"; $b_unit = "pcs."; $b_name = "B Name"; $b_description = "B Description"; $b_discount = 0; $addOrderRowsBuilder = new \Svea\AddOrderRowsBuilder(Svea\SveaConfig::getDefaultConfig()); $addOrderRowsResponse = $addOrderRowsBuilder->setOrderId($orderResponse->sveaOrderId)->setCountryCode($country)->addOrderRow(TestUtil::createOrderRow(2.0, 1))->addOrderRow(WebPayItem::orderRow()->setQuantity($b_quantity)->setAmountExVat($b_amountExVat)->setVatPercent($b_vatPercent)->setArticleNumber($b_articleNumber)->setUnit($b_unit)->setName($b_name)->setDescription($b_description)->setDiscountPercent($b_discount))->addPaymentPlanOrderRows()->doRequest(); $this->assertEquals(1, $addOrderRowsResponse->accepted); $createdOrderId = $orderResponse->sveaOrderId; ////print_r("test_AddOrderRows_addPaymentPlanOrderRows_multiple_rows_success: "); //print_r( $createdOrderId ); // query orderrows $queryOrderBuilder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig())->setOrderId($createdOrderId)->setCountryCode($country); $queryResponse = $queryOrderBuilder->queryPaymentPlanOrder()->doRequest(); ////print_r( $queryResponse); $this->assertEquals(1, $queryResponse->accepted); // assert that order rows are the same $this->assertEquals($b_quantity, $queryResponse->numberedOrderRows[2]->quantity); $this->assertEquals($b_amountExVat, $queryResponse->numberedOrderRows[2]->amountExVat); $this->assertEquals($b_vatPercent, $queryResponse->numberedOrderRows[2]->vatPercent); $this->assertEquals($b_articleNumber, $queryResponse->numberedOrderRows[2]->articleNumber); $this->assertEquals($b_unit, $queryResponse->numberedOrderRows[2]->unit); $this->assertStringStartsWith($b_name, $queryResponse->numberedOrderRows[2]->description); $this->assertStringEndsWith($b_description, $queryResponse->numberedOrderRows[2]->description); $this->assertEquals($b_discount, $queryResponse->numberedOrderRows[2]->discountPercent); $this->assertEquals("NotDelivered", $queryResponse->numberedOrderRows[2]->status); $this->assertEquals(3, $queryResponse->numberedOrderRows[2]->rowNumber); }
/** * test_manual_CancelOrderBuilderRows_Card_single_row_success_step_2 * * run this test manually after you've performed a direct bank transaction and have gotten the transaction details needed */ function test_manual_CancelOrderBuilderRows_Card_multiple_rows_success_step_2() { // Stop here and mark this test as incomplete. $this->markTestIncomplete('test_manual_CancelOrderBuilderRows_Card_single_row_success_step_2, step 2'); // 1. remove (put in a comment) the above code to enable the test // 2. set $createdOrderId to the transactionid from the transaction log of the request done by following the url from step 1 above. // 3. below is an example of the xml generated by paypage for the request in step 1 above, along with the transaction id, for reference. $createdOrderId = 583620; $country = "SE"; // query orderrows $queryOrderBuilder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig())->setOrderId($createdOrderId)->setCountryCode($country); $queryResponse = $queryOrderBuilder->queryCardOrder()->doRequest(); //print_r( $queryResponse); // 2x100 @25 = 25000 (5000) // 1x100 @25 = 12500 (2500) // 1x100 @12 = 11200 (1200) // amount = 48700, vat = 8700 $this->assertEquals(1, $queryResponse->accepted); $this->assertEquals(48700, $queryResponse->amount); $this->assertEquals(8700, $queryResponse->vat); $this->assertEquals(48700, $queryResponse->authorizedamount); // cancel second, third order row $cancelBuilder = new \Svea\CancelOrderRowsBuilder(Svea\SveaConfig::getDefaultConfig()); $cancelOrderRowsBuilder = $cancelBuilder->setOrderId($createdOrderId)->setCountryCode($country)->setRowsToCancel(array(2, 3))->addNumberedOrderRows($queryResponse->numberedOrderRows); $cancelOrderRowsResponse = $cancelOrderRowsBuilder->cancelCardOrderRows()->doRequest(); $this->assertEquals(1, $cancelOrderRowsResponse->accepted); // query orderrows $queryOrderBuilder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig())->setOrderId($createdOrderId)->setCountryCode($country); $query2Response = $queryOrderBuilder->queryCardOrder()->doRequest(); //print_r( $query2Response); // 2x100 @25 = 25000 (5000) // 1x100 @25 = 12500 (2500) <- credited // 1x100 @12 = 11200 (1200) <- credited // amount = 48700-12500-11200, vat = 8700 $this->assertEquals(1, $query2Response->accepted); $this->assertEquals(1, $query2Response->accepted); $this->assertEquals(48700, $query2Response->amount); $this->assertEquals(8700, $query2Response->vat); $this->assertEquals(25000, $query2Response->authorizedamount); $this->assertEquals("AUTHORIZED", $query2Response->status); }
public function test_add_single_orderRow_type_mismatch_created_inc_updated_ex() { $config = Svea\SveaConfig::getDefaultConfig(); $orderResponse = WebPay::createOrder($config)->addOrderRow(WebPayItem::orderRow()->setAmountIncVat(123.9876)->setVatPercent(24)->setQuantity(1))->addCustomerDetails(TestUtil::createIndividualCustomer("SE"))->setCountryCode("SE")->setCurrency("SEK")->setOrderDate("2012-12-12")->useInvoicePayment()->doRequest(); $this->assertEquals(1, $orderResponse->accepted); // query order and assert row totals $query = WebPayAdmin::queryOrder($config)->setOrderId($orderResponse->sveaOrderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query->accepted); $this->assertEquals("123.99", $query->numberedOrderRows[0]->amountIncVat); // sent 123.9876 inc => 123.99 queried $this->assertEquals("24", $query->numberedOrderRows[0]->vatPercent); $response = WebPayAdmin::updateOrderRows($config)->setCountryCode('SE')->setOrderId($orderResponse->sveaOrderId)->updateOrderRow(WebPayItem::numberedOrderRow()->setRowNumber(1)->setAmountExVat(99.98999999999999)->setVatPercent(24)->setQuantity(1))->updateInvoiceOrderRows()->doRequest(); $this->assertEquals(1, $response->accepted); // query order and assert row totals $query2 = WebPayAdmin::queryOrder($config)->setOrderId($orderResponse->sveaOrderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query2->accepted); $this->assertEquals("123.99", $query2->numberedOrderRows[0]->amountIncVat); // sent 99.99 ex * 1.24 => sent 123.9876 inc => 123.99 queried $this->assertEquals("24", $query2->numberedOrderRows[0]->vatPercent); //print_r($orderResponse->sveaOrderId); }
/** * test_manual_queryOrder_queryDirectBank_order_step_2 * * run this test manually after you've performed a direct bank transaction and have gotten the transaction details needed */ function test_manual_queryOrder_queryDirectBank_order_step_2() { // Stop here and mark this test as incomplete. // $this->markTestIncomplete( // 'skeleton for test_manual_queryOrder_queryDirectBank_order_step_2, step 2' // ); // 1. remove (put in a comment) the above code to enable the test // 2. set $createdOrderId to the transactionid from the transaction log of the request done by following the url from step 1 above. // 3. below is an example of the xml generated by paypage for the request in step 1 above, along with the transaction id, for reference. $createdOrderId = 583556; // create order w/three rows (2xA, 1xB) (from step 1 above) $country = "SE"; $a_quantity = 2; $a_amountExVat = 1000.0; $a_vatPercent = 25; $b_quantity = 1; $b_amountExVat = 100.0; $b_vatPercent = 12; $b_articleNumber = "Red 5"; $b_unit = "pcs."; $b_name = "B Name"; $b_description = "B Description"; $b_discount = 0; // query orderrows $queryOrderBuilder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig())->setOrderId($createdOrderId)->setCountryCode($country); $queryResponse = $queryOrderBuilder->queryDirectBankOrder()->doRequest(); ////print_r( $queryResponse); $this->assertEquals(1, $queryResponse->accepted); //Svea\QueryTransactionResponse Object //( // [transactionId] => 582656 // [customerrefno] => clientOrderNumber:2014-05-21T11:30:53 02:00 // [merchantid] => 1130 // [status] => SUCCESS // [amount] => 261200 // [currency] => SEK // [vat] => 51200 // [capturedamount] => 261200 // [authorizedamount] => 261200 // [created] => 2014-05-21 11:31:15.697 // [creditstatus] => CREDNONE // [creditedamount] => 0 // [merchantresponsecode] => 0 // [paymentmethod] => DBNORDEASE // [orderrows] => Array // ( // [0] => Svea\OrderRow Object // ( // [articleNumber] => // [quantity] => 2 // [unit] => // [amountExVat] => 1000 // [amountIncVat] => // [vatPercent] => 25 // [name] => // [description] => // [discountPercent] => // [vatDiscount] => 0 // ) // // [1] => Svea\OrderRow Object // ( // [articleNumber] => Red 5 // [quantity] => 1 // [unit] => pcs. // [amountExVat] => 100 // [amountIncVat] => // [vatPercent] => 12 // [name] => B Name // [description] => B Description // [discountPercent] => // [vatDiscount] => 0 // ) // // ) // // [accepted] => 1 // [resultcode] => 0 // [errormessage] => //) // assert that order rows are the same $this->assertEquals($a_quantity, $queryResponse->numberedOrderRows[0]->quantity); $this->assertEquals($a_amountExVat, $queryResponse->numberedOrderRows[0]->amountExVat); $this->assertEquals($b_quantity, $queryResponse->numberedOrderRows[1]->quantity); $this->assertEquals($b_amountExVat, $queryResponse->numberedOrderRows[1]->amountExVat); $this->assertEquals($b_vatPercent, $queryResponse->numberedOrderRows[1]->vatPercent); $this->assertEquals($b_articleNumber, $queryResponse->numberedOrderRows[1]->articleNumber); $this->assertEquals($b_unit, $queryResponse->numberedOrderRows[1]->unit); $this->assertStringStartsWith($b_name, $queryResponse->numberedOrderRows[1]->name); $this->assertStringEndsWith($b_description, $queryResponse->numberedOrderRows[1]->description); $this->assertEquals($b_discount, $queryResponse->numberedOrderRows[1]->discountPercent); }
function test_CreditOrderRows_creditCardOrderRows_addCreditOrderRow_setRowToCredit_exceeds_original_order_fails() { // Stop here and mark this test as incomplete. $this->markTestIncomplete('first set up approved invoice and enter id in setUp()'); // query orderrows to pass in creditOrderRows->setNumberedOrderRows() $queryOrderBuilder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig())->setOrderId($this->successfulTransactionToTest)->setCountryCode($this->country); $queryResponse = $queryOrderBuilder->queryCardOrder()->doRequest(); //print_r( $queryResponse ); $this->assertEquals(1, $queryResponse->accepted); $creditOrderRowsBuilder = new Svea\CreditOrderRowsBuilder(Svea\SveaConfig::getDefaultConfig()); $creditOrderRowsRequest = $creditOrderRowsBuilder->setOrderId($this->successfulTransactionToTest)->setCountryCode($this->country)->addNumberedOrderRows($queryResponse->numberedOrderRows)->setRowToCredit(5)->creditCardOrderRows(); $creditOrderRowsResponse = $creditOrderRowsRequest->doRequest(); //print_r("test_CreditOrderRows_creditCardOrderRows_addCreditOrderRow_setRowToCredit_exceeds_original_order_fails:\n"); //print_r( $creditOrderRowsResponse ); $this->assertEquals(0, $creditOrderRowsResponse->accepted); $this->assertEquals("119 (ILLEGAL_CREDITED_AMOUNT)", $creditOrderRowsResponse->resultcode); }
// To credit the order, we need its transactionid, which we received with the order request response and wrote to file. $myTransactionId = file_get_contents("transactionid.txt"); if (!$myTransactionId) { echo "<pre>Error: transactionid.txt not found, first run cardorder_credit.php to set up the card order. aborting."; die; } $firstCreditOrderRowsBuilder->setOrderId($myTransactionId)->setCountryCode("SE"); $secondCreditOrderRowsBuilder = WebPayAdmin::creditOrderRows($myConfig); $secondCreditOrderRowsBuilder->setOrderId($myTransactionId)->setCountryCode("SE"); // To credit specific order rows, you pass the order rows numbers you wish to credit using setRowsToCredit(). // For card orders, you also need to pass in the numbered order rows themselves using addNumberedOrderRows(). // You can use the WebPayAdmin::queryCardOrder() entrypoint method to get a copy of the original order rows sent to Svea. // Note that these order rows does not update following a successful credit order rows request, even though the // QueryTransactionResponse field creditedamount returned by a queryOrder request will reflect the current credit status. // $queryOrderBuilder = WebPayAdmin::queryOrder($myConfig)->setOrderId($myTransactionId)->setCountryCode("SE"); // query orderrows to pass in creditOrderRows->setNumberedOrderRows() $queryResponse = $queryOrderBuilder->queryCardOrder()->doRequest(); if (!$queryResponse->accepted) { echo "<pre>Error: queryOrder failed. aborting."; die; } // The query response holds an array of NumberedOrderRow containing the order rows as sent in the createOrder request $myOriginalOrderRows = $queryResponse->numberedOrderRows; // Put the numbered order row indexes into an array to pass to setRowsToCredit() $myRowIndexesToCredit = range(1, count($myOriginalOrderRows)); // original order rows are 1-indexed and contains no gaps // Add the indexes to credit and the order row data to the builder object. $secondCreditOrderRowsBuilder->addNumberedOrderRows($myOriginalOrderRows)->setRowsToCredit($myRowIndexesToCredit); // Send the credit request to Svea: $myCreditRequest = $secondCreditOrderRowsBuilder->creditCardOrderRows();
/** * Builds the base queryOrder object * * @param Mage_Payment_Model_Info $payment * @param $transactionId * @return mixed */ protected function _getQueryOrderRequest(Mage_Payment_Model_Info $payment, $transactionId) { $order = $payment->getOrder(); $paymentMethodConfig = $this->getSveaStoreConfClass($order->getStoreId()); $config = new SveaMageConfigProvider($paymentMethodConfig); $countryId = $order->getBillingAddress()->getCountryId(); $request = WebPayAdmin::queryOrder($config)->setOrderId($transactionId)->setCountryCode($countryId); return $request; }
public function test_manual_deliver_single_card_orderRow_of_confirmed_order_performs_loweramount_and_returns_ConfirmTransactionError() { // Stop here and mark this test as incomplete. $this->markTestIncomplete('test_manual_deliver_single_card_orderRow_of_confirmed_order_performs_loweramount_and_returns_ConfirmTransactionError'); // 1. go to https://test.sveaekonomi.se/webpay-admin/admin/start.xhtml // 2. go to verktyg -> betalning // 3. enter our test merchantid: 1130 // 4. use the following xml, making sure to update to a unique customerrefno: //<paymentmethod>KORTCERT</paymentmethod><currency>EUR</currency><amount>600</amount><vat>120</vat><customerrefno>test_14105300920232</customerrefno><returnurl>https://test.sveaekonomi.se/webpay-admin/admin/merchantresponsetest.xhtml</returnurl><orderrows><row><name>A</name><amount>100</amount><vat>20</vat><description>rowA</description><quantity>1</quantity><sku>665</sku><unit>st</unit></row><row><name>B</name><amount>200</amount><vat>40</vat><description>rowB</description><quantity>1</quantity><sku>666</sku><unit>st</unit></row><row><name>C</name><amount>300</amount><vat>60</vat><description>rowA</description><quantity>1</quantity><sku>667</sku><unit>st</unit></row></orderrows> // 5. the result should be: //<response> // <transaction id="586209"> // <paymentmethod>KORTCERT</paymentmethod> // <merchantid>1130</merchantid> // <customerrefno>test_1410530092038</customerrefno> // <amount>600</amount> // <currency>EUR</currency> // <cardtype>VISA</cardtype> // <maskedcardno>444433xxxxxx1100</maskedcardno> // <expirymonth>01</expirymonth> // <expiryyear>15</expiryyear> // <authcode>763907</authcode> // </transaction> // <statuscode>0</statuscode> //</response> // 6. enter the received transaction id below and run the test // Set the below to match the transaction, then run the test. $transactionId = 586263; // confirm the transaction $confirmRequest = new \Svea\HostedService\ConfirmTransaction(Svea\SveaConfig::getDefaultConfig()); $confirmRequest->transactionId = $transactionId; $confirmRequest->captureDate = date('c'); $confirmRequest->countryCode = "SE"; $confirmResponse = $confirmRequest->doRequest(); ////print_r( $confirmResponse ); $this->assertInstanceOf("Svea\\HostedService\\ConfirmTransactionResponse", $confirmResponse); $this->assertEquals(1, $confirmResponse->accepted); $queryRequest = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig()); $queryResponse = $queryRequest->setCountryCode("SE")->setTransactionId($transactionId)->queryCardOrder()->doRequest(); //print_r( $queryResponse ); $this->assertEquals(1, $queryResponse->accepted); $this->assertEquals("CONFIRMED", $queryResponse->status); $deliverRequest = WebPayAdmin::deliverOrderRows(Svea\SveaConfig::getDefaultConfig()); $deliverRequest->setCountryCode("SE")->setOrderId($transactionId); $deliverRequest->setRowToDeliver(1)->addNumberedOrderRows($queryResponse->numberedOrderRows); $deliverResponse = $deliverRequest->deliverCardOrderRows()->doRequest(); //print_r( $deliverResponse ); $this->assertInstanceOf("Svea\\HostedService\\ConfirmTransactionResponse", $deliverResponse); $this->assertEquals(0, $deliverResponse->accepted); $this->assertEquals("105 (ILLEGAL_TRANSACTIONSTATUS)", $deliverResponse->resultcode); // confirm of confirmed order $this->assertEquals("Invalid transaction status.", $deliverResponse->errormessage); }
function test_orderRow_discountPercent_50_percent_order_sent_as_incvat() { $config = Svea\SveaConfig::getDefaultConfig(); $orderResponse = WebPay::createOrder($config)->addOrderRow(WebPayItem::orderRow()->setAmountIncVat(125.0)->setVatPercent(25)->setQuantity(1)->setDiscountPercent(50))->addCustomerDetails(TestUtil::createIndividualCustomer("SE"))->setCountryCode("SE")->setOrderDate("2012-12-12")->useInvoicePayment()->doRequest(); $this->assertEquals(1, $orderResponse->accepted); $this->assertEquals("62.50", $orderResponse->amount); // this is where $query = WebPayAdmin::queryOrder($config)->setCountryCode('SE')->setOrderId($orderResponse->sveaOrderId)->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query->accepted); $this->assertEquals(125.0, $query->numberedOrderRows[0]->amountIncVat); $this->assertEquals(25.0, $query->numberedOrderRows[0]->vatPercent); $this->assertEquals(50.0, $query->numberedOrderRows[0]->discountPercent); }
public function test_queryOrder_queryCardOrder_multiple_order_rows() { // created w/java package TODO make self-contained using webdriver to create card order $createdOrderId = 587679; // query orderrows $queryOrderBuilder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig())->setOrderId($createdOrderId)->setCountryCode("SE"); $queryResponse = $queryOrderBuilder->queryCardOrder()->doRequest(); //print_r( $queryResponse); $this->assertEquals(1, $queryResponse->accepted); $this->assertEquals(1, $queryResponse->numberedOrderRows[0]->rowNumber); $this->assertEquals(1.0, $queryResponse->numberedOrderRows[0]->quantity); $this->assertEquals(100.0, $queryResponse->numberedOrderRows[0]->amountExVat); $this->assertEquals(25, $queryResponse->numberedOrderRows[0]->vatPercent); $this->assertEquals("orderrow 1", $queryResponse->numberedOrderRows[0]->name); $this->assertEquals("description 1", $queryResponse->numberedOrderRows[0]->description); $this->assertEquals(2, $queryResponse->numberedOrderRows[1]->rowNumber); $this->assertEquals(1.0, $queryResponse->numberedOrderRows[1]->quantity); $this->assertEquals(100.0, $queryResponse->numberedOrderRows[1]->amountExVat); $this->assertEquals(25, $queryResponse->numberedOrderRows[1]->vatPercent); $this->assertEquals("orderrow 2", $queryResponse->numberedOrderRows[1]->name); $this->assertEquals("description 2", $queryResponse->numberedOrderRows[1]->description); }
function test_orderrow_response_exvat() { $config = Svea\SveaConfig::getDefaultConfig(); $orderResponse = WebPay::createOrder($config)->addOrderRow(WebPayItem::orderRow()->setAmountExVat(145.0)->setVatPercent(24)->setQuantity(1))->addCustomerDetails(TestUtil::createIndividualCustomer("SE"))->setCountryCode("SE")->setCurrency("SEK")->setOrderDate("2012-12-12")->useInvoicePayment()->doRequest(); $response = WebPayAdmin::queryOrder($config)->setCountryCode('SE')->setOrderId($orderResponse->sveaOrderId)->queryInvoiceOrder()->doRequest(); //print_r($response); $this->assertEquals(1, $response->accepted); $this->assertEquals(145.0, $response->numberedOrderRows[0]->amountExVat); $this->assertEquals(null, $response->numberedOrderRows[0]->amountIncVat); }
public function test_credit_row_sent_inc_credit_sent_incandex() { // credit req. should not be resent, see backoffice logs $config = Svea\SveaConfig::getDefaultConfig(); $orderInfo = $this->get_orderInfo_sent_inc_vat(125.0, 25, 2); // query order and assert row totals $query = WebPayAdmin::queryOrder($config)->setOrderId($orderInfo->orderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query->accepted); $this->assertEquals(null, $query->numberedOrderRows[0]->amountExVat); $this->assertEquals("125", $query->numberedOrderRows[0]->amountIncVat); $this->assertEquals("25", $query->numberedOrderRows[0]->vatPercent); $this->assertEquals("2", $query->numberedOrderRows[0]->quantity); $creditOrder = WebPayAdmin::creditOrderRows($config)->setInvoiceId($orderInfo->invoiceId)->setInvoiceDistributionType(DistributionType::POST)->setCountryCode("SE")->addCreditOrderRow(WebPayItem::orderRow()->setAmountIncVat(20.0)->setAmountExVat(16.0)->setQuantity(1)); $request = $creditOrder->creditInvoiceOrderRows()->prepareRequest(); $this->assertEquals("20", $request->NewCreditInvoiceRows->enc_value[0]->enc_value->PricePerUnit->enc_value); $this->assertEquals("25", $request->NewCreditInvoiceRows->enc_value[0]->enc_value->VatPercent->enc_value); $this->assertEquals(true, $request->NewCreditInvoiceRows->enc_value[0]->enc_value->PriceIncludingVat->enc_value); $response = $creditOrder->creditInvoiceOrderRows()->doRequest(); $this->assertEquals(1, $response->accepted); // query order and assert row totals $query2 = WebPayAdmin::queryOrder($config)->setOrderId($orderInfo->orderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query2->accepted); // NOTE the order row status/amount does not reflect that the corresponding invoice row has been credited // TODO implement queryInvoice and recurse invoices to get the current order row status $this->assertEquals(null, $query2->numberedOrderRows[0]->amountExVat); $this->assertEquals("125", $query2->numberedOrderRows[0]->amountIncVat); $this->assertEquals("25", $query2->numberedOrderRows[0]->vatPercent); $this->assertEquals("2", $query2->numberedOrderRows[0]->quantity); // nope, can't be seen in the order, only in backoffice in delivered invoice as cumulative discount amount // $this->assertEquals("-20.00", $query->numberedOrderRows[1]->amountExVat); // $this->assertEquals("25", $query->numberedOrderRows[1]->vatPercent); }
public function test_queryOrder_queryDirectBankOrder_returns_QueryTransaction() { $queryOrder = WebPayAdmin::queryOrder(Svea\SveaConfig::getDefaultConfig()); $request = $queryOrder->queryDirectBankOrder(); $this->assertInstanceOf("Svea\\HostedService\\QueryTransaction", $request); }