2bf97955d3430e353dac63f96b585bc2652409a4
[WP-Plugins/glm-member-db.git] /
1 <?php
2 namespace PayPal\Test\Api;
3 use PayPal\Api\RedirectUrls;
4 use PayPal\Api\Address;
5 use PayPal\Api\Amount;
6 use PayPal\Api\CreditCard;
7 use PayPal\Api\Payer;
8 use PayPal\Api\Payment;
9 use PayPal\Api\FundingInstrument;
10 use PayPal\Api\Transaction;
11 use PayPal\Test\Constants;
12
13 class PaymentTest extends \PHPUnit_Framework_TestCase {
14
15         private $payments;      
16
17         public static function createPayment() {
18                 
19                 $redirectUrls = new RedirectUrls();
20                 $redirectUrls->setReturnUrl("http://localhost/return");
21                 $redirectUrls->setCancelUrl("http://localhost/cancel");
22                 
23                 $payment = new Payment();
24                 $payment->setIntent("sale");
25                 $payment->setRedirectUrls($redirectUrls);
26                 $payment->setPayer(PayerTest::createPayer());
27                 $payment->setTransactions(array(TransactionTest::createTransaction()));
28                 
29                 return $payment;                                
30         }
31         
32         public static function createNewPayment() {
33                 $payer = new Payer();
34                 $payer->setPaymentMethod("credit_card");
35                 $payer->setFundingInstruments(array(FundingInstrumentTest::createFundingInstrument()));
36                 
37                 $transaction = new Transaction();
38                 $transaction->setAmount(AmountTest::createAmount());
39                 $transaction->setDescription("This is the payment description.");
40                 
41                 $redirectUrls = new RedirectUrls();
42                 $redirectUrls->setReturnUrl("http://localhost/return");
43                 $redirectUrls->setCancelUrl("http://localhost/cancel");
44                 
45                 $payment = new Payment();
46                 $payment->setIntent("sale");
47                 $payment->setRedirectUrls($redirectUrls);
48                 $payment->setPayer($payer);
49                 $payment->setTransactions(array($transaction));
50         
51                 return $payment;        
52         }
53         
54         public function setup() {               
55                 $this->payments['full'] = self::createPayment();
56                 $this->payments['new'] = self::createNewPayment();
57         }
58         
59         public function testSerializeDeserialize() {
60                 $p2 = new Payment();
61                 $p2->fromJson($this->payments['full']->toJSON());               
62                 $this->assertEquals($p2, $this->payments['full']);
63         }
64         
65         public function testOperations() {
66
67                 $p1 = $this->payments['new'];
68                  
69                 $p1->create();          
70                 $this->assertNotNull($p1->getId());
71                 
72                 $p2 = Payment::get($p1->getId());
73                 $this->assertNotNull($p2);
74                 
75                 $paymentHistory = Payment::all(array('count' => '10'));
76                 $this->assertNotNull($paymentHistory);
77         }
78 }