public function testCollectionWithValidData()
 {
     $payConfirmParameter = new PayConfirmParameter();
     $payConfirmParameterCollection = new Collection('');
     $payConfirmParameterCollection->addCollectionItem($payConfirmParameter);
     $payConfirmParameterCollection->set('MSGTYPE', self::MSGTYPE)->set('VTVERIFY', self::VTVERIFY)->set('KEYID', self::KEYID)->set('ID', self::ID)->set('TOKEN', self::TOKEN)->set('ACCOUNTID', self::ACCOUNTID)->set('AMOUNT', self::AMOUNT)->set('CURRENCY', self::CURRENCY)->set('CARDREFID', self::CARDREFID)->set('SCDRESULT', self::SCDRESULT)->set('PROVIDERID', self::PROVIDERID)->set('PROVIDERNAME', self::PROVIDERNAME)->set('ORDERID', self::ORDERID)->set('IP', self::IP)->set('IPCOUNTRY', self::IPCOUNTRY)->set('CCCOUNTRY', self::CCCOUNTRY)->set('MPI_LIABILITYSHIFT', self::MPI_LIABILITYSHIFT)->set('ECI', self::ECI)->set('XID', self::XID)->set('CAVV', self::CAVV);
     $this->assertEquals(self::MSGTYPE, $payConfirmParameterCollection->get('MSGTYPE'));
     $this->assertEquals(self::VTVERIFY, $payConfirmParameterCollection->get('VTVERIFY'));
     $this->assertEquals(self::KEYID, $payConfirmParameterCollection->get('KEYID'));
     $this->assertEquals(self::ID, $payConfirmParameterCollection->get('ID'));
     $this->assertEquals(self::TOKEN, $payConfirmParameterCollection->get('TOKEN'));
     $this->assertEquals(self::ACCOUNTID, $payConfirmParameterCollection->get('ACCOUNTID'));
     $this->assertEquals(self::AMOUNT, $payConfirmParameterCollection->get('AMOUNT'));
     $this->assertEquals(self::CURRENCY, $payConfirmParameterCollection->get('CURRENCY'));
     $this->assertEquals(self::CARDREFID, $payConfirmParameterCollection->get('CARDREFID'));
     $this->assertEquals(self::SCDRESULT, $payConfirmParameterCollection->get('SCDRESULT'));
     $this->assertEquals(self::PROVIDERID, $payConfirmParameterCollection->get('PROVIDERID'));
     $this->assertEquals(self::PROVIDERNAME, $payConfirmParameterCollection->get('PROVIDERNAME'));
     $this->assertEquals(self::ORDERID, $payConfirmParameterCollection->get('ORDERID'));
     $this->assertEquals(self::IP, $payConfirmParameterCollection->get('IP'));
     $this->assertEquals(self::IPCOUNTRY, $payConfirmParameterCollection->get('IPCOUNTRY'));
     $this->assertEquals(self::CCCOUNTRY, $payConfirmParameterCollection->get('CCCOUNTRY'));
     $this->assertEquals(self::MPI_LIABILITYSHIFT, $payConfirmParameterCollection->get('MPI_LIABILITYSHIFT'));
     $this->assertEquals(self::ECI, $payConfirmParameterCollection->get('ECI'));
     $this->assertEquals(self::XID, $payConfirmParameterCollection->get('XID'));
     $this->assertEquals(self::CAVV, $payConfirmParameterCollection->get('CAVV'));
     $this->assertCount(0, $payConfirmParameter->getInvalidData());
 }
 public function testCollectionWithValidData()
 {
     $billpayPayCompleteParameter = new BillpayPayCompleteParameter();
     $payCompleteParameterCollection = new Collection('');
     $payCompleteParameterCollection->addCollectionItem($billpayPayCompleteParameter);
     $payCompleteParameterCollection->set('POB_DELAY', self::POB_DELAY);
     $this->assertEquals(self::POB_DELAY, $payCompleteParameterCollection->get('POB_DELAY'));
     $this->assertCount(0, $payCompleteParameterCollection->getInvalidData());
 }
 public function testCollectionWithValidData()
 {
     $payCompleteParameter = new PayCompleteParameter();
     $payCompleteParameterCollection = new Collection('');
     $payCompleteParameterCollection->addCollectionItem($payCompleteParameter);
     $payCompleteParameterCollection->set('ID', self::ID)->set('AMOUNT', self::AMOUNT)->set('ACCOUNTID', self::ACCOUNTID)->set('ACTION', self::ACTION);
     $this->assertEquals(self::ID, $payCompleteParameterCollection->get('ID'));
     $this->assertEquals(self::AMOUNT, $payCompleteParameterCollection->get('AMOUNT'));
     $this->assertEquals(self::ACCOUNTID, $payCompleteParameterCollection->get('ACCOUNTID'));
     $this->assertEquals(self::ACTION, $payCompleteParameterCollection->get('ACTION'));
     $this->assertCount(0, $payCompleteParameterCollection->getInvalidData());
 }
 public function testCreatePayInit()
 {
     $saferpay = new Saferpay();
     $saferpay->setHttpClient(new BuzzClient());
     $payInitParameter = new PayInitParameter();
     $payInitParameter->setAccountid('99867-94913159');
     $payInitParameter->setAmount(1200);
     $payInitParameter->setCurrency('CHF');
     $payInitParameter->setDescription(sprintf('Ordernumber: %s', '000001'));
     $payInitParameter->setOrderid(1);
     $payInitParameter->setSuccesslink('http://test.lo?status=success');
     $payInitParameter->setFaillink('http://test.lo?status=fail');
     $payInitParameter->setBacklink('http://test.lo?status=back');
     $payInitParameter->setProviderset(array(BillpayPayInitParameterInterface::PROVIDERSET_BILLPAY_INVOICE));
     $payInitParameter->setGender(PayInitParameterInterface::GENDER_COMPANY);
     $payInitParameter->setFirstname('John');
     $payInitParameter->setLastname('Doe');
     $payInitParameter->setStreet('Samplestreet 0');
     $payInitParameter->setZip('00000');
     $payInitParameter->setCity('Samplecity');
     $payInitParameter->setCountry('US');
     $payInitParameter->setLangid('EN');
     $payInitParameter->setPhone('+10000000000');
     $payInitParameter->setEmail('*****@*****.**');
     $billpayPayInitParameter = new BillpayPayInitParameter();
     $billpayPayInitParameter->setLegalform(BillpayPayInitParameterInterface::LEGALFORM_MISC);
     $billpayPayInitParameter->setDeliveryGender(PayInitParameterInterface::GENDER_COMPANY);
     $billpayPayInitParameter->setDeliveryFirstname('John');
     $billpayPayInitParameter->setDeliveryLastname('Doe');
     $billpayPayInitParameter->setDeliveryStreet('Samplestreet 0');
     $billpayPayInitParameter->setDeliveryZip('00000');
     $billpayPayInitParameter->setDeliveryCity('Samplecity');
     $billpayPayInitParameter->setDeliveryCountry('US');
     $billpayPayInitParameter->setDeliveryPhone('+10000000000');
     $payInitParameterCollection = new Collection($payInitParameter->getRequestUrl());
     $payInitParameterCollection->addCollectionItem($payInitParameter);
     $payInitParameterCollection->addCollectionItem($billpayPayInitParameter);
     $url = $saferpay->createPayInit($payInitParameterCollection);
     $this->assertStringStartsWith('https://www.saferpay.com/vt2/Pay.aspx', $url);
 }
 public function testCollectionWithValidData()
 {
     $payCompleteResponse = new PayCompleteResponse();
     $payCompleteResponseCollection = new Collection('');
     $payCompleteResponseCollection->addCollectionItem($payCompleteResponse);
     $payCompleteResponseCollection->set('MSGTYPE', self::MSGTYPE)->set('ID', self::ID)->set('RESULT', self::RESULT)->set('MESSAGE', self::MESSAGE)->set('AUTHMESSAGE', self::AUTHMESSAGE);
     $this->assertEquals(self::MSGTYPE, $payCompleteResponseCollection->get('MSGTYPE'));
     $this->assertEquals(self::ID, $payCompleteResponseCollection->get('ID'));
     $this->assertEquals(self::RESULT, $payCompleteResponseCollection->get('RESULT'));
     $this->assertEquals(self::MESSAGE, $payCompleteResponseCollection->get('MESSAGE'));
     $this->assertEquals(self::AUTHMESSAGE, $payCompleteResponseCollection->get('AUTHMESSAGE'));
     $this->assertCount(0, $payCompleteResponseCollection->getInvalidData());
 }
 public function testCollectionWithValidData()
 {
     $billpayPayCompleteResponse = new BillpayPayCompleteResponse();
     $payCompleteResponseCollection = new Collection('');
     $payCompleteResponseCollection->addCollectionItem($billpayPayCompleteResponse);
     $payCompleteResponseCollection->set('POB_DUEDATE', self::POB_DUEDATE)->set('POB_ACCOUNTHOLDER', self::POB_ACCOUNTHOLDER)->set('POB_ACCOUNTNUMBER', self::POB_ACCOUNTNUMBER)->set('POB_BANKCODE', self::POB_BANKCODE)->set('POB_BANKNAME', self::POB_BANKNAME)->set('POB_PAYERNOTE', self::POB_PAYERNOTE);
     $this->assertEquals(self::POB_DUEDATE, $payCompleteResponseCollection->get('POB_DUEDATE'));
     $this->assertEquals(self::POB_ACCOUNTHOLDER, $payCompleteResponseCollection->get('POB_ACCOUNTHOLDER'));
     $this->assertEquals(self::POB_ACCOUNTNUMBER, $payCompleteResponseCollection->get('POB_ACCOUNTNUMBER'));
     $this->assertEquals(self::POB_BANKCODE, $payCompleteResponseCollection->get('POB_BANKCODE'));
     $this->assertEquals(self::POB_BANKNAME, $payCompleteResponseCollection->get('POB_BANKNAME'));
     $this->assertEquals(self::POB_PAYERNOTE, $payCompleteResponseCollection->get('POB_PAYERNOTE'));
     $this->assertCount(0, $payCompleteResponseCollection->getInvalidData());
 }
 public function testCollectionWithValidData()
 {
     $billpayPayInitParameter = new BillpayPayInitParameter();
     $payInitParameterCollection = new Collection('');
     $payInitParameterCollection->addCollectionItem($billpayPayInitParameter);
     $payInitParameterCollection->set('LEGALFORM', self::LEGALFORM)->set('ADDRESSADDITION', self::ADDRESSADDITION)->set('DATEOFBIRTH', self::DATEOFBIRTH)->set('DELIVERY_GENDER', self::DELIVERY_GENDER)->set('DELIVERY_FIRSTNAME', self::DELIVERY_FIRSTNAME)->set('DELIVERY_LASTNAME', self::DELIVERY_LASTNAME)->set('DELIVERY_STREET', self::DELIVERY_STREET)->set('DELIVERY_ADDRESSADDITION', self::DELIVERY_ADDRESSADDITION)->set('DELIVERY_ZIP', self::DELIVERY_ZIP)->set('DELIVERY_CITY', self::DELIVERY_CITY)->set('DELIVERY_COUNTRY', self::DELIVERY_COUNTRY)->set('DELIVERY_PHONE', self::DELIVERY_PHONE);
     $this->assertEquals(self::LEGALFORM, $payInitParameterCollection->get('LEGALFORM'));
     $this->assertEquals(self::ADDRESSADDITION, $payInitParameterCollection->get('ADDRESSADDITION'));
     $this->assertEquals(self::DATEOFBIRTH, $payInitParameterCollection->get('DATEOFBIRTH'));
     $this->assertEquals(self::DELIVERY_GENDER, $payInitParameterCollection->get('DELIVERY_GENDER'));
     $this->assertEquals(self::DELIVERY_FIRSTNAME, $payInitParameterCollection->get('DELIVERY_FIRSTNAME'));
     $this->assertEquals(self::DELIVERY_LASTNAME, $payInitParameterCollection->get('DELIVERY_LASTNAME'));
     $this->assertEquals(self::DELIVERY_STREET, $payInitParameterCollection->get('DELIVERY_STREET'));
     $this->assertEquals(self::DELIVERY_ADDRESSADDITION, $payInitParameterCollection->get('DELIVERY_ADDRESSADDITION'));
     $this->assertEquals(self::DELIVERY_ZIP, $payInitParameterCollection->get('DELIVERY_ZIP'));
     $this->assertEquals(self::DELIVERY_CITY, $payInitParameterCollection->get('DELIVERY_CITY'));
     $this->assertEquals(self::DELIVERY_COUNTRY, $payInitParameterCollection->get('DELIVERY_COUNTRY'));
     $this->assertEquals(self::DELIVERY_PHONE, $payInitParameterCollection->get('DELIVERY_PHONE'));
     $this->assertCount(0, $payInitParameterCollection->getInvalidData());
 }
 public function testCollectionWithValidData()
 {
     $payInitParameter = new PayInitParameter();
     $payInitParameterCollection = new Collection('');
     $payInitParameterCollection->addCollectionItem($payInitParameter);
     $payInitParameterCollection->set('ACCOUNTID', self::ACCOUNTID)->set('AMOUNT', self::AMOUNT)->set('CURRENCY', self::CURRENCY)->set('DESCRIPTION', self::DESCRIPTION)->set('ORDERID', self::ORDERID)->set('VTCONFIG', self::VTCONFIG)->set('SUCCESSLINK', self::SUCCESSLINK)->set('FAILLINK', self::FAILLINK)->set('BACKLINK', self::BACKLINK)->set('NOTIFYURL', self::NOTIFYURL)->set('AUTOCLOSE', self::AUTOCLOSE)->set('CCNAME', self::CCNAME)->set('NOTIFYADDRESS', self::NOTIFYADDRESS)->set('USERNOTIFY', self::USERNOTIFY)->set('LANGID', self::LANGID)->set('SHOWLANGUAGES', self::SHOWLANGUAGES)->set('PAYMENTMETHODS', 1)->set('PROVIDERSET', 1)->set('DURATION', self::DURATION)->set('CARDREFID', self::CARDREFID)->set('DELIVERY', self::DELIVERY)->set('APPEARANCE', self::APPEARANCE)->set('ADDRESS', self::ADDRESS)->set('COMPANY', self::COMPANY)->set('GENDER', self::GENDER)->set('FIRSTNAME', self::FIRSTNAME)->set('LASTNAME', self::LASTNAME)->set('STREET', self::STREET)->set('ZIP', self::ZIP)->set('CITY', self::CITY)->set('COUNTRY', self::COUNTRY)->set('EMAIL', self::EMAIL)->set('PHONE', self::PHONE);
     $this->assertEquals(self::ACCOUNTID, $payInitParameterCollection->get('ACCOUNTID'));
     $this->assertEquals(self::AMOUNT, $payInitParameterCollection->get('AMOUNT'));
     $this->assertEquals(self::CURRENCY, $payInitParameterCollection->get('CURRENCY'));
     $this->assertEquals(self::DESCRIPTION, $payInitParameterCollection->get('DESCRIPTION'));
     $this->assertEquals(self::ORDERID, $payInitParameterCollection->get('ORDERID'));
     $this->assertEquals(self::VTCONFIG, $payInitParameterCollection->get('VTCONFIG'));
     $this->assertEquals(self::SUCCESSLINK, $payInitParameterCollection->get('SUCCESSLINK'));
     $this->assertEquals(self::FAILLINK, $payInitParameterCollection->get('FAILLINK'));
     $this->assertEquals(self::BACKLINK, $payInitParameterCollection->get('BACKLINK'));
     $this->assertEquals(self::NOTIFYURL, $payInitParameterCollection->get('NOTIFYURL'));
     $this->assertEquals(self::AUTOCLOSE, $payInitParameterCollection->get('AUTOCLOSE'));
     $this->assertEquals(self::CCNAME, $payInitParameterCollection->get('CCNAME'));
     $this->assertEquals(self::NOTIFYADDRESS, $payInitParameterCollection->get('NOTIFYADDRESS'));
     $this->assertEquals(self::USERNOTIFY, $payInitParameterCollection->get('USERNOTIFY'));
     $this->assertEquals(self::LANGID, $payInitParameterCollection->get('LANGID'));
     $this->assertEquals(self::SHOWLANGUAGES, $payInitParameterCollection->get('SHOWLANGUAGES'));
     $this->assertEquals(1, $payInitParameterCollection->get('PAYMENTMETHODS'));
     $this->assertEquals(1, $payInitParameterCollection->get('PROVIDERSET'));
     $this->assertEquals(self::DURATION, $payInitParameterCollection->get('DURATION'));
     $this->assertEquals(self::CARDREFID, $payInitParameterCollection->get('CARDREFID'));
     $this->assertEquals(self::DELIVERY, $payInitParameterCollection->get('DELIVERY'));
     $this->assertEquals(self::APPEARANCE, $payInitParameterCollection->get('APPEARANCE'));
     $this->assertEquals(self::ADDRESS, $payInitParameterCollection->get('ADDRESS'));
     $this->assertEquals(self::COMPANY, $payInitParameterCollection->get('COMPANY'));
     $this->assertEquals(self::GENDER, $payInitParameterCollection->get('GENDER'));
     $this->assertEquals(self::FIRSTNAME, $payInitParameterCollection->get('FIRSTNAME'));
     $this->assertEquals(self::LASTNAME, $payInitParameterCollection->get('LASTNAME'));
     $this->assertEquals(self::STREET, $payInitParameterCollection->get('STREET'));
     $this->assertEquals(self::ZIP, $payInitParameterCollection->get('ZIP'));
     $this->assertEquals(self::CITY, $payInitParameterCollection->get('CITY'));
     $this->assertEquals(self::COUNTRY, $payInitParameterCollection->get('COUNTRY'));
     $this->assertEquals(self::EMAIL, $payInitParameterCollection->get('EMAIL'));
     $this->assertEquals(self::PHONE, $payInitParameterCollection->get('PHONE'));
 }