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

@@ -9,25 +9,16 @@
// API used: /v1/payments/payment // API used: /v1/payments/payment
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Address;
use PayPal\Api\Amount; use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\CreditCard; use PayPal\Api\CreditCard;
use PayPal\Api\Payer; use PayPal\Api\Payer;
use PayPal\Api\Payment; use PayPal\Api\Payment;
use PayPal\Api\FundingInstrument; use PayPal\Api\FundingInstrument;
use PayPal\Api\Transaction; use PayPal\Api\Transaction;
// ### Address
// [Optional] Billing address associated with card.
$addr = new Address();
$addr->setLine1("3909 Witmer Road")
->setLine2("Niagara Falls")
->setCity("Niagara Falls")
->setState("NY")
->setPostalCode("14305")
->setCountryCode("US")
->setPhone("716-298-1822");
// ### CreditCard // ### CreditCard
// A resource representing a credit card that can be // A resource representing a credit card that can be
// used to fund a payment. // used to fund a payment.
@@ -38,8 +29,7 @@ $card->setType("visa")
->setExpireYear("2019") ->setExpireYear("2019")
->setCvv2("012") ->setCvv2("012")
->setFirstName("Joe") ->setFirstName("Joe")
->setLastName("Shopper") ->setLastName("Shopper");
->setBillingAddress($addr);
// ### FundingInstrument // ### FundingInstrument
// A resource representing a Payer's funding instrument. // A resource representing a Payer's funding instrument.
@@ -56,13 +46,40 @@ $payer = new Payer();
$payer->setPaymentMethod("credit_card") $payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi)); ->setFundingInstruments(array($fi));
// ### 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 // ### Amount
// Lets you specify a payment amount. // Lets you specify a payment amount.
// You can also specify additional details // You can also specify additional details
// such as shipping, tax. // such as shipping, tax.
$amount = new Amount(); $amount = new Amount();
$amount->setCurrency("USD") $amount->setCurrency("USD")
->setTotal("1.00"); ->setTotal("20.00")
->setDetails($details);
// ### Transaction // ### Transaction
// A transaction defines the contract of a // A transaction defines the contract of a
@@ -70,6 +87,7 @@ $amount->setCurrency("USD")
// is fulfilling it. // is fulfilling it.
$transaction = new Transaction(); $transaction = new Transaction();
$transaction->setAmount($amount) $transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description"); ->setDescription("Payment description");
// ### Payment // ### Payment

View File

@@ -7,6 +7,9 @@
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Amount; use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer; use PayPal\Api\Payer;
use PayPal\Api\Payment; use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls; use PayPal\Api\RedirectUrls;
@@ -20,13 +23,40 @@ session_start();
$payer = new Payer(); $payer = new Payer();
$payer->setPaymentMethod("paypal"); $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 // ### Amount
// Lets you specify a payment amount. // Lets you specify a payment amount.
// You can also specify additional details // You can also specify additional details
// such as shipping, tax. // such as shipping, tax.
$amount = new Amount(); $amount = new Amount();
$amount->setCurrency("USD") $amount->setCurrency("USD")
->setTotal("1.00"); ->setTotal("20.00")
->setDetails($details);
// ### Transaction // ### Transaction
// A transaction defines the contract of a // A transaction defines the contract of a
@@ -34,6 +64,7 @@ $amount->setCurrency("USD")
// is fulfilling it. // is fulfilling it.
$transaction = new Transaction(); $transaction = new Transaction();
$transaction->setAmount($amount) $transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description"); ->setDescription("Payment description");
// ### Redirect urls // ### Redirect urls
@@ -80,11 +111,11 @@ foreach($payment->getLinks() as $link) {
} }
// ### Redirect buyer to PayPal website // ### 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 // 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 // in the session. In a real world app, you may want to
// store the payment id in a database. // store the payment id in a database.
$_SESSION['paymentId'] = $payment->getId(); $_SESSION['paymentId'] = $payment->getId();

View File

@@ -7,6 +7,9 @@
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Amount; use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\CreditCardToken; use PayPal\Api\CreditCardToken;
use PayPal\Api\Payer; use PayPal\Api\Payer;
use PayPal\Api\Payment; use PayPal\Api\Payment;
@@ -34,13 +37,40 @@ $payer = new Payer();
$payer->setPaymentMethod("credit_card") $payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi)); ->setFundingInstruments(array($fi));
// ### 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 // ### Amount
// Lets you specify a payment amount. // Lets you specify a payment amount.
// You can also specify additional details // You can also specify additional details
// such as shipping, tax. // such as shipping, tax.
$amount = new Amount(); $amount = new Amount();
$amount->setCurrency("USD") $amount->setCurrency("USD")
->setTotal("1.00"); ->setTotal("20.00")
->setDetails($details);
// ### Transaction // ### Transaction
// A transaction defines the contract of a // A transaction defines the contract of a
@@ -48,6 +78,7 @@ $amount->setCurrency("USD")
// is fulfilling it. // is fulfilling it.
$transaction = new Transaction(); $transaction = new Transaction();
$transaction->setAmount($amount) $transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description"); ->setDescription("Payment description");
// ### Payment // ### Payment

View File

@@ -1,24 +1,19 @@
<!DOCTYPE html><html lang="en"><head><title>CreatePayment</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="CreatePayment"><meta name="groc-project-path" content="CreatePayment.php"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">CreatePayment.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="cp">&lt;?php</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h1 id="createpaymentsample">CreatePaymentSample</h1></div></div></div><div class="segment"><div class="code"><div class="wrapper"><span class="c1">//</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>This sample code demonstrate how you can process <!DOCTYPE html><html lang="en"><head><title>CreatePayment</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="CreatePayment"><meta name="groc-project-path" content="CreatePayment.php"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">CreatePayment.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="cp">&lt;?php</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h1 id="createpaymentsample">CreatePaymentSample</h1>
<p>This sample code demonstrate how you can process
a direct credit card payment. Please note that direct a direct credit card payment. Please note that direct
credit card payment and related features using the credit card payment and related features using the
REST API is restricted in some countries. REST API is restricted in some countries.
API used: /v1/payments/payment</p></div></div><div class="code"><div class="wrapper"><span class="k">require</span> <span class="nx">__DIR__</span> <span class="o">.</span> <span class="s1">&#39;/../bootstrap.php&#39;</span><span class="p">;</span> API used: /v1/payments/payment</p></div></div><div class="code"><div class="wrapper"><span class="k">require</span> <span class="nx">__DIR__</span> <span class="o">.</span> <span class="s1">&#39;/../bootstrap.php&#39;</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Address</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Amount</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Amount</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Details</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Item</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\ItemList</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\CreditCard</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\CreditCard</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Payer</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payer</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\FundingInstrument</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\FundingInstrument</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="address">Address</h3> <span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="creditcard">CreditCard</h3>
<p>[Optional] Billing address associated with card.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$addr</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Address</span><span class="p">();</span>
<span class="nv">$addr</span><span class="o">-&gt;</span><span class="na">setLine1</span><span class="p">(</span><span class="s2">&quot;3909 Witmer Road&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setLine2</span><span class="p">(</span><span class="s2">&quot;Niagara Falls&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCity</span><span class="p">(</span><span class="s2">&quot;Niagara Falls&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setState</span><span class="p">(</span><span class="s2">&quot;NY&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPostalCode</span><span class="p">(</span><span class="s2">&quot;14305&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCountryCode</span><span class="p">(</span><span class="s2">&quot;US&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPhone</span><span class="p">(</span><span class="s2">&quot;716-298-1822&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="creditcard">CreditCard</h3>
<p>A resource representing a credit card that can be <p>A resource representing a credit card that can be
used to fund a payment.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$card</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">CreditCard</span><span class="p">();</span> used to fund a payment.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$card</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">CreditCard</span><span class="p">();</span>
@@ -28,37 +23,60 @@ used to fund a payment.</p></div></div><div class="code"><div class="wrapper"><s
<span class="o">-&gt;</span><span class="na">setExpireYear</span><span class="p">(</span><span class="s2">&quot;2019&quot;</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setExpireYear</span><span class="p">(</span><span class="s2">&quot;2019&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCvv2</span><span class="p">(</span><span class="s2">&quot;012&quot;</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setCvv2</span><span class="p">(</span><span class="s2">&quot;012&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setFirstName</span><span class="p">(</span><span class="s2">&quot;Joe&quot;</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setFirstName</span><span class="p">(</span><span class="s2">&quot;Joe&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setLastName</span><span class="p">(</span><span class="s2">&quot;Shopper&quot;</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setLastName</span><span class="p">(</span><span class="s2">&quot;Shopper&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="fundinginstrument">FundingInstrument</h3>
<span class="o">-&gt;</span><span class="na">setBillingAddress</span><span class="p">(</span><span class="nv">$addr</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="fundinginstrument">FundingInstrument</h3>
<p>A resource representing a Payer's funding instrument. <p>A resource representing a Payer's funding instrument.
For direct credit card payments, set the CreditCard For direct credit card payments, set the CreditCard
field on this object.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$fi</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">FundingInstrument</span><span class="p">();</span> field on this object.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$fi</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">FundingInstrument</span><span class="p">();</span>
<span class="nv">$fi</span><span class="o">-&gt;</span><span class="na">setCreditCard</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="payer">Payer</h3> <span class="nv">$fi</span><span class="o">-&gt;</span><span class="na">setCreditCard</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="payer">Payer</h3>
<p>A resource representing a Payer that funds a payment <p>A resource representing a Payer that funds a payment
For direct credit card payments, set payment method For direct credit card payments, set payment method
to 'credit_card' and add an array of funding instruments.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payer</span><span class="p">();</span> to 'credit_card' and add an array of funding instruments.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payer</span><span class="p">();</span>
<span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">&quot;credit_card&quot;</span><span class="p">)</span> <span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">&quot;credit_card&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setFundingInstruments</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$fi</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="amount">Amount</h3> <span class="o">-&gt;</span><span class="na">setFundingInstruments</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$fi</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="itemized-information">Itemized information</h3>
<p>(Optional) Lets you specify item wise
information</p></div></div><div class="code"><div class="wrapper"><span class="nv">$item1</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Item</span><span class="p">();</span>
<span class="nv">$item1</span><span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;Ground Coffee 40 oz&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s1">&#39;USD&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setQuantity</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPrice</span><span class="p">(</span><span class="s1">&#39;7.50&#39;</span><span class="p">);</span>
<span class="nv">$item2</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Item</span><span class="p">();</span>
<span class="nv">$item2</span><span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;Granola bars&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s1">&#39;USD&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setQuantity</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPrice</span><span class="p">(</span><span class="s1">&#39;2.00&#39;</span><span class="p">);</span>
<span class="nv">$itemList</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ItemList</span><span class="p">();</span>
<span class="nv">$itemList</span><span class="o">-&gt;</span><span class="na">setItems</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$item1</span><span class="p">,</span> <span class="nv">$item2</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="additional-payment-details">Additional payment details</h3>
<p>Use this optional field to set additional
payment information such as tax, shipping
charges etc.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$details</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Details</span><span class="p">();</span>
<span class="nv">$details</span><span class="o">-&gt;</span><span class="na">setShipping</span><span class="p">(</span><span class="s1">&#39;1.20&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTax</span><span class="p">(</span><span class="s1">&#39;1.30&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setSubtotal</span><span class="p">(</span><span class="s1">&#39;17.50&#39;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="amount">Amount</h3>
<p>Lets you specify a payment amount. <p>Lets you specify a payment amount.
You can also specify additional details You can also specify additional details
such as shipping, tax.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amount</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span> such as shipping, tax.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amount</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span>
<span class="nv">$amount</span><span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">&quot;USD&quot;</span><span class="p">)</span> <span class="nv">$amount</span><span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">&quot;USD&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s2">&quot;1.00&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="transaction">Transaction</h3> <span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s2">&quot;20.00&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDetails</span><span class="p">(</span><span class="nv">$details</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="transaction">Transaction</h3>
<p>A transaction defines the contract of a <p>A transaction defines the contract of a
payment - what is the payment for and who payment - what is the payment for and who
is fulfilling it. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$transaction</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">();</span> is fulfilling it. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$transaction</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">();</span>
<span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span> <span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;Payment description&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="payment">Payment</h3> <span class="o">-&gt;</span><span class="na">setItemList</span><span class="p">(</span><span class="nv">$itemList</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;Payment description&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="payment">Payment</h3>
<p>A Payment Resource; create one using <p>A Payment Resource; create one using
the above types and intent set to sale 'sale'</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payment</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payment</span><span class="p">();</span> the above types and intent set to sale 'sale'</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payment</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payment</span><span class="p">();</span>
<span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setIntent</span><span class="p">(</span><span class="s2">&quot;sale&quot;</span><span class="p">)</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setIntent</span><span class="p">(</span><span class="s2">&quot;sale&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTransactions</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$transaction</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="create-payment">Create Payment</h3> <span class="o">-&gt;</span><span class="na">setTransactions</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$transaction</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Create a payment by calling the payment->create() method <p>Create a payment by calling the payment->create() method
with a valid ApiContext (See bootstrap.php for more on <code>ApiContext</code>) with a valid ApiContext (See bootstrap.php for more on <code>ApiContext</code>)

View File

@@ -1,44 +1,71 @@
<!DOCTYPE html><html lang="en"><head><title>CreatePaymentUsingPayPal</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="CreatePaymentUsingPayPal"><meta name="groc-project-path" content="CreatePaymentUsingPayPal.php"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">CreatePaymentUsingPayPal.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="cp">&lt;?php</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h1 id="create-payment-using-paypal-as-payment-method">Create Payment using PayPal as payment method</h1> <!DOCTYPE html><html lang="en"><head><title>CreatePaymentUsingPayPal</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="CreatePaymentUsingPayPal"><meta name="groc-project-path" content="CreatePaymentUsingPayPal.php"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">CreatePaymentUsingPayPal.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="cp">&lt;?php</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h1 id="create-payment-using-paypal-as-payment-method">Create Payment using PayPal as payment method</h1>
<p>This sample code demonstrates how you can process a <p>This sample code demonstrates how you can process a
PayPal Account based Payment. PayPal Account based Payment.
API used: /v1/payments/payment</p></div></div><div class="code"><div class="wrapper"><span class="k">require</span> <span class="nx">__DIR__</span> <span class="o">.</span> <span class="s1">&#39;/../bootstrap.php&#39;</span><span class="p">;</span> API used: /v1/payments/payment</p></div></div><div class="code"><div class="wrapper"><span class="k">require</span> <span class="nx">__DIR__</span> <span class="o">.</span> <span class="s1">&#39;/../bootstrap.php&#39;</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Amount</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Amount</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Details</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Item</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\ItemList</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Payer</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payer</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\RedirectUrls</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\RedirectUrls</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span>
<span class="nb">session_start</span><span class="p">();</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="payer">Payer</h3> <span class="nb">session_start</span><span class="p">();</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="payer">Payer</h3>
<p>A resource representing a Payer that funds a payment <p>A resource representing a Payer that funds a payment
For paypal account payments, set payment method For paypal account payments, set payment method
to 'paypal'.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payer</span><span class="p">();</span> to 'paypal'.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payer</span><span class="p">();</span>
<span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">&quot;paypal&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="amount">Amount</h3> <span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">&quot;paypal&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="itemized-information">Itemized information</h3>
<p>(Optional) Lets you specify item wise
information</p></div></div><div class="code"><div class="wrapper"><span class="nv">$item1</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Item</span><span class="p">();</span>
<span class="nv">$item1</span><span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;Ground Coffee 40 oz&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s1">&#39;USD&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setQuantity</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPrice</span><span class="p">(</span><span class="s1">&#39;7.50&#39;</span><span class="p">);</span>
<span class="nv">$item2</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Item</span><span class="p">();</span>
<span class="nv">$item2</span><span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;Granola bars&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s1">&#39;USD&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setQuantity</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPrice</span><span class="p">(</span><span class="s1">&#39;2.00&#39;</span><span class="p">);</span>
<span class="nv">$itemList</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ItemList</span><span class="p">();</span>
<span class="nv">$itemList</span><span class="o">-&gt;</span><span class="na">setItems</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$item1</span><span class="p">,</span> <span class="nv">$item2</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="additional-payment-details">Additional payment details</h3>
<p>Use this optional field to set additional
payment information such as tax, shipping
charges etc.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$details</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Details</span><span class="p">();</span>
<span class="nv">$details</span><span class="o">-&gt;</span><span class="na">setShipping</span><span class="p">(</span><span class="s1">&#39;1.20&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTax</span><span class="p">(</span><span class="s1">&#39;1.30&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setSubtotal</span><span class="p">(</span><span class="s1">&#39;17.50&#39;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="amount">Amount</h3>
<p>Lets you specify a payment amount. <p>Lets you specify a payment amount.
You can also specify additional details You can also specify additional details
such as shipping, tax.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amount</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span> such as shipping, tax.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amount</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span>
<span class="nv">$amount</span><span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">&quot;USD&quot;</span><span class="p">)</span> <span class="nv">$amount</span><span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">&quot;USD&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s2">&quot;1.00&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="transaction">Transaction</h3> <span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s2">&quot;20.00&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDetails</span><span class="p">(</span><span class="nv">$details</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="transaction">Transaction</h3>
<p>A transaction defines the contract of a <p>A transaction defines the contract of a
payment - what is the payment for and who payment - what is the payment for and who
is fulfilling it. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$transaction</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">();</span> is fulfilling it. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$transaction</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">();</span>
<span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span> <span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;Payment description&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="redirect-urls">Redirect urls</h3> <span class="o">-&gt;</span><span class="na">setItemList</span><span class="p">(</span><span class="nv">$itemList</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;Payment description&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="redirect-urls">Redirect urls</h3>
<p>Set the urls that the buyer must be redirected to after <p>Set the urls that the buyer must be redirected to after
payment approval/ cancellation.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$baseUrl</span> <span class="o">=</span> <span class="nx">getBaseUrl</span><span class="p">();</span> payment approval/ cancellation.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$baseUrl</span> <span class="o">=</span> <span class="nx">getBaseUrl</span><span class="p">();</span>
<span class="nv">$redirectUrls</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">RedirectUrls</span><span class="p">();</span> <span class="nv">$redirectUrls</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">RedirectUrls</span><span class="p">();</span>
<span class="nv">$redirectUrls</span><span class="o">-&gt;</span><span class="na">setReturnUrl</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">$baseUrl</span><span class="s2">/ExecutePayment.php?success=true&quot;</span><span class="p">)</span> <span class="nv">$redirectUrls</span><span class="o">-&gt;</span><span class="na">setReturnUrl</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">$baseUrl</span><span class="s2">/ExecutePayment.php?success=true&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCancelUrl</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">$baseUrl</span><span class="s2">/ExecutePayment.php?success=false&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="payment">Payment</h3> <span class="o">-&gt;</span><span class="na">setCancelUrl</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">$baseUrl</span><span class="s2">/ExecutePayment.php?success=false&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="payment">Payment</h3>
<p>A Payment Resource; create one using <p>A Payment Resource; create one using
the above types and intent set to 'sale'</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payment</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payment</span><span class="p">();</span> the above types and intent set to 'sale'</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payment</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payment</span><span class="p">();</span>
<span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setIntent</span><span class="p">(</span><span class="s2">&quot;sale&quot;</span><span class="p">)</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setIntent</span><span class="p">(</span><span class="s2">&quot;sale&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setRedirectUrls</span><span class="p">(</span><span class="nv">$redirectUrls</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setRedirectUrls</span><span class="p">(</span><span class="nv">$redirectUrls</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTransactions</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$transaction</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="create-payment">Create Payment</h3> <span class="o">-&gt;</span><span class="na">setTransactions</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$transaction</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Create a payment by calling the 'create' method <p>Create a payment by calling the 'create' method
passing it a valid apiContext. passing it a valid apiContext.
@@ -51,7 +78,7 @@ for payment approval</p></div></div><div class="code"><div class="wrapper"><span
<span class="k">echo</span> <span class="s2">&quot;Exception: &quot;</span> <span class="o">.</span> <span class="nv">$ex</span><span class="o">-&gt;</span><span class="na">getMessage</span><span class="p">()</span> <span class="o">.</span> <span class="nx">PHP_EOL</span><span class="p">;</span> <span class="k">echo</span> <span class="s2">&quot;Exception: &quot;</span> <span class="o">.</span> <span class="nv">$ex</span><span class="o">-&gt;</span><span class="na">getMessage</span><span class="p">()</span> <span class="o">.</span> <span class="nx">PHP_EOL</span><span class="p">;</span>
<span class="nb">var_dump</span><span class="p">(</span><span class="nv">$ex</span><span class="o">-&gt;</span><span class="na">getData</span><span class="p">());</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$ex</span><span class="o">-&gt;</span><span class="na">getData</span><span class="p">());</span>
<span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="p">}</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="get-redirect-url">Get redirect url</h3> <span class="p">}</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="get-redirect-url">Get redirect url</h3>
<p>The API response provides the url that you must redirect <p>The API response provides the url that you must redirect
the buyer to. Retrieve the url from the $payment->getLinks() the buyer to. Retrieve the url from the $payment->getLinks()
@@ -60,11 +87,12 @@ method</p></div></div><div class="code"><div class="wrapper"><span class="k">for
<span class="nv">$redirectUrl</span> <span class="o">=</span> <span class="nv">$link</span><span class="o">-&gt;</span><span class="na">getHref</span><span class="p">();</span> <span class="nv">$redirectUrl</span> <span class="o">=</span> <span class="nv">$link</span><span class="o">-&gt;</span><span class="na">getHref</span><span class="p">();</span>
<span class="k">break</span><span class="p">;</span> <span class="k">break</span><span class="p">;</span>
<span class="p">}</span> <span class="p">}</span>
<span class="p">}</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="redirect-buyer-to-paypal-website">Redirect buyer to PayPal website</h3> <span class="p">}</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="redirect-buyer-to-paypal-website">Redirect buyer to PayPal website</h3>
<p>Save payment id so that you can 'complete' the payment <p>Save the payment id so that you can 'complete' the payment
once the buyer approves the payment and is redirected once the buyer approves the payment and is redirected
bacl to your website.</p></div></div><div class="code"><div class="wrapper"><span class="c1">//</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>It is not really a great idea to store the payment id back to your website.
It is not a great idea to store the payment id
in the session. In a real world app, you may want to in the session. In a real world app, you may want to
store the payment id in a database.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$_SESSION</span><span class="p">[</span><span class="s1">&#39;paymentId&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span> store the payment id in a database.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$_SESSION</span><span class="p">[</span><span class="s1">&#39;paymentId&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span>
<span class="k">if</span><span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$redirectUrl</span><span class="p">))</span> <span class="p">{</span> <span class="k">if</span><span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$redirectUrl</span><span class="p">))</span> <span class="p">{</span>

View File

@@ -1,47 +1,74 @@
<!DOCTYPE html><html lang="en"><head><title>CreatePaymentUsingSavedCard</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="CreatePaymentUsingSavedCard"><meta name="groc-project-path" content="CreatePaymentUsingSavedCard.php"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">CreatePaymentUsingSavedCard.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="cp">&lt;?php</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h1 id="create-payment-using-a-saved-credit-card">Create payment using a saved credit card</h1> <!DOCTYPE html><html lang="en"><head><title>CreatePaymentUsingSavedCard</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="CreatePaymentUsingSavedCard"><meta name="groc-project-path" content="CreatePaymentUsingSavedCard.php"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">CreatePaymentUsingSavedCard.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="cp">&lt;?php</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h1 id="create-payment-using-a-saved-credit-card">Create payment using a saved credit card</h1>
<p>This sample code demonstrates how you can process a <p>This sample code demonstrates how you can process a
Payment using a previously stored credit card token. Payment using a previously stored credit card token.
API used: /v1/payments/payment</p></div></div><div class="code"><div class="wrapper"><span class="k">require</span> <span class="nx">__DIR__</span> <span class="o">.</span> <span class="s1">&#39;/../bootstrap.php&#39;</span><span class="p">;</span> API used: /v1/payments/payment</p></div></div><div class="code"><div class="wrapper"><span class="k">require</span> <span class="nx">__DIR__</span> <span class="o">.</span> <span class="s1">&#39;/../bootstrap.php&#39;</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Amount</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Amount</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Details</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Item</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\ItemList</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\CreditCardToken</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\CreditCardToken</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Payer</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payer</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\FundingInstrument</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\FundingInstrument</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="credit-card-token">Credit card token</h3> <span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="credit-card-token">Credit card token</h3>
<p>Saved credit card id from a previous call to <p>Saved credit card id from a previous call to
CreateCreditCard.php</p></div></div><div class="code"><div class="wrapper"><span class="nv">$creditCardToken</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">CreditCardToken</span><span class="p">();</span> CreateCreditCard.php</p></div></div><div class="code"><div class="wrapper"><span class="nv">$creditCardToken</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">CreditCardToken</span><span class="p">();</span>
<span class="nv">$creditCardToken</span><span class="o">-&gt;</span><span class="na">setCreditCardId</span><span class="p">(</span><span class="s1">&#39;CARD-29H07236G1554552FKINPBHQ&#39;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="fundinginstrument">FundingInstrument</h3> <span class="nv">$creditCardToken</span><span class="o">-&gt;</span><span class="na">setCreditCardId</span><span class="p">(</span><span class="s1">&#39;CARD-29H07236G1554552FKINPBHQ&#39;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="fundinginstrument">FundingInstrument</h3>
<p>A resource representing a Payer's funding instrument. <p>A resource representing a Payer's funding instrument.
For stored credit card payments, set the CreditCardToken For stored credit card payments, set the CreditCardToken
field on this object.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$fi</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">FundingInstrument</span><span class="p">();</span> field on this object.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$fi</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">FundingInstrument</span><span class="p">();</span>
<span class="nv">$fi</span><span class="o">-&gt;</span><span class="na">setCreditCardToken</span><span class="p">(</span><span class="nv">$creditCardToken</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="payer">Payer</h3> <span class="nv">$fi</span><span class="o">-&gt;</span><span class="na">setCreditCardToken</span><span class="p">(</span><span class="nv">$creditCardToken</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="payer">Payer</h3>
<p>A resource representing a Payer that funds a payment <p>A resource representing a Payer that funds a payment
For stored credit card payments, set payment method For stored credit card payments, set payment method
to 'credit_card'.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payer</span><span class="p">();</span> to 'credit_card'.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payer</span><span class="p">();</span>
<span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">&quot;credit_card&quot;</span><span class="p">)</span> <span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">&quot;credit_card&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setFundingInstruments</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$fi</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="amount">Amount</h3> <span class="o">-&gt;</span><span class="na">setFundingInstruments</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$fi</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="itemized-information">Itemized information</h3>
<p>(Optional) Lets you specify item wise
information</p></div></div><div class="code"><div class="wrapper"><span class="nv">$item1</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Item</span><span class="p">();</span>
<span class="nv">$item1</span><span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;Ground Coffee 40 oz&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s1">&#39;USD&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setQuantity</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPrice</span><span class="p">(</span><span class="s1">&#39;7.50&#39;</span><span class="p">);</span>
<span class="nv">$item2</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Item</span><span class="p">();</span>
<span class="nv">$item2</span><span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;Granola bars&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s1">&#39;USD&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setQuantity</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPrice</span><span class="p">(</span><span class="s1">&#39;2.00&#39;</span><span class="p">);</span>
<span class="nv">$itemList</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ItemList</span><span class="p">();</span>
<span class="nv">$itemList</span><span class="o">-&gt;</span><span class="na">setItems</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$item1</span><span class="p">,</span> <span class="nv">$item2</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="additional-payment-details">Additional payment details</h3>
<p>Use this optional field to set additional
payment information such as tax, shipping
charges etc.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$details</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Details</span><span class="p">();</span>
<span class="nv">$details</span><span class="o">-&gt;</span><span class="na">setShipping</span><span class="p">(</span><span class="s1">&#39;1.20&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTax</span><span class="p">(</span><span class="s1">&#39;1.30&#39;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setSubtotal</span><span class="p">(</span><span class="s1">&#39;17.50&#39;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="amount">Amount</h3>
<p>Lets you specify a payment amount. <p>Lets you specify a payment amount.
You can also specify additional details You can also specify additional details
such as shipping, tax.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amount</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span> such as shipping, tax.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amount</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span>
<span class="nv">$amount</span><span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">&quot;USD&quot;</span><span class="p">)</span> <span class="nv">$amount</span><span class="o">-&gt;</span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">&quot;USD&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s2">&quot;1.00&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="transaction">Transaction</h3> <span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s2">&quot;20.00&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDetails</span><span class="p">(</span><span class="nv">$details</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="transaction">Transaction</h3>
<p>A transaction defines the contract of a <p>A transaction defines the contract of a
payment - what is the payment for and who payment - what is the payment for and who
is fulfilling it. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$transaction</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">();</span> is fulfilling it. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$transaction</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">();</span>
<span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span> <span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;Payment description&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="payment">Payment</h3> <span class="o">-&gt;</span><span class="na">setItemList</span><span class="p">(</span><span class="nv">$itemList</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;Payment description&quot;</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="payment">Payment</h3>
<p>A Payment Resource; create one using <p>A Payment Resource; create one using
the above types and intent set to 'sale'</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payment</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payment</span><span class="p">();</span> the above types and intent set to 'sale'</p></div></div><div class="code"><div class="wrapper"><span class="nv">$payment</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Payment</span><span class="p">();</span>
<span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setIntent</span><span class="p">(</span><span class="s2">&quot;sale&quot;</span><span class="p">)</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setIntent</span><span class="p">(</span><span class="s2">&quot;sale&quot;</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span> <span class="o">-&gt;</span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span>
<span class="o">-&gt;</span><span class="na">setTransactions</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$transaction</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="create-payment">Create Payment</h3> <span class="o">-&gt;</span><span class="na">setTransactions</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="nv">$transaction</span><span class="p">));</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Create a payment by calling the 'create' method <p>Create a payment by calling the 'create' method
passing it a valid apiContext. passing it a valid apiContext.

View File

@@ -12,12 +12,14 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"nameMatchers": [{}, ".fbp"], "nameMatchers": [{}, ".fbp"],
"pygmentsLexer": "php", "pygmentsLexer": "php",
"singleLineComment": ["//"], "singleLineComment": ["//"],
"ignorePrefix": "}",
"foldPrefix": "^",
"name": "PHP" "name": "PHP"
}, },
"sourcePath": "c:\\xcommerce\\repo\\PayPalSDKs\\rest\\rest-api-sdk-php\\sample\\sale\\GetSale.php", "projectPath": "CreatePayment.php",
"projectPath": "GetSale.php", "targetPath": "CreatePayment",
"targetPath": "GetSale", "pageTitle": "CreatePayment",
"title": "GetSale" "title": "CreatePayment"
}, },
"depth": 1, "depth": 1,
"outline": [ "outline": [
@@ -25,8 +27,8 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"type": "heading", "type": "heading",
"data": { "data": {
"level": 1, "level": 1,
"title": "Get Sale sample", "title": "CreatePaymentSample",
"slug": "get-sale-sample" "slug": "createpaymentsample"
}, },
"depth": 1, "depth": 1,
"children": [ "children": [
@@ -34,8 +36,72 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"type": "heading", "type": "heading",
"data": { "data": {
"level": 3, "level": 3,
"title": "Retrieve the sale object", "title": "CreditCard",
"slug": "retrieve-the-sale-object" "slug": "creditcard"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "FundingInstrument",
"slug": "fundinginstrument"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Payer",
"slug": "payer"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Itemized information",
"slug": "itemized-information"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Additional payment details",
"slug": "additional-payment-details"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Amount",
"slug": "amount"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Transaction",
"slug": "transaction"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Payment",
"slug": "payment"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Create Payment",
"slug": "create-payment"
}, },
"depth": 3 "depth": 3
} }
@@ -49,12 +115,14 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"nameMatchers": [{}, ".fbp"], "nameMatchers": [{}, ".fbp"],
"pygmentsLexer": "php", "pygmentsLexer": "php",
"singleLineComment": ["//"], "singleLineComment": ["//"],
"ignorePrefix": "}",
"foldPrefix": "^",
"name": "PHP" "name": "PHP"
}, },
"sourcePath": "c:\\xcommerce\\repo\\PayPalSDKs\\rest\\rest-api-sdk-php\\sample\\sale\\RefundSale.php", "projectPath": "CreatePaymentUsingPayPal.php",
"projectPath": "RefundSale.php", "targetPath": "CreatePaymentUsingPayPal",
"targetPath": "RefundSale", "pageTitle": "CreatePaymentUsingPayPal",
"title": "RefundSale" "title": "CreatePaymentUsingPayPal"
}, },
"depth": 1, "depth": 1,
"outline": [ "outline": [
@@ -62,8 +130,8 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"type": "heading", "type": "heading",
"data": { "data": {
"level": 1, "level": 1,
"title": "Sale Refund Sample", "title": "Create Payment using PayPal as payment method",
"slug": "sale-refund-sample" "slug": "create-payment-using-paypal-as-payment-method"
}, },
"depth": 1, "depth": 1,
"children": [ "children": [
@@ -71,24 +139,183 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"type": "heading", "type": "heading",
"data": { "data": {
"level": 3, "level": 3,
"title": "Refund amount", "title": "Payer",
"slug": "refund-amount" "slug": "payer"
}, },
"depth": 3 "depth": 3
}, { }, {
"type": "heading", "type": "heading",
"data": { "data": {
"level": 3, "level": 3,
"title": "Refund object", "title": "Itemized information",
"slug": "refund-object" "slug": "itemized-information"
}, },
"depth": 3 "depth": 3
}, { }, {
"type": "heading", "type": "heading",
"data": { "data": {
"level": 3, "level": 3,
"title": "Sale", "title": "Additional payment details",
"slug": "sale" "slug": "additional-payment-details"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Amount",
"slug": "amount"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Transaction",
"slug": "transaction"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Redirect urls",
"slug": "redirect-urls"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Payment",
"slug": "payment"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Create Payment",
"slug": "create-payment"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Get redirect url",
"slug": "get-redirect-url"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Redirect buyer to PayPal website",
"slug": "redirect-buyer-to-paypal-website"
},
"depth": 3
}
]
}
]
}, {
"type": "file",
"data": {
"language": {
"nameMatchers": [{}, ".fbp"],
"pygmentsLexer": "php",
"singleLineComment": ["//"],
"ignorePrefix": "}",
"foldPrefix": "^",
"name": "PHP"
},
"projectPath": "CreatePaymentUsingSavedCard.php",
"targetPath": "CreatePaymentUsingSavedCard",
"pageTitle": "CreatePaymentUsingSavedCard",
"title": "CreatePaymentUsingSavedCard"
},
"depth": 1,
"outline": [
{
"type": "heading",
"data": {
"level": 1,
"title": "Create payment using a saved credit card",
"slug": "create-payment-using-a-saved-credit-card"
},
"depth": 1,
"children": [
{
"type": "heading",
"data": {
"level": 3,
"title": "Credit card token",
"slug": "credit-card-token"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "FundingInstrument",
"slug": "fundinginstrument"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Payer",
"slug": "payer"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Itemized information",
"slug": "itemized-information"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Additional payment details",
"slug": "additional-payment-details"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Amount",
"slug": "amount"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Transaction",
"slug": "transaction"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Payment",
"slug": "payment"
},
"depth": 3
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Create Payment",
"slug": "create-payment"
}, },
"depth": 3 "depth": 3
} }
@@ -331,14 +558,29 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
}; };
buildTOCNode = function(node, metaInfo) { buildTOCNode = function(node, metaInfo) {
var c, children$, discloser$, label$, node$, _i, _len, _ref, _ref1, _ref2; var c, children$, clickLabel, discloser, discloser$, label$, node$, _i, _len, _ref, _ref1, _ref2;
node$ = $("<li class=\"" + node.type + "\"/>"); node$ = $("<li class=\"" + node.type + "\"/>");
discloser = null;
switch (node.type) { switch (node.type) {
case 'file': case 'file':
node$.append("<a class=\"label\" href=\"" + metaInfo.relativeRoot + node.data.targetPath + ".html\" title=\"" + node.data.projectPath + "\"><span class=\"text\">" + node.data.title + "</span></a>"); node$.append("<a class=\"label\" href=\"" + metaInfo.relativeRoot + node.data.targetPath + ".html\" title=\"" + node.data.projectPath + "\"><span class=\"text\">" + node.data.title + "</span></a>");
clickLabel = function(evt) {
if (evt.target === discloser) {
node$.toggleClass('expanded');
evt.preventDefault();
return false;
}
return selectNode(node$);
};
break; break;
case 'folder': case 'folder':
node$.append("<span class=\"label\"><span class=\"text\">" + node.data.title + "</span></span>"); node$.append("<a class=\"label\" href=\"#\"><span class=\"text\">" + node.data.title + "</span></a>");
clickLabel = function(evt) {
selectNode(node$);
node$.toggleClass('expanded');
evt.preventDefault();
return false;
};
} }
if (((_ref = node.children) != null ? _ref.length : void 0) > 0) { if (((_ref = node.children) != null ? _ref.length : void 0) > 0) {
children$ = $('<ol class="children"/>'); children$ = $('<ol class="children"/>');
@@ -350,17 +592,12 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
node$.append(children$); node$.append(children$);
} }
label$ = node$.find('> .label'); label$ = node$.find('> .label');
label$.click(function() { label$.click(clickLabel);
return selectNode(node$);
});
discloser$ = $('<span class="discloser"/>').prependTo(label$); discloser$ = $('<span class="discloser"/>').prependTo(label$);
if (!(((_ref2 = node.children) != null ? _ref2.length : void 0) > 0)) { if (!(((_ref2 = node.children) != null ? _ref2.length : void 0) > 0)) {
discloser$.addClass('placeholder'); discloser$.addClass('placeholder');
} }
discloser$.click(function(evt) { discloser = discloser$.get(0);
node$.toggleClass('expanded');
return evt.preventDefault();
});
if (node.type === 'file') { if (node.type === 'file') {
fileMap[node.data.targetPath] = node$; fileMap[node.data.targetPath] = node$;
} }
@@ -435,7 +672,7 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
search$.bind('keyup search', function(evt) { search$.bind('keyup search', function(evt) {
return searchNodes(search$.val()); return searchNodes(search$.val());
}); });
return search$.keydown(function(evt) { search$.keydown(function(evt) {
if (evt.keyCode === 27) { if (evt.keyCode === 27) {
if (search$.val().trim() === '') { if (search$.val().trim() === '') {
return search$.blur(); return search$.blur();
@@ -444,6 +681,15 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
} }
} }
}); });
return $('.code.folded').each(function(index, code) {
var code$;
code$ = $(code);
return code$.click(function(evt) {
code$.toggleClass('folded');
evt.preventDefault();
return false;
});
});
}); });
}).call(this); }).call(this);

File diff suppressed because one or more lines are too long