Adding item details to create payment samples

This commit is contained in:
aydiv
2013-09-19 15:48:38 +05:30
parent cf076b462e
commit 80b70cb134
8 changed files with 602 additions and 203 deletions

View File

@@ -7,6 +7,9 @@
require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
@@ -20,13 +23,40 @@ session_start();
$payer = new Payer();
$payer->setPaymentMethod("paypal");
// ### Itemized information
// (Optional) Lets you specify item wise
// information
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setPrice('7.50');
$item2 = new Item();
$item2->setName('Granola bars')
->setCurrency('USD')
->setQuantity(5)
->setPrice('2.00');
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
// ### Additional payment details
// Use this optional field to set additional
// payment information such as tax, shipping
// charges etc.
$details = new Details();
$details->setShipping('1.20')
->setTax('1.30')
->setSubtotal('17.50');
// ### Amount
// Lets you specify a payment amount.
// You can also specify additional details
// such as shipping, tax.
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal("1.00");
->setTotal("20.00")
->setDetails($details);
// ### Transaction
// A transaction defines the contract of a
@@ -34,6 +64,7 @@ $amount->setCurrency("USD")
// is fulfilling it.
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description");
// ### Redirect urls
@@ -80,11 +111,11 @@ foreach($payment->getLinks() as $link) {
}
// ### Redirect buyer to PayPal website
// Save payment id so that you can 'complete' the payment
// Save the payment id so that you can 'complete' the payment
// once the buyer approves the payment and is redirected
// bacl to your website.
// back to your website.
//
// It is not really a great idea to store the payment id
// It is not a great idea to store the payment id
// in the session. In a real world app, you may want to
// store the payment id in a database.
$_SESSION['paymentId'] = $payment->getId();