155 lines
6.2 KiB
PHP
155 lines
6.2 KiB
PHP
<?php
|
|
/**
|
|
* MultiSafepay Xml Gateway Test.
|
|
*/
|
|
|
|
namespace Omnipay\MultiSafepay;
|
|
|
|
use Omnipay\Common\CreditCard;
|
|
use Omnipay\Tests\GatewayTestCase;
|
|
|
|
/**
|
|
* MultiSafepay Xml Gateway Test.
|
|
*/
|
|
class XmlGatewayTest extends GatewayTestCase
|
|
{
|
|
/**
|
|
* @var Gateway
|
|
*/
|
|
protected $gateway;
|
|
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected $options;
|
|
|
|
/**
|
|
* @{inheritdoc}
|
|
*/
|
|
protected function setUp()
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->gateway = new Gateway($this->getHttpClient(), $this->getHttpRequest());
|
|
$this->gateway->setAccountId('111111');
|
|
$this->gateway->setSiteId('222222');
|
|
$this->gateway->setSiteCode('333333');
|
|
|
|
$this->options = array(
|
|
'notifyUrl' => 'http://localhost/notify',
|
|
'cancelUrl' => 'http://localhost/cancel',
|
|
'returnUrl' => 'http://localhost/return',
|
|
'gateway' => 'IDEAL',
|
|
'issuer' => 'issuer',
|
|
'transactionId' => '123456',
|
|
'currency' => 'EUR',
|
|
'amount' => '100.00',
|
|
'description' => 'desc',
|
|
'extraData1' => 'extra 1',
|
|
'extraData2' => 'extra 2',
|
|
'extraData3' => 'extra 3',
|
|
'language' => 'a language',
|
|
'clientIp' => '127.0.0.1',
|
|
'googleAnalyticsCode' => 'analytics code',
|
|
'card' => array(
|
|
'email' => 'something@example.com',
|
|
'firstName' => 'first name',
|
|
'lastName' => 'last name',
|
|
'address1' => 'address 1',
|
|
'address2' => 'address 2',
|
|
'postcode' => '1000',
|
|
'city' => 'a city',
|
|
'country' => 'a country',
|
|
'phone' => 'phone number',
|
|
)
|
|
);
|
|
}
|
|
|
|
public function testFetchPaymentMethods()
|
|
{
|
|
/** @var \Omnipay\MultiSafepay\Message\FetchPaymentMethodsRequest $request */
|
|
$request = $this->gateway->fetchPaymentMethods(array('country' => 'NL'));
|
|
|
|
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\FetchPaymentMethodsRequest', $request);
|
|
$this->assertEquals('NL', $request->getCountry());
|
|
}
|
|
|
|
public function testFetchIssuers()
|
|
{
|
|
/** @var \Omnipay\MultiSafepay\Message\FetchIssuersRequest $request */
|
|
$request = $this->gateway->fetchIssuers();
|
|
|
|
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\FetchIssuersRequest', $request);
|
|
}
|
|
|
|
public function testPurchase()
|
|
{
|
|
/** @var \Omnipay\MultiSafepay\Message\PurchaseRequest $request */
|
|
$request = $this->gateway->purchase($this->options);
|
|
|
|
/** @var CreditCard $card */
|
|
$card = $request->getCard();
|
|
|
|
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\PurchaseRequest', $request);
|
|
$this->assertSame('http://localhost/notify', $request->getNotifyUrl());
|
|
$this->assertSame('http://localhost/cancel', $request->getCancelUrl());
|
|
$this->assertSame('http://localhost/return', $request->getReturnUrl());
|
|
$this->assertSame('IDEAL', $request->getGateway());
|
|
$this->assertSame('issuer', $request->getIssuer());
|
|
$this->assertSame('123456', $request->getTransactionId());
|
|
$this->assertSame('EUR', $request->getCurrency());
|
|
$this->assertSame('100.00', $request->getAmount());
|
|
$this->assertSame('desc', $request->getDescription());
|
|
$this->assertSame('extra 1', $request->getExtraData1());
|
|
$this->assertSame('extra 2', $request->getExtraData2());
|
|
$this->assertSame('extra 3', $request->getExtraData3());
|
|
$this->assertSame('a language', $request->getLanguage());
|
|
$this->assertSame('analytics code', $request->getGoogleAnalyticsCode());
|
|
$this->assertSame('127.0.0.1', $request->getClientIp());
|
|
$this->assertSame('something@example.com', $card->getEmail());
|
|
$this->assertSame('first name', $card->getFirstName());
|
|
$this->assertSame('last name', $card->getLastName());
|
|
$this->assertSame('address 1', $card->getAddress1());
|
|
$this->assertSame('address 2', $card->getAddress2());
|
|
$this->assertSame('1000', $card->getPostcode());
|
|
$this->assertSame('a city', $card->getCity());
|
|
$this->assertSame('a country', $card->getCountry());
|
|
$this->assertSame('phone number', $card->getPhone());
|
|
}
|
|
|
|
public function testCompletePurchase()
|
|
{
|
|
/** @var \Omnipay\MultiSafepay\Message\CompletePurchaseRequest $request */
|
|
$request = $this->gateway->completePurchase($this->options);
|
|
|
|
/** @var CreditCard $card */
|
|
$card = $request->getCard();
|
|
|
|
$this->assertInstanceOf('Omnipay\MultiSafepay\Message\CompletePurchaseRequest', $request);
|
|
$this->assertSame('http://localhost/notify', $request->getNotifyUrl());
|
|
$this->assertSame('http://localhost/cancel', $request->getCancelUrl());
|
|
$this->assertSame('http://localhost/return', $request->getReturnUrl());
|
|
$this->assertSame('IDEAL', $request->getGateway());
|
|
$this->assertSame('issuer', $request->getIssuer());
|
|
$this->assertSame('123456', $request->getTransactionId());
|
|
$this->assertSame('EUR', $request->getCurrency());
|
|
$this->assertSame('100.00', $request->getAmount());
|
|
$this->assertSame('desc', $request->getDescription());
|
|
$this->assertSame('extra 1', $request->getExtraData1());
|
|
$this->assertSame('extra 2', $request->getExtraData2());
|
|
$this->assertSame('extra 3', $request->getExtraData3());
|
|
$this->assertSame('a language', $request->getLanguage());
|
|
$this->assertSame('analytics code', $request->getGoogleAnalyticsCode());
|
|
$this->assertSame('127.0.0.1', $request->getClientIp());
|
|
$this->assertSame('something@example.com', $card->getEmail());
|
|
$this->assertSame('first name', $card->getFirstName());
|
|
$this->assertSame('last name', $card->getLastName());
|
|
$this->assertSame('address 1', $card->getAddress1());
|
|
$this->assertSame('address 2', $card->getAddress2());
|
|
$this->assertSame('1000', $card->getPostcode());
|
|
$this->assertSame('a city', $card->getCity());
|
|
$this->assertSame('a country', $card->getCountry());
|
|
$this->assertSame('phone number', $card->getPhone());
|
|
}
|
|
}
|