public function testNotificationResponse()
 {
     $httpRequest = new HttpRequest(array(), array('XML' => '<?xml version="1.0" encoding="utf-8"?><SVSPurchaseStatusNotificationRequest><StatusReport><StatusDescription></StatusDescription><Status>4</Status><SVSTransaction><SVSCustomerAccount>1100185585</SVSCustomerAccount><ProcessingTime>2014-10-09 12:18:17</ProcessingTime><Result><Description></Description><Code></Code></Result><BatchNumber>6639037</BatchNumber><Id>1865010000008351204</Id></SVSTransaction><SVSCustomer><IP></IP><PostalCode>123456</PostalCode><Country>DE</Country><LastName>Test</LastName><FirstName>Soft Cube International Doo</FirstName></SVSCustomer></StatusReport><Request><MerchantFreeText>Deposit: 2257</MerchantFreeText><CustomerIdAtMerchant>100723</CustomerIdAtMerchant><MerchantAccountNumber>110355</MerchantAccountNumber><Currency>EUR</Currency><Amount>0.78</Amount><TxBatchNumber>0</TxBatchNumber><TxID>2257</TxID></Request><Authentication><Checksum>f3141998202d7ebfee31c416d34a9691</Checksum></Authentication></SVSPurchaseStatusNotificationRequest>'));
     $request = new CompletePurchaseRequest($this->getHttpClient(), $httpRequest);
     $request->initialize(array('merchantId' => '100', 'merchantPassword' => 'Y23X05ZS4TDA', 'testMode' => true));
     $response = $request->createResponse('Confirmed', 0, 'Free Text Description');
     $xml = new \SimpleXMLElement($response);
     $this->assertSame('0', (string) $xml->TransactionResult->Code);
     $this->assertSame('Free Text Description', (string) $xml->TransactionResult->Description);
     $this->assertSame('Confirmed', (string) $xml->Status);
     $this->assertSame('7cb93657fb3efd32c4be855574ea87d8', (string) $xml->Authentication->Checksum);
 }
 public function testSuccess()
 {
     $httpRequest = new HttpRequest(array(), array(), array(), array(), array(), array(), '<?xml version="1.0" encoding="utf-8"?><TransactionResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ErrorCode>0</ErrorCode><Message>OK</Message><SvsTxID>1865010000008351205</SvsTxID><TransactionType>Purchase</TransactionType><ProcessingTime>20141009 12:18:17</ProcessingTime><Amount>78</Amount><Currency>EUR</Currency><MerchantAccountNumber>110355</MerchantAccountNumber><ClientAccountNumber>1100185585</ClientAccountNumber><TransactionDescription /><ClientTransactionID>2258</ClientTransactionID></TransactionResult>');
     $request = new CompletePurchaseRequest($this->getHttpClient(), $httpRequest);
     $request->initialize(array('merchantId' => '100', 'merchantPassword' => 'Y23X05ZS4TDA', 'testMode' => true));
     $response = $request->send();
     $this->assertTrue($response->isSuccessful());
     $this->assertSame(0, $response->getCode());
     $this->assertSame('OK', $response->getMessage());
     $this->assertSame('2258', $response->getTransactionId());
     $this->assertSame('1865010000008351205', $response->getTransactionReference());
     $this->assertSame('0.78', $response->getAmount());
     $this->assertSame('EUR', $response->getCurrency());
     $this->assertSame('110355', $response->getMerchantAccountNumber());
     $this->assertSame('Purchase', $response->getTransactionType());
     $this->assertSame('20141009 12:18:17', $response->getProcessingTime());
 }