forked from LiveCarta/PayPal-PHP-SDK
86 lines
12 KiB
HTML
86 lines
12 KiB
HTML
<!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"><?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
|
|
a direct credit card payment. Please note that direct
|
|
credit card payment and related features using the
|
|
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">'/../bootstrap.php'</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\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\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\Transaction</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><h3 id="address">Address</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">-></span><span class="na">setLine1</span><span class="p">(</span><span class="s2">"3909 Witmer Road"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setLine2</span><span class="p">(</span><span class="s2">"Niagara Falls"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setCity</span><span class="p">(</span><span class="s2">"Niagara Falls"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setState</span><span class="p">(</span><span class="s2">"NY"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setPostalCode</span><span class="p">(</span><span class="s2">"14305"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setCountryCode</span><span class="p">(</span><span class="s2">"US"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setPhone</span><span class="p">(</span><span class="s2">"716-298-1822"</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
|
|
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>
|
|
<span class="nv">$card</span><span class="o">-></span><span class="na">setType</span><span class="p">(</span><span class="s2">"visa"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setNumber</span><span class="p">(</span><span class="s2">"4417119669820331"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setExpireMonth</span><span class="p">(</span><span class="s2">"11"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setExpireYear</span><span class="p">(</span><span class="s2">"2019"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setCvv2</span><span class="p">(</span><span class="s2">"012"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setFirstName</span><span class="p">(</span><span class="s2">"Joe"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setLastName</span><span class="p">(</span><span class="s2">"Shopper"</span><span class="p">)</span>
|
|
<span class="o">-></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.
|
|
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>
|
|
<span class="nv">$fi</span><span class="o">-></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
|
|
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>
|
|
<span class="nv">$payer</span><span class="o">-></span><span class="na">setPaymentMethod</span><span class="p">(</span><span class="s2">"credit_card"</span><span class="p">)</span>
|
|
<span class="o">-></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>
|
|
|
|
<p>Lets you specify a payment amount.
|
|
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>
|
|
<span class="nv">$amount</span><span class="o">-></span><span class="na">setCurrency</span><span class="p">(</span><span class="s2">"USD"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setTotal</span><span class="p">(</span><span class="s2">"1.00"</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
|
|
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>
|
|
<span class="nv">$transaction</span><span class="o">-></span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amount</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setDescription</span><span class="p">(</span><span class="s2">"Payment description"</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
|
|
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">-></span><span class="na">setIntent</span><span class="p">(</span><span class="s2">"sale"</span><span class="p">)</span>
|
|
<span class="o">-></span><span class="na">setPayer</span><span class="p">(</span><span class="nv">$payer</span><span class="p">)</span>
|
|
<span class="o">-></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
|
|
with a valid ApiContext (See bootstrap.php for more on <code>ApiContext</code>)
|
|
The return object contains the state.</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span>
|
|
<span class="nv">$payment</span><span class="o">-></span><span class="na">create</span><span class="p">(</span><span class="nv">$apiContext</span><span class="p">);</span>
|
|
<span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">PayPal\Exception\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="k">echo</span> <span class="s2">"Exception: "</span> <span class="o">.</span> <span class="nv">$ex</span><span class="o">-></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">-></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="p">}</span>
|
|
<span class="cp">?></span><span class="x"></span>
|
|
<span class="x"><html></span>
|
|
<span class="x"><head></span>
|
|
<span class="x"> <title>Direct Credit card payments</title></span>
|
|
<span class="x"></head></span>
|
|
<span class="x"><body></span>
|
|
<span class="x"> <div></span>
|
|
<span class="x"> Created payment:</span>
|
|
<span class="x"> </span><span class="cp"><?php</span> <span class="k">echo</span> <span class="nv">$payment</span><span class="o">-></span><span class="na">getId</span><span class="p">();</span><span class="cp">?></span><span class="x"></span>
|
|
<span class="x"> </div></span>
|
|
<span class="x"> <pre></span><span class="cp"><?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-></span><span class="na">toArray</span><span class="p">());</span><span class="cp">?></span><span class="x"></pre></span>
|
|
<span class="x"> <a href='../index.html'>Back</a></span>
|
|
<span class="x"></body></span>
|
|
<span class="x"></html></span></div></div></div></div></body></html>
|