Example #1
0
 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->setSuccesslink('http://test.lo?status=success');
     $payInitParameter->setFaillink('http://test.lo?status=fail');
     $payInitParameter->setBacklink('http://test.lo?status=back');
     $payInitParameter->setDelivery('no');
     // hide address form
     $url = $saferpay->createPayInit($payInitParameter);
     $this->assertStringStartsWith('https://www.saferpay.com/vt2/Pay.aspx', $url);
 }
 public function testSetGetWithValidData()
 {
     $payInitParameter = new PayInitParameter();
     $payInitParameter->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, $payInitParameter->get('ACCOUNTID'));
     $this->assertEquals(self::AMOUNT, $payInitParameter->get('AMOUNT'));
     $this->assertEquals(self::CURRENCY, $payInitParameter->get('CURRENCY'));
     $this->assertEquals(self::DESCRIPTION, $payInitParameter->get('DESCRIPTION'));
     $this->assertEquals(self::ORDERID, $payInitParameter->get('ORDERID'));
     $this->assertEquals(self::VTCONFIG, $payInitParameter->get('VTCONFIG'));
     $this->assertEquals(self::SUCCESSLINK, $payInitParameter->get('SUCCESSLINK'));
     $this->assertEquals(self::FAILLINK, $payInitParameter->get('FAILLINK'));
     $this->assertEquals(self::BACKLINK, $payInitParameter->get('BACKLINK'));
     $this->assertEquals(self::NOTIFYURL, $payInitParameter->get('NOTIFYURL'));
     $this->assertEquals(self::AUTOCLOSE, $payInitParameter->get('AUTOCLOSE'));
     $this->assertEquals(self::CCNAME, $payInitParameter->get('CCNAME'));
     $this->assertEquals(self::NOTIFYADDRESS, $payInitParameter->get('NOTIFYADDRESS'));
     $this->assertEquals(self::USERNOTIFY, $payInitParameter->get('USERNOTIFY'));
     $this->assertEquals(self::LANGID, $payInitParameter->get('LANGID'));
     $this->assertEquals(self::SHOWLANGUAGES, $payInitParameter->get('SHOWLANGUAGES'));
     $this->assertEquals(1, $payInitParameter->get('PAYMENTMETHODS'));
     $this->assertEquals(1, $payInitParameter->get('PROVIDERSET'));
     $this->assertEquals(self::DURATION, $payInitParameter->get('DURATION'));
     $this->assertEquals(self::CARDREFID, $payInitParameter->get('CARDREFID'));
     $this->assertEquals(self::DELIVERY, $payInitParameter->get('DELIVERY'));
     $this->assertEquals(self::APPEARANCE, $payInitParameter->get('APPEARANCE'));
     $this->assertEquals(self::ADDRESS, $payInitParameter->get('ADDRESS'));
     $this->assertEquals(self::COMPANY, $payInitParameter->get('COMPANY'));
     $this->assertEquals(self::GENDER, $payInitParameter->get('GENDER'));
     $this->assertEquals(self::FIRSTNAME, $payInitParameter->get('FIRSTNAME'));
     $this->assertEquals(self::LASTNAME, $payInitParameter->get('LASTNAME'));
     $this->assertEquals(self::STREET, $payInitParameter->get('STREET'));
     $this->assertEquals(self::ZIP, $payInitParameter->get('ZIP'));
     $this->assertEquals(self::CITY, $payInitParameter->get('CITY'));
     $this->assertEquals(self::COUNTRY, $payInitParameter->get('COUNTRY'));
     $this->assertEquals(self::EMAIL, $payInitParameter->get('EMAIL'));
     $this->assertEquals(self::PHONE, $payInitParameter->get('PHONE'));
     $this->assertCount(0, $payInitParameter->getInvalidData());
 }
Example #3
0
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
    header('Location: ' . $saferpay->createPayInit($payInitParameter), 302);
}
function requestUrl()
{
    $protocol = strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/')));
    return $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 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);
 }