public function testVerifyPayConfirm() { $saferpay = new Saferpay(); $saferpay->setHttpClient(new BuzzClient()); $data = urldecode('%3CIDP+MSGTYPE%3d%22PayConfirm%22+TOKEN%3d%22(unused)%22+VTVERIFY%3d%22(obsolete)%22+KEYID%3d%221-0%22+ID%3d%22WxWrIlA48W06rAjKKOp5bzS80E5A%22+ACCOUNTID%3d%2299867-94913159%22+PROVIDERID%3d%2290%22+PROVIDERNAME%3d%22Saferpay+Test+Card%22+AMOUNT%3d%221200%22+CURRENCY%3d%22CHF%22+IP%3d%2283.77.94.198%22+IPCOUNTRY%3d%22CH%22+CCCOUNTRY%3d%22US%22+MPI_LIABILITYSHIFT%3d%22yes%22+MPI_TX_CAVV%3d%22AAABBIIFmAAAAAAAAAAAAAAAAAA%3d%22+MPI_XID%3d%22SUVZYQJeMxslBAYPGW4AUhcbHAs%3d%22+ECI%3d%221%22+CAVV%3d%22AAABBIIFmAAAAAAAAAAAAAAAAAA%3d%22+XID%3d%22SUVZYQJeMxslBAYPGW4AUhcbHAs%3d%22+%2f%3E'); $signature = '2492d0266d080524553ce3c8b040473f30c7e3236984f5bd1ab194067d1e6522c758f8d7ab08fb1fa96d2466ec37bcf367b9c2b7be450dcd7384efa7ce580fa9'; $payConfirmParameter = $saferpay->verifyPayConfirm($data, $signature); /** @var PayConfirmParameter $payConfirmParameter */ $this->assertEquals('PayConfirm', $payConfirmParameter->getMsgtype()); $this->assertEquals('(unused)', $payConfirmParameter->getToken()); $this->assertEquals('(obsolete)', $payConfirmParameter->getVtverify()); $this->assertEquals('1-0', $payConfirmParameter->getKeyid()); $this->assertEquals('WxWrIlA48W06rAjKKOp5bzS80E5A', $payConfirmParameter->getId()); $this->assertEquals('99867-94913159', $payConfirmParameter->getAccountid()); $this->assertEquals('90', $payConfirmParameter->getProviderid()); $this->assertEquals('Saferpay Test Card', $payConfirmParameter->getProvidername()); $this->assertEquals('1200', $payConfirmParameter->getAmount()); $this->assertEquals('CHF', $payConfirmParameter->getCurrency()); $this->assertEquals('83.77.94.198', $payConfirmParameter->getIp()); $this->assertEquals('CH', $payConfirmParameter->getIpcountry()); $this->assertEquals('US', $payConfirmParameter->getCccountry()); $this->assertEquals('yes', $payConfirmParameter->getMpiliabilityshift()); $this->assertEquals('1', $payConfirmParameter->getEci()); $this->assertEquals('AAABBIIFmAAAAAAAAAAAAAAAAAA=', $payConfirmParameter->getCavv()); $this->assertEquals('SUVZYQJeMxslBAYPGW4AUhcbHAs=', $payConfirmParameter->getXid()); $this->arrayHasKey('MPI_TX_CAVV', $payConfirmParameter->getInvalidData()); $this->arrayHasKey('MPI_XID', $payConfirmParameter->getInvalidData()); }
public function testVerifyPayConfirm() { $saferpay = new Saferpay(); $saferpay->setHttpClient(new BuzzClient()); $data = urldecode('%3cIDP+MSGTYPE%3d%22PayConfirm%22+TOKEN%3d%22(unused)%22+VTVERIFY%3d%22(obsolete)%22+KEYID%3d%221-0%22+ID%3d%22Ojp5Ibbz769YtAC7S92IAtGx6GYA%22+ACCOUNTID%3d%2299867-94913159%22+PROVIDERID%3d%2290%22+PROVIDERNAME%3d%22Saferpay+Test+Card%22+PAYMENTMETHOD%3d%226%22+AMOUNT%3d%221200%22+CURRENCY%3d%22CHF%22+IP%3d%22178.195.0.209%22+IPCOUNTRY%3d%22CH%22+CCCOUNTRY%3d%22US%22+MPI_LIABILITYSHIFT%3d%22yes%22+MPI_TX_CAVV%3d%22AAABBIIFmAAAAAAAAAAAAAAAAAA%3d%22+MPI_XID%3d%22aloKGARzMjllBBtRQV4Fbw8XcQI%3d%22+ECI%3d%221%22+CAVV%3d%22AAABBIIFmAAAAAAAAAAAAAAAAAA%3d%22+XID%3d%22aloKGARzMjllBBtRQV4Fbw8XcQI%3d%22+%2f%3e'); $signature = '59e6773b39d0d800a9a33348eee8ef7fed72384c0aecca8a9040ec2322e74f612dae45efc7cd3d6329d3551db3ab91abbee8cd517fd50fa52b5e69cd0d860478'; $payConfirmParameter = $saferpay->verifyPayConfirm($data, $signature); /** @var PayConfirmParameter $payConfirmParameter */ $this->assertEquals('PayConfirm', $payConfirmParameter->getMsgtype()); $this->assertEquals('(unused)', $payConfirmParameter->getToken()); $this->assertEquals('(obsolete)', $payConfirmParameter->getVtverify()); $this->assertEquals('1-0', $payConfirmParameter->getKeyid()); $this->assertEquals('Ojp5Ibbz769YtAC7S92IAtGx6GYA', $payConfirmParameter->getId()); $this->assertEquals('99867-94913159', $payConfirmParameter->getAccountid()); $this->assertEquals('90', $payConfirmParameter->getProviderid()); $this->assertEquals('Saferpay Test Card', $payConfirmParameter->getProvidername()); $this->assertEquals('1200', $payConfirmParameter->getAmount()); $this->assertEquals('CHF', $payConfirmParameter->getCurrency()); $this->assertEquals('178.195.0.209', $payConfirmParameter->getIp()); $this->assertEquals('CH', $payConfirmParameter->getIpcountry()); $this->assertEquals('US', $payConfirmParameter->getCccountry()); $this->assertEquals('yes', $payConfirmParameter->getMpiliabilityshift()); $this->assertEquals('1', $payConfirmParameter->getEci()); $this->assertEquals('AAABBIIFmAAAAAAAAAAAAAAAAAA=', $payConfirmParameter->getCavv()); $this->assertEquals('aloKGARzMjllBBtRQV4Fbw8XcQI=', $payConfirmParameter->getXid()); $this->arrayHasKey('MPI_TX_CAVV', $payConfirmParameter->getInvalidData()); $this->arrayHasKey('MPI_XID', $payConfirmParameter->getInvalidData()); }
public function testVerifyPayConfirm() { $saferpay = new Saferpay(); $saferpay->setHttpClient(new BuzzClient()); $data = urldecode('%3CIDP+MSGTYPE%3d%22PayConfirm%22+TOKEN%3d%22%28unused%29%22+VTVERIFY%3d%22%28obsolete%29%22+KEYID%3d%221-0%22+ID%3d%22v9OUt6A2S667tAzGzIMbAhGtbptA%22+ACCOUNTID%3d%2299867-94913159%22+PROVIDERID%3d%2290%22+PROVIDERNAME%3d%22Saferpay+Test+Card%22+PAYMENTMETHOD%3d%226%22+AMOUNT%3d%221200%22+CURRENCY%3d%22CHF%22+IP%3d%22178.196.110.121%22+IPCOUNTRY%3d%22CH%22+CCCOUNTRY%3d%22US%22+MPI_LIABILITYSHIFT%3d%22yes%22+MPI_TX_CAVV%3d%22AAABBIIFmAAAAAAAAAAAAAAAAAA%3d%22+MPI_XID%3d%22NX5DQQhzLy02BAV1DHQIEzlOMAE%3d%22+ECI%3d%221%22+CAVV%3d%22AAABBIIFmAAAAAAAAAAAAAAAAAA%3d%22+XID%3d%22NX5DQQhzLy02BAV1DHQIEzlOMAE%3d%22+%2f%3E'); $signature = '7398b7c859d0d78180eaeca5ddd80ed8eff32c6d11a5def0e1fd3cc4c881ea83094fcbfd179c93eda412fda998cf96a32c037b36b548165449cb980ed16b079a'; $payConfirmParameter = $saferpay->verifyPayConfirm($data, $signature); /** @var PayConfirmParameter $payConfirmParameter */ $this->assertEquals('PayConfirm', $payConfirmParameter->getMsgtype()); $this->assertEquals('(unused)', $payConfirmParameter->getToken()); $this->assertEquals('(obsolete)', $payConfirmParameter->getVtverify()); $this->assertEquals('1-0', $payConfirmParameter->getKeyid()); $this->assertEquals('v9OUt6A2S667tAzGzIMbAhGtbptA', $payConfirmParameter->getId()); $this->assertEquals('99867-94913159', $payConfirmParameter->getAccountid()); $this->assertEquals('90', $payConfirmParameter->getProviderid()); $this->assertEquals('Saferpay Test Card', $payConfirmParameter->getProvidername()); $this->assertEquals('1200', $payConfirmParameter->getAmount()); $this->assertEquals('CHF', $payConfirmParameter->getCurrency()); $this->assertEquals('178.196.110.121', $payConfirmParameter->getIp()); $this->assertEquals('CH', $payConfirmParameter->getIpcountry()); $this->assertEquals('US', $payConfirmParameter->getCccountry()); $this->assertEquals('yes', $payConfirmParameter->getMpiliabilityshift()); $this->assertEquals('1', $payConfirmParameter->getEci()); $this->assertEquals('AAABBIIFmAAAAAAAAAAAAAAAAAA=', $payConfirmParameter->getCavv()); $this->assertEquals('NX5DQQhzLy02BAV1DHQIEzlOMAE=', $payConfirmParameter->getXid()); $this->arrayHasKey('MPI_TX_CAVV', $payConfirmParameter->getInvalidData()); $this->arrayHasKey('MPI_XID', $payConfirmParameter->getInvalidData()); }
<?php namespace Payment\Saferpay; require 'vendor/autoload.php'; use Payment\HttpClient\BuzzClient; use Payment\Saferpay\Data\PayInitParameter; $saferpay = new Saferpay(); $saferpay->setHttpClient(new BuzzClient()); $amount = 1200; $currency = 'CHF'; if (getParam('status') == 'success') { $payConfirmParameter = $saferpay->verifyPayConfirm(getParam('DATA'), getParam('SIGNATURE')); if ($payConfirmParameter->get('AMOUNT') == $amount && $payConfirmParameter->get('CURRENCY') == $currency) { $saferpay->payCompleteV2($payConfirmParameter, 'Settlement'); echo 'payment success!'; } else { $saferpay->payCompleteV2($payConfirmParameter, 'Cancel'); echo 'payment failed!'; } } else { $payInitParameter = new PayInitParameter(); $payInitParameter->setAccountid(PayInitParameter::SAFERPAYTESTACCOUNT_ACCOUNTID); $payInitParameter->setAmount($amount); $payInitParameter->setCurrency($currency); $payInitParameter->setDescription(sprintf('Ordernumber: %s', '000001')); $payInitParameter->setSuccesslink(requestUrl() . '?status=success'); $payInitParameter->setFaillink(requestUrl() . '?status=fail'); $payInitParameter->setBacklink(requestUrl() . '?status=back'); $payInitParameter->setDelivery('no'); // hide address form