Updating stubs and samples to use apiContext

This commit is contained in:
aydiv
2013-04-26 12:00:20 +05:30
parent c624834f15
commit b3423b6c11
28 changed files with 931 additions and 1040 deletions

View File

@@ -1,10 +1,11 @@
CHANGELOG CHANGELOG
========= =========
V0.6.0 (April 25, 2013) V0.6.0 (April 26, 2013)
----------------------- -----------------------
* Adding support for dynamic configuration of SDK (Upgrading sdk-core-php dependency to V1.4.0) * Adding support for dynamic configuration of SDK (Upgrading sdk-core-php dependency to V1.4.0)
* Changing resource class methods to take an ApiContext argument instead of a OauthTokenCredential argument.
V0.5.0 (March 07, 2013) V0.5.0 (March 07, 2013)
----------------------- -----------------------

View File

@@ -237,8 +237,8 @@ class CreditCard extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/vault/credit-card", "/v1/vault/credit-card",
"POST", $payLoad); "POST", $payLoad);
$this->fromJson($json); $this->fromJson($json);
@@ -259,8 +259,8 @@ class CreditCard extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/vault/credit-card/$creditcardid", "/v1/vault/credit-card/$creditcardid",
"GET", $payLoad); "GET", $payLoad);
$ret = new CreditCard(); $ret = new CreditCard();

View File

@@ -185,8 +185,8 @@ class Payment extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/payment?" . http_build_query(array_intersect_key($params, $allowedParams)), "/v1/payments/payment?" . http_build_query(array_intersect_key($params, $allowedParams)),
"GET", $payLoad); "GET", $payLoad);
$ret = new PaymentHistory(); $ret = new PaymentHistory();
@@ -206,8 +206,8 @@ class Payment extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/payment", "/v1/payments/payment",
"POST", $payLoad); "POST", $payLoad);
$this->fromJson($json); $this->fromJson($json);
@@ -228,8 +228,8 @@ class Payment extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/payment/$paymentid", "/v1/payments/payment/$paymentid",
"GET", $payLoad); "GET", $payLoad);
$ret = new Payment(); $ret = new Payment();
@@ -255,8 +255,8 @@ class Payment extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/payment/{$this->getId()}/execute", "/v1/payments/payment/{$this->getId()}/execute",
"POST", $payLoad); "POST", $payLoad);
$this->fromJson($json); $this->fromJson($json);

View File

@@ -192,8 +192,8 @@ class Refund extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/refund/$refundid", "/v1/payments/refund/$refundid",
"GET", $payLoad); "GET", $payLoad);
$ret = new Refund(); $ret = new Refund();

View File

@@ -144,8 +144,8 @@ class Sale extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/sale/$saleid", "/v1/payments/sale/$saleid",
"GET", $payLoad); "GET", $payLoad);
$ret = new Sale(); $ret = new Sale();
@@ -171,8 +171,8 @@ class Sale extends Resource implements IResource {
if($apiContext == null) { if($apiContext == null) {
$apiContext = new ApiContext(self::$credential); $apiContext = new ApiContext(self::$credential);
} }
$call = new \PPRestCall(); $call = new \PPRestCall($apiContext);
$json = $call->execute($apiContext, array('PayPal\Rest\RestHandler'), $json = $call->execute( array('PayPal\Rest\RestHandler'),
"/v1/payments/sale/{$this->getId()}/refund", "/v1/payments/sale/{$this->getId()}/refund",
"POST", $payLoad); "POST", $payLoad);
$this->fromJson($json); $this->fromJson($json);

View File

@@ -49,14 +49,15 @@ class OAuthTokenCredential {
*/ */
public function __construct($clientId, $clientSecret) { public function __construct($clientId, $clientSecret) {
$this->clientId = $clientId; $this->clientId = $clientId;
$this->clientSecret = $clientSecret; $this->clientSecret = $clientSecret;
$this->logger = new \PPLoggingManager(__CLASS__);
} }
/** /**
* @return the accessToken * @return the accessToken
*/ */
public function getAccessToken($config) { public function getAccessToken($config) {
$this->logger = new \PPLoggingManager(__CLASS__, $config);
// Check if Access Token is not null and has not expired. // Check if Access Token is not null and has not expired.
// The API returns expiry time as a relative time unit // The API returns expiry time as a relative time unit
// We use a buffer time when checking for token expiry to account // We use a buffer time when checking for token expiry to account

View File

@@ -1,50 +1,57 @@
<?php <?php
/* /*
* Sample bootstrap file. * Sample bootstrap file.
*/ */
// Include the composer autoloader // Include the composer autoloader
if(!file_exists(__DIR__ .'/vendor/autoload.php')) { if(!file_exists(__DIR__ .'/vendor/autoload.php')) {
echo "The 'vendor' folder is missing. You must run 'composer update' to resolve application dependencies.\nPlease see the README for more information.\n"; echo "The 'vendor' folder is missing. You must run 'composer update' to resolve application dependencies.\nPlease see the README for more information.\n";
exit(1); exit(1);
} }
require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/vendor/autoload.php';
use PayPal\Auth\OAuthTokenCredential; define("PP_CONFIG_PATH", __DIR__);
define("PP_CONFIG_PATH", __DIR__); use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;
$configManager = \PPConfigManager::getInstance();
// ### Api Context
// $cred is used by samples that include this bootstrap file // Pass in a `PayPal\Rest\ApiContext` object to authenticate
// This piece of code simply demonstrates how you can // the call. You can also send a unique request id
// dynamically pass in a client id/secret instead of using // (that ensures idempotency). The SDK generates
// the config file. If you do not need a way to pass // a request id if you do not pass one explicitly.
// in credentials dynamically, you can skip the $apiContext = new ApiContext(new OAuthTokenCredential(
// <Resource>::setCredential($cred) calls that 'EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM',
// you see in the samples. 'EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM'));
$cred = new OAuthTokenCredential( // Uncomment this step if you want to use per request
$configManager->get('acct1.ClientId'), // dynamic configuration instead of using sdk_config.ini
$configManager->get('acct1.ClientSecret')); /*
$apiContext->setConfig(array(
'mode' => 'sandbox',
/** 'http.ConnectionTimeOut' => 30,
* ### getBaseUrl function 'log.LogEnabled' => true,
* // utility function that returns base url for 'log.FileName' => '../PayPal.log',
* // determining return/cancel urls 'log.LogLevel' => 'FINE'
* @return string ));
*/ */
function getBaseUrl() {
/**
$protocol = 'http'; * ### getBaseUrl function
if ($_SERVER['SERVER_PORT'] == 443 || (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on')) { * // utility function that returns base url for
$protocol .= 's'; * // determining return/cancel urls
$protocol_port = $_SERVER['SERVER_PORT']; * @return string
} else { */
$protocol_port = 80; function getBaseUrl() {
}
$protocol = 'http';
$host = $_SERVER['HTTP_HOST']; if ($_SERVER['SERVER_PORT'] == 443 || (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on')) {
$port = $_SERVER['SERVER_PORT']; $protocol .= 's';
$request = $_SERVER['PHP_SELF']; $protocol_port = $_SERVER['SERVER_PORT'];
return dirname($protocol . '://' . $host . ($port == $protocol_port ? '' : ':' . $port) . $request); } else {
} $protocol_port = 80;
}
$host = $_SERVER['HTTP_HOST'];
$port = $_SERVER['SERVER_PORT'];
$request = $_SERVER['PHP_SELF'];
return dirname($protocol . '://' . $host . ($port == $protocol_port ? '' : ':' . $port) . $request);
}

View File

@@ -1,111 +1,105 @@
<?php <?php
// # CreatePaymentSample // # CreatePaymentSample
// This sample code demonstrate how you can process // This sample code demonstrate how you can process
// a payment with a credit card. // a payment with a credit card.
// 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\Address;
use PayPal\Api\Amount; use PayPal\Api\Amount;
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;
use PayPal\Rest\ApiContext;
// ### Address
// ### Address // Base Address object used as shipping or billing
// Base Address object used as shipping or billing // address in a payment. [Optional]
// address in a payment. [Optional] $addr = new Address();
$addr = new Address(); $addr->setLine1("3909 Witmer Road");
$addr->setLine1("3909 Witmer Road"); $addr->setLine2("Niagara Falls");
$addr->setLine2("Niagara Falls"); $addr->setCity("Niagara Falls");
$addr->setCity("Niagara Falls"); $addr->setState("NY");
$addr->setState("NY"); $addr->setPostal_code("14305");
$addr->setPostal_code("14305"); $addr->setCountry_code("US");
$addr->setCountry_code("US"); $addr->setPhone("716-298-1822");
$addr->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. $card = new CreditCard();
$card = new CreditCard(); $card->setType("visa");
$card->setType("visa"); $card->setNumber("4417119669820331");
$card->setNumber("4417119669820331"); $card->setExpire_month("11");
$card->setExpire_month("11"); $card->setExpire_year("2019");
$card->setExpire_year("2019"); $card->setCvv2("012");
$card->setCvv2("012"); $card->setFirst_name("Joe");
$card->setFirst_name("Joe"); $card->setLast_name("Shopper");
$card->setLast_name("Shopper"); $card->setBilling_address($addr);
$card->setBilling_address($addr);
// ### FundingInstrument
// ### FundingInstrument // A resource representing a Payer's funding instrument.
// A resource representing a Payer's funding instrument. // Use a Payer ID (A unique identifier of the payer generated
// Use a Payer ID (A unique identifier of the payer generated // and provided by the facilitator. This is required when
// and provided by the facilitator. This is required when // creating or using a tokenized funding instrument)
// creating or using a tokenized funding instrument) // and the `CreditCardDetails`
// and the `CreditCardDetails` $fi = new FundingInstrument();
$fi = new FundingInstrument(); $fi->setCredit_card($card);
$fi->setCredit_card($card);
// ### Payer
// ### Payer // A resource representing a Payer that funds a payment
// A resource representing a Payer that funds a payment // Use the List of `FundingInstrument` and the Payment Method
// Use the List of `FundingInstrument` and the Payment Method // as 'credit_card'
// as 'credit_card' $payer = new Payer();
$payer = new Payer(); $payer->setPayment_method("credit_card");
$payer->setPayment_method("credit_card"); $payer->setFunding_instruments(array($fi));
$payer->setFunding_instruments(array($fi));
// ### Amount
// ### Amount // Let's you specify a payment amount.
// Let's you specify a payment amount. $amount = new Amount();
$amount = new Amount(); $amount->setCurrency("USD");
$amount->setCurrency("USD"); $amount->setTotal("1.00");
$amount->setTotal("1.00");
// ### Transaction
// ### Transaction // A transaction defines the contract of a
// 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. Transaction is created with
// is fulfilling it. Transaction is created with // a `Payee` and `Amount` types
// a `Payee` and `Amount` types $transaction = new Transaction();
$transaction = new Transaction(); $transaction->setAmount($amount);
$transaction->setAmount($amount); $transaction->setDescription("This is the payment description.");
$transaction->setDescription("This is the payment description.");
// ### Payment
// ### Payment // A Payment Resource; create one using
// A Payment Resource; create one using // the above types and intent as 'sale'
// the above types and intent as 'sale' $payment = new Payment();
$payment = new Payment(); $payment->setIntent("sale");
$payment->setIntent("sale"); $payment->setPayer($payer);
$payment->setPayer($payer); $payment->setTransactions(array($transaction));
$payment->setTransactions(array($transaction));
// ### Api Context
// Pass in a `ApiContext` object to authenticate // ### Create Payment
// the call and to send a unique request id // Create a payment by posting to the APIService
// (that ensures idempotency). The SDK generates // using a valid ApiContext (See bootstrap.php for more on `ApiContext`)
// a request id if you do not pass one explicitly. // The return object contains the status;
$apiContext = new ApiContext($cred, 'Request' . time()); try {
$payment->create($apiContext);
// ### Create Payment } catch (\PPConnectionException $ex) {
// Create a payment by posting to the APIService echo "Exception: " . $ex->getMessage() . PHP_EOL;
// using a valid ApiContext var_dump($ex->getData());
// The return object contains the status; exit(1);
try { }
$payment->create($apiContext); ?>
} catch (\PPConnectionException $ex) { <html>
echo "Exception: " . $ex->getMessage() . PHP_EOL; <body>
var_dump($ex->getData()); <div>
exit(1); Created payment:
} <?php echo $payment->getId();?>
?> </div>
<html> <pre><?php var_dump($payment->toArray());?></pre>
<body> <a href='../index.html'>Back</a>
<div> </body>
Created payment: </html>
<?php echo $payment->getId();?>
</div>
<pre><?php var_dump($payment->toArray());?></pre>
<a href='../index.html'>Back</a>
</body>
</html>

View File

@@ -1,93 +1,86 @@
<?php <?php
// # Create Payment using PayPal as payment method // # Create Payment using PayPal as payment method
// This sample code demonstrates how you can process a // This sample code demonstrates how you can process a
// PayPal Account based Payment. // PayPal Account based Payment.
// 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\Address;
use PayPal\Api\Amount; use PayPal\Api\Amount;
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\RedirectUrls; use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction; use PayPal\Api\Transaction;
use PayPal\Rest\ApiContext; session_start();
session_start();
// ### Payer
// ### Payer // A resource representing a Payer that funds a payment
// A resource representing a Payer that funds a payment // Use the List of `FundingInstrument` and the Payment Method
// Use the List of `FundingInstrument` and the Payment Method // as 'credit_card'
// as 'credit_card' $payer = new Payer();
$payer = new Payer(); $payer->setPayment_method("paypal");
$payer->setPayment_method("paypal");
// ### Amount
// ### Amount // Let's you specify a payment amount.
// Let's you specify a payment amount. $amount = new Amount();
$amount = new Amount(); $amount->setCurrency("USD");
$amount->setCurrency("USD"); $amount->setTotal("1.00");
$amount->setTotal("1.00");
// ### Transaction
// ### Transaction // A transaction defines the contract of a
// 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. Transaction is created with
// is fulfilling it. Transaction is created with // a `Payee` and `Amount` types
// a `Payee` and `Amount` types $transaction = new Transaction();
$transaction = new Transaction(); $transaction->setAmount($amount);
$transaction->setAmount($amount); $transaction->setDescription("This is the payment description.");
$transaction->setDescription("This is the payment description.");
// ### Redirect urls
// ### Redirect urls // Set the urls that the buyer must be redirected to after
// Set the urls that the buyer must be redirected to after // payment approval/ cancellation.
// payment approval/ cancellation. $baseUrl = getBaseUrl();
$baseUrl = getBaseUrl(); $redirectUrls = new RedirectUrls();
$redirectUrls = new RedirectUrls(); $redirectUrls->setReturn_url("$baseUrl/ExecutePayment.php?success=true");
$redirectUrls->setReturn_url("$baseUrl/ExecutePayment.php?success=true"); $redirectUrls->setCancel_url("$baseUrl/ExecutePayment.php?success=false");
$redirectUrls->setCancel_url("$baseUrl/ExecutePayment.php?success=false");
// ### Payment
// ### Payment // A Payment Resource; create one using
// A Payment Resource; create one using // the above types and intent as 'sale'
// the above types and intent as 'sale' $payment = new Payment();
$payment = new Payment(); $payment->setIntent("sale");
$payment->setIntent("sale"); $payment->setPayer($payer);
$payment->setPayer($payer); $payment->setRedirect_urls($redirectUrls);
$payment->setRedirect_urls($redirectUrls); $payment->setTransactions(array($transaction));
$payment->setTransactions(array($transaction));
// ### Create Payment
// ### Api Context // Create a payment by posting to the APIService
// Pass in a `ApiContext` object to authenticate // using a valid apiContext.
// the call and to send a unique request id // (See bootstrap.php for more on `ApiContext`)
// (that ensures idempotency). The SDK generates // The return object contains the status and the
// a request id if you do not pass one explicitly. // url to which the buyer must be redirected to
$apiContext = new ApiContext($cred, 'Request' . time()); // for payment approval
try {
// ### Create Payment $payment->create($apiContext);
// Create a payment by posting to the APIService } catch (\PPConnectionException $ex) {
// using a valid apiContext echo "Exception: " . $ex->getMessage() . PHP_EOL;
// The return object contains the status and the var_dump($ex->getData());
// url to which the buyer must be redirected to exit(1);
// for payment approval }
try {
$payment->create($apiContext); // ### Redirect buyer to paypal
} catch (\PPConnectionException $ex) { // Retrieve buyer approval url from the `payment` object.
echo "Exception: " . $ex->getMessage() . PHP_EOL; foreach($payment->getLinks() as $link) {
var_dump($ex->getData()); if($link->getRel() == 'approval_url') {
exit(1); $redirectUrl = $link->getHref();
} }
}
// ### Redirect buyer to paypal // It is not really a great idea to store the payment id
// Retrieve buyer approval url from the `payment` object. // in the session. In a real world app, please store the
foreach($payment->getLinks() as $link) { // payment id in a database.
if($link->getRel() == 'approval_url') { $_SESSION['paymentId'] = $payment->getId();
$redirectUrl = $link->getHref(); if(isset($redirectUrl)) {
} header("Location: $redirectUrl");
} exit;
// It is not really a great idea to store the payment id }
// in the session. In a real world app, please store the
// payment id in a database.
$_SESSION['paymentId'] = $payment->getId();
if(isset($redirectUrl)) {
header("Location: $redirectUrl");
exit;
}

View File

@@ -1,96 +1,88 @@
<?php <?php
// # Create payment using a saved credit card // # Create payment using a saved credit card
// This sample code demonstrates how you can process a // This sample code demonstrates how you can process a
// Payment using a previously saved credit card. // Payment using a previously saved credit card.
// 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\Address;
use PayPal\Api\Amount; use PayPal\Api\Amount;
use PayPal\Api\CreditCard; use PayPal\Api\CreditCard;
use PayPal\Api\CreditCardToken; use PayPal\Api\CreditCardToken;
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\RedirectUrls; use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction; use PayPal\Api\Transaction;
use PayPal\Auth\OAuthTokenCredential; use PayPal\Auth\OAuthTokenCredential;
use PayPal\Rest\ApiContext;
// ### Credit card token
// ### Credit card token // Saved credit card id from a previous call to
// Saved credit card id from a previous call to // CreateCreditCard.php
// CreateCreditCard.php $creditCardId = 'CARD-5BT058015C739554AKE2GCEI';
$creditCardId = 'CARD-5BT058015C739554AKE2GCEI'; $creditCardToken = new CreditCardToken();
$creditCardToken = new CreditCardToken(); $creditCardToken->setCredit_card_id($creditCardId);
$creditCardToken->setCredit_card_id($creditCardId);
// ### FundingInstrument
// ### FundingInstrument // A resource representing a Payer's funding instrument.
// A resource representing a Payer's funding instrument. // Use a Payer ID (A unique identifier of the payer generated
// Use a Payer ID (A unique identifier of the payer generated // and provided by the facilitator. This is required when
// and provided by the facilitator. This is required when // creating or using a tokenized funding instrument)
// creating or using a tokenized funding instrument) // and the `CreditCardDetails`
// and the `CreditCardDetails` $fi = new FundingInstrument();
$fi = new FundingInstrument(); $fi->setCredit_card_token($creditCardToken);
$fi->setCredit_card_token($creditCardToken);
// ### Payer
// ### Payer // A resource representing a Payer that funds a payment
// A resource representing a Payer that funds a payment // Use the List of `FundingInstrument` and the Payment Method
// Use the List of `FundingInstrument` and the Payment Method // as 'credit_card'
// as 'credit_card' $payer = new Payer();
$payer = new Payer(); $payer->setPayment_method("credit_card");
$payer->setPayment_method("credit_card"); $payer->setFunding_instruments(array($fi));
$payer->setFunding_instruments(array($fi));
// ### Amount
// ### Amount // Let's you specify a payment amount.
// Let's you specify a payment amount. $amount = new Amount();
$amount = new Amount(); $amount->setCurrency("USD");
$amount->setCurrency("USD"); $amount->setTotal("1.00");
$amount->setTotal("1.00");
// ### Transaction
// ### Transaction // A transaction defines the contract of a
// 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. Transaction is created with
// is fulfilling it. Transaction is created with // a `Payee` and `Amount` types
// a `Payee` and `Amount` types $transaction = new Transaction();
$transaction = new Transaction(); $transaction->setAmount($amount);
$transaction->setAmount($amount); $transaction->setDescription("This is the payment description.");
$transaction->setDescription("This is the payment description.");
// ### Payment
// ### Payment // A Payment Resource; create one using
// A Payment Resource; create one using // the above types and intent as 'sale'
// the above types and intent as 'sale' $payment = new Payment();
$payment = new Payment(); $payment->setIntent("sale");
$payment->setIntent("sale"); $payment->setPayer($payer);
$payment->setPayer($payer); $payment->setTransactions(array($transaction));
$payment->setTransactions(array($transaction));
// ###Create Payment
// ### Api Context // Create a payment by posting to the APIService
// Pass in a `ApiContext` object to authenticate // (See bootstrap.php for more on `ApiContext`)
// the call and to send a unique request id // The return object contains the status;
// (that ensures idempotency). The SDK generates try {
// a request id if you do not pass one explicitly. $payment->create($apiContext);
$apiContext = new ApiContext($cred, 'Request' . time()); } catch (\PPConnectionException $ex) {
echo "Exception: " . $ex->getMessage() . PHP_EOL;
// ###Create Payment var_dump($ex->getData());
// Create a payment by posting to the APIService exit(1);
// using a valid apiContext }
// The return object contains the status; ?>
try { <html>
$payment->create($apiContext); <body>
} catch (\PPConnectionException $ex) { <div>
echo "Exception: " . $ex->getMessage() . PHP_EOL; Created payment:
var_dump($ex->getData()); <?php echo $payment->getId();?>
exit(1); </div>
} <pre><?php var_dump($payment->toArray());?></pre>
?> <a href='../index.html'>Back</a>
<html> </body>
<body>
<div>
Created payment:
<?php echo $payment->getId();?>
</div>
<pre><?php var_dump($payment->toArray());?></pre>
<a href='../index.html'>Back</a>
</body>
</html> </html>

View File

@@ -1,47 +1,40 @@
<?php <?php
// #Execute Payment Sample // #Execute Payment Sample
// This sample shows how you can complete // This sample shows how you can complete
// a payment that has been approved by // a payment that has been approved by
// the buyer by logging into paypal site. // the buyer by logging into paypal site.
// You can optionally update transaction // You can optionally update transaction
// information by passing in one or more transactions. // information by passing in one or more transactions.
// API used: POST '/v1/payments/payment/<payment-id>/execute'. // API used: POST '/v1/payments/payment/<payment-id>/execute'.
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\ExecutePayment; use PayPal\Api\ExecutePayment;
use PayPal\Api\Payment; use PayPal\Api\Payment;
use PayPal\Api\PaymentExecution; use PayPal\Api\PaymentExecution;
use PayPal\Rest\ApiContext; session_start();
session_start(); if(isset($_GET['success']) && $_GET['success'] == 'true') {
if(isset($_GET['success']) && $_GET['success'] == 'true') { // Get the payment Object by passing paymentId
// ### Api Context // payment id was previously stored in session in
// Pass in a `ApiContext` object to authenticate // CreatePaymentUsingPayPal.php
// the call and to send a unique request id $paymentId = $_SESSION['paymentId'];
// (that ensures idempotency). The SDK generates $payment = Payment::get($paymentId, $apiContext);
// a request id if you do not pass one explicitly.
$apiContext = new ApiContext($cred); // PaymentExecution object includes information necessary
// to execute a PayPal account payment.
// Get the payment Object by passing paymentId // The payer_id is added to the request query parameters
// payment id was previously stored in session in // when the user is redirected from paypal back to your site
// CreatePaymentUsingPayPal.php $execution = new PaymentExecution();
$paymentId = $_SESSION['paymentId']; $execution->setPayer_id($_GET['PayerID']);
$payment = Payment::get($paymentId);
//Execute the payment
// PaymentExecution object includes information necessary // (See bootstrap.php for more on `ApiContext`)
// to execute a PayPal account payment. $payment->execute($execution, $apiContext);
// The payer_id is added to the request query parameters
// when the user is redirected from paypal back to your site echo "<html><body><pre>";
$execution = new PaymentExecution(); var_dump($payment->toArray());
$execution->setPayer_id($_GET['PayerID']); echo "</pre><a href='../index.html'>Back</a></body></html>";
//Execute the payment } else {
$payment->execute($execution, $apiContext); echo "User cancelled payment.";
echo "<html><body><pre>";
var_dump($payment->toArray());
echo "</pre><a href='../index.html'>Back</a></body></html>";
} else {
echo "User cancelled payment.";
} }

View File

@@ -1,39 +1,36 @@
<?php <?php
// # GetPaymentSample // # GetPaymentSample
// This sample code demonstrate how you can // This sample code demonstrate how you can
// retrieve a list of all Payment resources // retrieve a list of all Payment resources
// you've created using the Payments API. // you've created using the Payments API.
// Note various query parameters that you can // Note various query parameters that you can
// use to filter, and paginate through the // use to filter, and paginate through the
// payments list. // payments list.
// API used: GET /v1/payments/payments // API used: GET /v1/payments/payments
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Payment; use PayPal\Api\Payment;
$paymentId = "PAY-0XL713371A312273YKE2GCNI"; $paymentId = "PAY-0XL713371A312273YKE2GCNI";
// ### Authentication // ### Retrieve payment
// Pass in a `OAuthTokenCredential` object // Retrieve the payment object by calling the
// explicilty to authenticate the call. // static `get` method
Payment::setCredential($cred); // on the Payment class by passing a valid
// ### Retrieve payment // Payment ID
// Retrieve the payment object by calling the // (See bootstrap.php for more on `ApiContext`)
// static `get` method try {
// on the Payment class by passing a valid $payment = Payment::get($paymentId, $apiContext);
// Payment ID } catch (\PPConnectionException $ex) {
try { echo "Exception:" . $ex->getMessage() . PHP_EOL;
$payment = Payment::get($paymentId); var_dump($ex->getData());
} catch (\PPConnectionException $ex) { exit(1);
echo "Exception:" . $ex->getMessage() . PHP_EOL; }
var_dump($ex->getData()); ?>
exit(1); <html>
} <body>
?> <div>Retrieving Payment ID: <?php echo $paymentId;?></div>
<html> <pre><?php var_dump($payment->toArray());?></pre>
<body> <a href='../index.html'>Back</a>
<div>Retrieving Payment ID: <?php echo $paymentId;?></div> </body>
<pre><?php var_dump($payment->toArray());?></pre>
<a href='../index.html'>Back</a>
</body>
</html> </html>

View File

@@ -1,42 +1,37 @@
<?php <?php
// #GetPaymentList // #GetPaymentList
// This sample code demonstrate how you can // This sample code demonstrate how you can
// retrieve a list of all Payment resources // retrieve a list of all Payment resources
// you've created using the Payments API. // you've created using the Payments API.
// Note various query parameters that you can // Note various query parameters that you can
// use to filter, and paginate through the // use to filter, and paginate through the
// payments list. // payments list.
// API used: GET /v1/payments/payments // API used: GET /v1/payments/payments
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Payment; use PayPal\Api\Payment;
// ### Authentication
// Pass in a `OAuthTokenCredential` object // ### Retrieve payment
// explicilty to authenticate the call. // Retrieve the PaymentHistory object by calling the
// If you skip this step, the client id/secret // static `get` method on the Payment class,
// set in the config file will be used. // and pass a Map object that contains
Payment::setCredential($cred); // query parameters for paginations and filtering.
// Refer the method doc for valid values for keys
// ### Retrieve payment // (See bootstrap.php for more on `ApiContext`)
// Retrieve the PaymentHistory object by calling the try {
// static `get` method on the Payment class, $payments = Payment::all(array('count' => 10, 'start_index' => 5), $apiContext);
// and pass a Map object that contains } catch (\PPConnectionException $ex) {
// query parameters for paginations and filtering. echo "Exception:" . $ex->getMessage() . PHP_EOL;
// Refer the method doc for valid values for keys var_dump($ex->getData());
try { exit(1);
$payments = Payment::all(array('count' => 10, 'start_index' => 5)); }
} catch (\PPConnectionException $ex) { ?>
echo "Exception:" . $ex->getMessage() . PHP_EOL; <html>
var_dump($ex->getData()); <body>
exit(1); <div>Got <?php echo $payments->getCount(); ?> matching payments </div>
} <pre><?php var_dump($payments->toArray());?></pre>
?> <a href='../index.html'>Back</a>
<html> </body>
<body> </html>
<div>Got <?php echo $payments->getCount(); ?> matching payments </div>
<pre><?php var_dump($payments->toArray());?></pre>
<a href='../index.html'>Back</a>
</body>
</html>

View File

@@ -1,35 +1,30 @@
<?php <?php
// # Get Sale sample // # Get Sale sample
// This sample code demonstrates how you can retrieve // This sample code demonstrates how you can retrieve
// details of completed Sale Transaction. // details of completed Sale Transaction.
// API used: /v1/payments/sale/{sale-id} // API used: /v1/payments/sale/{sale-id}
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Sale; use PayPal\Api\Sale;
$saleId = '3RM92092UW5126232'; $saleId = '3RM92092UW5126232';
// ### Authentication
// Pass in a `OAuthTokenCredential` object try {
// explicilty to authenticate the call. // ### Retrieve the sale object
// If you skip this step, the client id/secret // Pass the ID of the sale
// set in the config file will be used. // transaction from your payment resource.
Sale::setCredential($cred); $sale = Sale::get($saleId, $apiContext);
try { } catch (\PPConnectionException $ex) {
// ### Retrieve the sale object echo "Exception:" . $ex->getMessage() . PHP_EOL;
// Pass the ID of the sale var_dump($ex->getData());
// transaction from your payment resource. exit(1);
$sale = Sale::get($saleId); }
} catch (\PPConnectionException $ex) { ?>
echo "Exception:" . $ex->getMessage() . PHP_EOL; <html>
var_dump($ex->getData()); <body>
exit(1); <div>Retrieving sale id: <?php echo $saleId;?></div>
} <pre><?php var_dump($sale);?></pre>
?> <a href='../index.html'>Back</a>
<html> </body>
<body>
<div>Retrieving sale id: <?php echo $saleId;?></div>
<pre><?php var_dump($sale);?></pre>
<a href='../index.html'>Back</a>
</body>
</html> </html>

View File

@@ -1,55 +1,49 @@
<?php <?php
// # Sale Refund Sample // # Sale Refund Sample
// This sample code demonstrate how you can // This sample code demonstrate how you can
// process a refund on a sale transaction created // process a refund on a sale transaction created
// using the Payments API. // using the Payments API.
// API used: /v1/payments/sale/{sale-id}/refund // API used: /v1/payments/sale/{sale-id}/refund
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Amount; use PayPal\Api\Amount;
use PayPal\Api\Refund; use PayPal\Api\Refund;
use PayPal\Api\Sale; use PayPal\Api\Sale;
use PayPal\Rest\ApiContext;
// ### Refund
// ### Refund // Create a refund object indicating
// Create a refund object indicating // refund amount
// refund amount $amt = new Amount();
$amt = new Amount(); $amt->setCurrency('USD');
$amt->setCurrency('USD'); $amt->setTotal('0.01');
$amt->setTotal('0.01');
$refund = new Refund();
$refund = new Refund(); $refund->setAmount($amt);
$refund->setAmount($amt);
$saleId = '3RM92092UW5126232';
$saleId = '3RM92092UW5126232';
// ###Sale
// ###Sale // A sale transaction.
// A sale transaction. // Create a Sale object with the
// Create a Sale object with the // given sale transaction id.
// given sale transaction id. $sale = new Sale();
$sale = new Sale(); $sale->setId($saleId);
$sale->setId($saleId);
try {
// ### Api Context // Refund the sale
// Pass in a `ApiContext` object to authenticate // (See bootstrap.php for more on `ApiContext`)
// the call and to send a unique request id $sale->refund($refund, $apiContext);
// (that ensures idempotency). The SDK generates } catch (\PPConnectionException $ex) {
// a request id if you do not pass one explicitly. echo "Exception:" . $ex->getMessage() . PHP_EOL;
$apiContext = new ApiContext($cred, 'Request' . time()); var_dump($ex->getData());
try { exit(1);
// Refund the sale }
$sale->refund($refund, $apiContext); ?>
} catch (\PPConnectionException $ex) { <html>
echo "Exception:" . $ex->getMessage() . PHP_EOL; <body>
var_dump($ex->getData()); <div>Refunding sale id: <?php echo $saleId;?></div>
exit(1); <pre><?php var_dump($sale);?></pre>
} <a href='../index.html'>Back</a>
?> </body>
<html>
<body>
<div>Refunding sale id: <?php echo $saleId;?></div>
<pre><?php var_dump($sale);?></pre>
<a href='../index.html'>Back</a>
</body>
</html> </html>

View File

@@ -1,35 +1,26 @@
;Account credentials from developer portal ;Connection Information
[Account] [Http]
acct1.ClientId = EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM http.ConnectionTimeOut = 30
acct1.ClientSecret = EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM http.Retry = 1
;http.Proxy=http://[username:password]@hostname[:port][/path]
;Connection Information
[Http] ;Service Configuration
http.ConnectionTimeOut = 30 [Service]
http.Retry = 1 mode=sandbox ; can be set to sandbox / live
;http.Proxy=http://[username:password]@hostname[:port][/path]
;Logging Information
[Log]
;Service Configuration
[Service] log.LogEnabled=true
service.EndPoint="https://api.sandbox.paypal.com"
; Uncomment this line for integrating with the live endpoint # When using a relative path, the log file is created
; service.EndPoint="https://api.paypal.com" # relative to the .php file that is the entry point
# for this request. You can also provide an absolute
# path here
;Logging Information log.FileName=../PayPal.log
[Log]
# Logging level can be one of FINE, INFO, WARN or ERROR
log.LogEnabled=true # Logging is most verbose in the 'FINE' level and
# decreases as you proceed towards ERROR
# When using a relative path, the log file is created
# relative to the .php file that is the entry point
# for this request. You can also provide an absolute
# path here
log.FileName=../PayPal.log
# Logging level can be one of FINE, INFO, WARN or ERROR
# Logging is most verbose in the 'FINE' level and
# decreases as you proceed towards ERROR
log.LogLevel=FINE log.LogLevel=FINE

View File

@@ -7,42 +7,36 @@ a payment in the future.
The following code demonstrates how The following code demonstrates how
can save a Credit Card on PayPal using can save a Credit Card on PayPal using
the Vault API. the Vault API.
API used: POST /v1/vault/credit-card</p></div></div><div class="code"><div class="wrapper"><span class="k">use</span> <span class="nx">PayPal\Rest\ApiContext</span><span class="p">;</span> API used: POST /v1/vault/credit-card</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\CreditCard</span><span class="p">;</span>
<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\CreditCard</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Address</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="creditcard">CreditCard</h3> <span class="k">use</span> <span class="nx">PayPal\Api\Address</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><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>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setType</span><span class="p">(</span><span class="s2">&quot;visa&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setType</span><span class="p">(</span><span class="s2">&quot;visa&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setNumber</span><span class="p">(</span><span class="s2">&quot;4417119669820331&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setNumber</span><span class="p">(</span><span class="s2">&quot;4417119669820331&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_month</span><span class="p">(</span><span class="s2">&quot;11&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_month</span><span class="p">(</span><span class="s2">&quot;11&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_year</span><span class="p">(</span><span class="s2">&quot;2019&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_year</span><span class="p">(</span><span class="s2">&quot;2019&quot;</span><span class="p">);</span>
<span class="nv">$card</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="nv">$card</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="nv">$card</span><span class="o">-&gt;</span><span class="na">setFirst_name</span><span class="p">(</span><span class="s2">&quot;Joe&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setFirst_name</span><span class="p">(</span><span class="s2">&quot;Joe&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setLast_name</span><span class="p">(</span><span class="s2">&quot;Shopper&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="api-context">Api Context</h3> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setLast_name</span><span class="p">(</span><span class="s2">&quot;Shopper&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="save-card">Save card</h3>
<p>Pass in a <code>ApiContext</code> object to authenticate
the call and to send a unique request id
(that ensures idempotency). The SDK generates
a request id if you do not pass one explicitly. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$apiContext</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ApiContext</span><span class="p">(</span><span class="nv">$cred</span><span class="p">,</span> <span class="s1">&#39;Request&#39;</span> <span class="o">.</span> <span class="nb">time</span><span class="p">());</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><h3 id="save-card">Save card</h3>
<p>Creates the credit card as a resource <p>Creates the credit card as a resource
in the PayPal vault. The response contains in the PayPal vault. The response contains
an 'id' that you can use to refer to it an 'id' that you can use to refer to it
in the future payments.</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span> in the future payments.
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">create</span><span class="p">();</span> (See bootstrap.php for more on <code>ApiContext</code>)</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span>
<span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">create</span><span class="p">(</span><span class="nv">$apiContext</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="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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">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">exit</span><span class="p">(</span><span class="mi">1</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="p">}</span> <span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="p">}</span>
<span class="x">&lt;html&gt;</span> <span class="cp">?&gt;</span><span class="x"></span>
<span class="x">&lt;body&gt;</span> <span class="x">&lt;html&gt;</span>
<span class="x"> &lt;div&gt;Saved a new credit card with id: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span> <span class="x">&lt;body&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span> <span class="x"> &lt;div&gt;Saved a new credit card with id: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x">&lt;/body&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -2,89 +2,83 @@
<p>This sample code demonstrate how you can process <p>This sample code demonstrate how you can process
a payment with a credit card. a payment with a credit card.
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\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\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> <span class="k">use</span> <span class="nx">PayPal\Api\Transaction</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="address">Address</h3>
<span class="k">use</span> <span class="nx">PayPal\Rest\ApiContext</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="address">Address</h3>
<p>Base Address object used as shipping or billing <p>Base Address object used as shipping or billing
address in a payment. [Optional]</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> address in a payment. [Optional]</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="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="nv">$addr</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="nv">$addr</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="nv">$addr</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="nv">$addr</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="nv">$addr</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="nv">$addr</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="nv">$addr</span><span class="o">-&gt;</span><span class="na">setPostal_code</span><span class="p">(</span><span class="s2">&quot;14305&quot;</span><span class="p">);</span> <span class="nv">$addr</span><span class="o">-&gt;</span><span class="na">setPostal_code</span><span class="p">(</span><span class="s2">&quot;14305&quot;</span><span class="p">);</span>
<span class="nv">$addr</span><span class="o">-&gt;</span><span class="na">setCountry_code</span><span class="p">(</span><span class="s2">&quot;US&quot;</span><span class="p">);</span> <span class="nv">$addr</span><span class="o">-&gt;</span><span class="na">setCountry_code</span><span class="p">(</span><span class="s2">&quot;US&quot;</span><span class="p">);</span>
<span class="nv">$addr</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"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="creditcard">CreditCard</h3> <span class="nv">$addr</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"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><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>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setType</span><span class="p">(</span><span class="s2">&quot;visa&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setType</span><span class="p">(</span><span class="s2">&quot;visa&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setNumber</span><span class="p">(</span><span class="s2">&quot;4417119669820331&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setNumber</span><span class="p">(</span><span class="s2">&quot;4417119669820331&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_month</span><span class="p">(</span><span class="s2">&quot;11&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_month</span><span class="p">(</span><span class="s2">&quot;11&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_year</span><span class="p">(</span><span class="s2">&quot;2019&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setExpire_year</span><span class="p">(</span><span class="s2">&quot;2019&quot;</span><span class="p">);</span>
<span class="nv">$card</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="nv">$card</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="nv">$card</span><span class="o">-&gt;</span><span class="na">setFirst_name</span><span class="p">(</span><span class="s2">&quot;Joe&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setFirst_name</span><span class="p">(</span><span class="s2">&quot;Joe&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setLast_name</span><span class="p">(</span><span class="s2">&quot;Shopper&quot;</span><span class="p">);</span> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setLast_name</span><span class="p">(</span><span class="s2">&quot;Shopper&quot;</span><span class="p">);</span>
<span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setBilling_address</span><span class="p">(</span><span class="nv">$addr</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><h3 id="fundinginstrument">FundingInstrument</h3> <span class="nv">$card</span><span class="o">-&gt;</span><span class="na">setBilling_address</span><span class="p">(</span><span class="nv">$addr</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><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.
Use a Payer ID (A unique identifier of the payer generated Use a Payer ID (A unique identifier of the payer generated
and provided by the facilitator. This is required when and provided by the facilitator. This is required when
creating or using a tokenized funding instrument) creating or using a tokenized funding instrument)
and the <code>CreditCardDetails</code></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> and the <code>CreditCardDetails</code></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">setCredit_card</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><div class="wrapper"><h3 id="payer">Payer</h3> <span class="nv">$fi</span><span class="o">-&gt;</span><span class="na">setCredit_card</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><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
Use the List of <code>FundingInstrument</code> and the Payment Method Use the List of <code>FundingInstrument</code> and the Payment Method
as '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> as '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">setPayment_method</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">setPayment_method</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">setFunding_instruments</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"><a id="segment-6" name="segment-6" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-6" class="pilcrow"></a></div><div class="wrapper"><h3 id="amount">Amount</h3> <span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setFunding_instruments</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"><a id="segment-6" name="segment-6" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-6" class="pilcrow"></a></div><div class="wrapper"><h3 id="amount">Amount</h3>
<p>Let's you specify a payment amount.</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> <p>Let's you specify a payment amount.</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="nv">$amount</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"><a id="segment-7" name="segment-7" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-7" class="pilcrow"></a></div><div class="wrapper"><h3 id="transaction">Transaction</h3> <span class="nv">$amount</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"><a id="segment-7" name="segment-7" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-7" class="pilcrow"></a></div><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. Transaction is created with is fulfilling it. Transaction is created with
a <code>Payee</code> and <code>Amount</code> types</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> a <code>Payee</code> and <code>Amount</code> types</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="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;This is the payment description.&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-8" name="segment-8" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-8" class="pilcrow"></a></div><div class="wrapper"><h3 id="payment">Payment</h3> <span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;This is the payment description.&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-8" name="segment-8" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-8" class="pilcrow"></a></div><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 as '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 as '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="nv">$payment</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="nv">$payment</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="nv">$payment</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"><a id="segment-9" name="segment-9" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-9" class="pilcrow"></a></div><div class="wrapper"><h3 id="api-context">Api Context</h3> <span class="nv">$payment</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"><a id="segment-9" name="segment-9" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-9" class="pilcrow"></a></div><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Pass in a <code>ApiContext</code> object to authenticate
the call and to send a unique request id
(that ensures idempotency). The SDK generates
a request id if you do not pass one explicitly. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$apiContext</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ApiContext</span><span class="p">(</span><span class="nv">$cred</span><span class="p">,</span> <span class="s1">&#39;Request&#39;</span> <span class="o">.</span> <span class="nb">time</span><span class="p">());</span></div></div></div><div class="segment"><a id="segment-10" name="segment-10" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-10" class="pilcrow"></a></div><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Create a payment by posting to the APIService <p>Create a payment by posting to the APIService
using a valid ApiContext using a valid ApiContext (See bootstrap.php for more on <code>ApiContext</code>)
The return object contains the status;</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span> The return object contains the status;</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">-&gt;</span><span class="na">create</span><span class="p">(</span><span class="nv">$apiContext</span><span class="p">);</span> <span class="nv">$payment</span><span class="o">-&gt;</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">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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="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="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</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> <span class="p">}</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="cp">?&gt;</span><span class="x"></span>
<span class="x">&lt;html&gt;</span> <span class="x">&lt;html&gt;</span>
<span class="x">&lt;body&gt;</span> <span class="x">&lt;body&gt;</span>
<span class="x"> &lt;div&gt;</span> <span class="x"> &lt;div&gt;</span>
<span class="x"> Created payment:</span> <span class="x"> Created payment:</span>
<span class="x"> </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span><span class="cp">?&gt;</span><span class="x"></span> <span class="x"> </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span><span class="cp">?&gt;</span><span class="x"></span>
<span class="x"> &lt;/div&gt;</span> <span class="x"> &lt;/div&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span> <span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -2,71 +2,66 @@
<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\Address</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\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\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="k">use</span> <span class="nx">PayPal\Rest\ApiContext</span><span class="p">;</span>
<span class="nb">session_start</span><span class="p">();</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="payer">Payer</h3> <span class="nb">session_start</span><span class="p">();</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><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
Use the List of <code>FundingInstrument</code> and the Payment Method Use the List of <code>FundingInstrument</code> and the Payment Method
as '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> as '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">setPayment_method</span><span class="p">(</span><span class="s2">&quot;paypal&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="amount">Amount</h3> <span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setPayment_method</span><span class="p">(</span><span class="s2">&quot;paypal&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="amount">Amount</h3>
<p>Let's you specify a payment amount.</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> <p>Let's you specify a payment amount.</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="nv">$amount</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"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><h3 id="transaction">Transaction</h3> <span class="nv">$amount</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"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><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. Transaction is created with is fulfilling it. Transaction is created with
a <code>Payee</code> and <code>Amount</code> types</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> a <code>Payee</code> and <code>Amount</code> types</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="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;This is the payment description.&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><div class="wrapper"><h3 id="redirect-urls">Redirect urls</h3> <span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;This is the payment description.&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><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">setReturn_url</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">setReturn_url</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">setCancel_url</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"><a id="segment-6" name="segment-6" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-6" class="pilcrow"></a></div><div class="wrapper"><h3 id="payment">Payment</h3> <span class="nv">$redirectUrls</span><span class="o">-&gt;</span><span class="na">setCancel_url</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"><a id="segment-6" name="segment-6" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-6" class="pilcrow"></a></div><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 as '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 as '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="nv">$payment</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="nv">$payment</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="nv">$payment</span><span class="o">-&gt;</span><span class="na">setRedirect_urls</span><span class="p">(</span><span class="nv">$redirectUrls</span><span class="p">);</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">setRedirect_urls</span><span class="p">(</span><span class="nv">$redirectUrls</span><span class="p">);</span>
<span class="nv">$payment</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"><a id="segment-7" name="segment-7" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-7" class="pilcrow"></a></div><div class="wrapper"><h3 id="api-context">Api Context</h3> <span class="nv">$payment</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"><a id="segment-7" name="segment-7" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-7" class="pilcrow"></a></div><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Pass in a <code>ApiContext</code> object to authenticate
the call and to send a unique request id
(that ensures idempotency). The SDK generates
a request id if you do not pass one explicitly. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$apiContext</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ApiContext</span><span class="p">(</span><span class="nv">$cred</span><span class="p">,</span> <span class="s1">&#39;Request&#39;</span> <span class="o">.</span> <span class="nb">time</span><span class="p">());</span></div></div></div><div class="segment"><a id="segment-8" name="segment-8" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-8" class="pilcrow"></a></div><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Create a payment by posting to the APIService <p>Create a payment by posting to the APIService
using a valid apiContext using a valid apiContext.
(See bootstrap.php for more on <code>ApiContext</code>)
The return object contains the status and the The return object contains the status and the
url to which the buyer must be redirected to url to which the buyer must be redirected to
for payment approval</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span> for payment approval</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">-&gt;</span><span class="na">create</span><span class="p">(</span><span class="nv">$apiContext</span><span class="p">);</span> <span class="nv">$payment</span><span class="o">-&gt;</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">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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="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"><a id="segment-9" name="segment-9" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-9" class="pilcrow"></a></div><div class="wrapper"><h3 id="redirect-buyer-to-paypal">Redirect buyer to paypal</h3> <span class="p">}</span></div></div></div><div class="segment"><a id="segment-8" name="segment-8" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-8" class="pilcrow"></a></div><div class="wrapper"><h3 id="redirect-buyer-to-paypal">Redirect buyer to paypal</h3>
<p>Retrieve buyer approval url from the <code>payment</code> object.</p></div></div><div class="code"><div class="wrapper"><span class="k">foreach</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getLinks</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$link</span><span class="p">)</span> <span class="p">{</span> <p>Retrieve buyer approval url from the <code>payment</code> object.</p></div></div><div class="code"><div class="wrapper"><span class="k">foreach</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getLinks</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$link</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="nv">$link</span><span class="o">-&gt;</span><span class="na">getRel</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;approval_url&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span><span class="p">(</span><span class="nv">$link</span><span class="o">-&gt;</span><span class="na">getRel</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;approval_url&#39;</span><span class="p">)</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="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="p">}</span> <span class="p">}</span>
<span class="p">}</span></div></div></div><div class="segment"><a id="segment-10" name="segment-10" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-10" class="pilcrow"></a></div><div class="wrapper"><p>It is not really a great idea to store the payment id <span class="p">}</span></div></div></div><div class="segment"><a id="segment-9" name="segment-9" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-9" class="pilcrow"></a></div><div class="wrapper"><p>It is not really a great idea to store the payment id
in the session. In a real world app, please store the in the session. In a real world app, please 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> 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>
<span class="nx">header</span><span class="p">(</span><span class="s2">&quot;Location: </span><span class="si">$redirectUrl</span><span class="s2">&quot;</span><span class="p">);</span> <span class="nx">header</span><span class="p">(</span><span class="s2">&quot;Location: </span><span class="si">$redirectUrl</span><span class="s2">&quot;</span><span class="p">);</span>
<span class="k">exit</span><span class="p">;</span> <span class="k">exit</span><span class="p">;</span>
<span class="p">}</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="p">}</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -2,76 +2,70 @@
<p>This sample code demonstrates how you can process a <p>This sample code demonstrates how you can process a
Payment using a previously saved credit card. Payment using a previously saved credit card.
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\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\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\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\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="k">use</span> <span class="nx">PayPal\Auth\OAuthTokenCredential</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Auth\OAuthTokenCredential</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="credit-card-token">Credit card token</h3>
<span class="k">use</span> <span class="nx">PayPal\Rest\ApiContext</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><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">$creditCardId</span> <span class="o">=</span> <span class="s1">&#39;CARD-5BT058015C739554AKE2GCEI&#39;</span><span class="p">;</span> CreateCreditCard.php</p></div></div><div class="code"><div class="wrapper"><span class="nv">$creditCardId</span> <span class="o">=</span> <span class="s1">&#39;CARD-5BT058015C739554AKE2GCEI&#39;</span><span class="p">;</span>
<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">=</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">setCredit_card_id</span><span class="p">(</span><span class="nv">$creditCardId</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="fundinginstrument">FundingInstrument</h3> <span class="nv">$creditCardToken</span><span class="o">-&gt;</span><span class="na">setCredit_card_id</span><span class="p">(</span><span class="nv">$creditCardId</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><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.
Use a Payer ID (A unique identifier of the payer generated Use a Payer ID (A unique identifier of the payer generated
and provided by the facilitator. This is required when and provided by the facilitator. This is required when
creating or using a tokenized funding instrument) creating or using a tokenized funding instrument)
and the <code>CreditCardDetails</code></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> and the <code>CreditCardDetails</code></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">setCredit_card_token</span><span class="p">(</span><span class="nv">$creditCardToken</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><h3 id="payer">Payer</h3> <span class="nv">$fi</span><span class="o">-&gt;</span><span class="na">setCredit_card_token</span><span class="p">(</span><span class="nv">$creditCardToken</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><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
Use the List of <code>FundingInstrument</code> and the Payment Method Use the List of <code>FundingInstrument</code> and the Payment Method
as '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> as '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">setPayment_method</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">setPayment_method</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">setFunding_instruments</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"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><div class="wrapper"><h3 id="amount">Amount</h3> <span class="nv">$payer</span><span class="o">-&gt;</span><span class="na">setFunding_instruments</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"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><div class="wrapper"><h3 id="amount">Amount</h3>
<p>Let's you specify a payment amount.</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> <p>Let's you specify a payment amount.</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="nv">$amount</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"><a id="segment-6" name="segment-6" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-6" class="pilcrow"></a></div><div class="wrapper"><h3 id="transaction">Transaction</h3> <span class="nv">$amount</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"><a id="segment-6" name="segment-6" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-6" class="pilcrow"></a></div><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. Transaction is created with is fulfilling it. Transaction is created with
a <code>Payee</code> and <code>Amount</code> types</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> a <code>Payee</code> and <code>Amount</code> types</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="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;This is the payment description.&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-7" name="segment-7" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-7" class="pilcrow"></a></div><div class="wrapper"><h3 id="payment">Payment</h3> <span class="nv">$transaction</span><span class="o">-&gt;</span><span class="na">setDescription</span><span class="p">(</span><span class="s2">&quot;This is the payment description.&quot;</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-7" name="segment-7" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-7" class="pilcrow"></a></div><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 as '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 as '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="nv">$payment</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="nv">$payment</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="nv">$payment</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"><a id="segment-8" name="segment-8" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-8" class="pilcrow"></a></div><div class="wrapper"><h3 id="api-context">Api Context</h3> <span class="nv">$payment</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"><a id="segment-8" name="segment-8" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-8" class="pilcrow"></a></div><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Pass in a <code>ApiContext</code> object to authenticate
the call and to send a unique request id
(that ensures idempotency). The SDK generates
a request id if you do not pass one explicitly.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$apiContext</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ApiContext</span><span class="p">(</span><span class="nv">$cred</span><span class="p">,</span> <span class="s1">&#39;Request&#39;</span> <span class="o">.</span> <span class="nb">time</span><span class="p">());</span></div></div></div><div class="segment"><a id="segment-9" name="segment-9" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-9" class="pilcrow"></a></div><div class="wrapper"><h3 id="create-payment">Create Payment</h3>
<p>Create a payment by posting to the APIService <p>Create a payment by posting to the APIService
using a valid apiContext (See bootstrap.php for more on <code>ApiContext</code>)
The return object contains the status;</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span> The return object contains the status;</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">-&gt;</span><span class="na">create</span><span class="p">(</span><span class="nv">$apiContext</span><span class="p">);</span> <span class="nv">$payment</span><span class="o">-&gt;</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">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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="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> <span class="p">}</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="cp">?&gt;</span><span class="x"></span>
<span class="x">&lt;html&gt;</span> <span class="x">&lt;html&gt;</span>
<span class="x">&lt;body&gt;</span> <span class="x">&lt;body&gt;</span>
<span class="x"> &lt;div&gt;</span> <span class="x"> &lt;div&gt;</span>
<span class="x"> Created payment:</span> <span class="x"> Created payment:</span>
<span class="x"> </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span><span class="cp">?&gt;</span><span class="x"></span> <span class="x"> </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">getId</span><span class="p">();</span><span class="cp">?&gt;</span><span class="x"></span>
<span class="x"> &lt;/div&gt;</span> <span class="x"> &lt;/div&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span> <span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -5,36 +5,28 @@ a payment that has been approved by
the buyer by logging into paypal site. the buyer by logging into paypal site.
You can optionally update transaction You can optionally update transaction
information by passing in one or more transactions. information by passing in one or more transactions.
API used: POST '/v1/payments/payment/<payment-id>/execute'.</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: POST '/v1/payments/payment/<payment-id>/execute'.</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\ExecutePayment</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\ExecutePayment</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\PaymentExecution</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\PaymentExecution</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Rest\ApiContext</span><span class="p">;</span> <span class="nb">session_start</span><span class="p">();</span>
<span class="nb">session_start</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">$_GET</span><span class="p">[</span><span class="s1">&#39;success&#39;</span><span class="p">])</span> <span class="o">&amp;&amp;</span> <span class="nv">$_GET</span><span class="p">[</span><span class="s1">&#39;success&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span><span class="p">)</span> <span class="p">{</span>
</div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><p>Get the payment Object by passing paymentId
<span class="k">if</span><span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s1">&#39;success&#39;</span><span class="p">])</span> <span class="o">&amp;&amp;</span> <span class="nv">$_GET</span><span class="p">[</span><span class="s1">&#39;success&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span><span class="p">)</span> <span class="p">{</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="api-context">Api Context</h3>
<p>Pass in a <code>ApiContext</code> object to authenticate
the call and to send a unique request id
(that ensures idempotency). The SDK generates
a request id if you do not pass one explicitly. </p></div></div><div class="code"><div class="wrapper"> <span class="nv">$apiContext</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ApiContext</span><span class="p">(</span><span class="nv">$cred</span><span class="p">);</span>
</div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><p>Get the payment Object by passing paymentId
payment id was previously stored in session in payment id was previously stored in session in
CreatePaymentUsingPayPal.php</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$paymentId</span> <span class="o">=</span> <span class="nv">$_SESSION</span><span class="p">[</span><span class="s1">&#39;paymentId&#39;</span><span class="p">];</span> CreatePaymentUsingPayPal.php</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$paymentId</span> <span class="o">=</span> <span class="nv">$_SESSION</span><span class="p">[</span><span class="s1">&#39;paymentId&#39;</span><span class="p">];</span>
<span class="nv">$payment</span> <span class="o">=</span> <span class="nx">Payment</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$paymentId</span><span class="p">);</span> <span class="nv">$payment</span> <span class="o">=</span> <span class="nx">Payment</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$paymentId</span><span class="p">,</span> <span class="nv">$apiContext</span><span class="p">);</span>
</div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><p>PaymentExecution object includes information necessary </div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><p>PaymentExecution object includes information necessary
to execute a PayPal account payment. to execute a PayPal account payment.
The payer_id is added to the request query parameters The payer_id is added to the request query parameters
when the user is redirected from paypal back to your site</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$execution</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">PaymentExecution</span><span class="p">();</span> when the user is redirected from paypal back to your site</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$execution</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">PaymentExecution</span><span class="p">();</span>
<span class="nv">$execution</span><span class="o">-&gt;</span><span class="na">setPayer_id</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s1">&#39;PayerID&#39;</span><span class="p">]);</span> <span class="nv">$execution</span><span class="o">-&gt;</span><span class="na">setPayer_id</span><span class="p">(</span><span class="nv">$_GET</span><span class="p">[</span><span class="s1">&#39;PayerID&#39;</span><span class="p">]);</span>
<span class="c1">//Execute the payment</span> <span class="c1">//Execute the payment</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><p>(See bootstrap.php for more on <code>ApiContext</code>)</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">execute</span><span class="p">(</span><span class="nv">$execution</span><span class="p">,</span> <span class="nv">$apiContext</span><span class="p">);</span>
<span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">execute</span><span class="p">(</span><span class="nv">$execution</span><span class="p">,</span> <span class="nv">$apiContext</span><span class="p">);</span>
<span class="k">echo</span> <span class="s2">&quot;&lt;html&gt;&lt;body&gt;&lt;pre&gt;&quot;</span><span class="p">;</span>
<span class="k">echo</span> <span class="s2">&quot;&lt;html&gt;&lt;body&gt;&lt;pre&gt;&quot;</span><span class="p">;</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span>
<span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span> <span class="k">echo</span> <span class="s2">&quot;&lt;/pre&gt;&lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;&quot;</span><span class="p">;</span>
<span class="k">echo</span> <span class="s2">&quot;&lt;/pre&gt;&lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;&quot;</span><span class="p">;</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="k">echo</span> <span class="s2">&quot;User cancelled payment.&quot;</span><span class="p">;</span>
<span class="k">echo</span> <span class="s2">&quot;User cancelled payment.&quot;</span><span class="p">;</span>
<span class="p">}</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="p">}</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -5,27 +5,22 @@ retrieve previously saved CreditCards,
by sending a GET request to the URI by sending a GET request to the URI
'/v1/vault/credit-card' '/v1/vault/credit-card'
The following code takes you through The following code takes you through
the process of retrieving a saved CreditCard</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> the process of retrieving a saved CreditCard</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\CreditCard</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><p>The cardId can be obtained from a previous save credit <span class="k">use</span> <span class="nx">PayPal\Api\CreditCard</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><p>The cardId can be obtained from a previous save credit
card operation. Use $card->getId()</p></div></div><div class="code"><div class="wrapper"><span class="nv">$cardId</span> <span class="o">=</span> <span class="s2">&quot;CARD-5BT058015C739554AKE2GCEI&quot;</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="authentication">Authentication</h3> card operation. Use $card->getId()</p></div></div><div class="code"><div class="wrapper"><span class="nv">$cardId</span> <span class="o">=</span> <span class="s2">&quot;CARD-5BT058015C739554AKE2GCEI&quot;</span><span class="p">;</span>
<p>Pass in a <code>OAuthTokenCredential</code> object <span class="c1">/// ### Retrieve card</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><p>(See bootstrap.php for more on <code>ApiContext</code>)</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span>
explicilty to authenticate the call. <span class="nv">$card</span> <span class="o">=</span> <span class="nx">CreditCard</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$cardId</span><span class="p">,</span> <span class="nv">$apiContext</span><span class="p">);</span>
If you skip this step, the client id/secret <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span>
set in the config file will be used.</p></div></div><div class="code"><div class="wrapper"><span class="nx">CreditCard</span><span class="o">::</span><span class="na">setCredential</span><span class="p">(</span><span class="nv">$cred</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="c1">/// ### Retrieve card</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">try</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="nv">$card</span> <span class="o">=</span> <span class="nx">CreditCard</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$cardId</span><span class="p">);</span> <span class="p">}</span>
<span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="cp">?&gt;</span><span class="x"></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="x">&lt;html&gt;</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="x">&lt;body&gt;</span>
<span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="x"> &lt;div&gt;Retrieving credit card: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$cardId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span>
<span class="p">}</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;html&gt;</span> <span class="x">&lt;/body&gt;</span>
<span class="x">&lt;body&gt;</span>
<span class="x"> &lt;div&gt;Retrieving credit card: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$cardId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$card</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -6,29 +6,27 @@ you've created using the Payments API.
Note various query parameters that you can Note various query parameters that you can
use to filter, and paginate through the use to filter, and paginate through the
payments list. payments list.
API used: GET /v1/payments/payments</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: GET /v1/payments/payments</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\Payment</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span>
<span class="nv">$paymentId</span> <span class="o">=</span> <span class="s2">&quot;PAY-0XL713371A312273YKE2GCNI&quot;</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="authentication">Authentication</h3> <span class="nv">$paymentId</span> <span class="o">=</span> <span class="s2">&quot;PAY-0XL713371A312273YKE2GCNI&quot;</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="retrieve-payment">Retrieve payment</h3>
<p>Pass in a <code>OAuthTokenCredential</code> object
explicilty to authenticate the call. </p></div></div><div class="code"><div class="wrapper"><span class="nx">Payment</span><span class="o">::</span><span class="na">setCredential</span><span class="p">(</span><span class="nv">$cred</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="retrieve-payment">Retrieve payment</h3>
<p>Retrieve the payment object by calling the <p>Retrieve the payment object by calling the
static <code>get</code> method static <code>get</code> method
on the Payment class by passing a valid on the Payment class by passing a valid
Payment ID</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span> Payment ID
<span class="nv">$payment</span> <span class="o">=</span> <span class="nx">Payment</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$paymentId</span><span class="p">);</span> (See bootstrap.php for more on <code>ApiContext</code>)</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span>
<span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="nv">$payment</span> <span class="o">=</span> <span class="nx">Payment</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$paymentId</span><span class="p">,</span> <span class="nv">$apiContext</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="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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">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">exit</span><span class="p">(</span><span class="mi">1</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="p">}</span> <span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="p">}</span>
<span class="x">&lt;html&gt;</span> <span class="cp">?&gt;</span><span class="x"></span>
<span class="x">&lt;body&gt;</span> <span class="x">&lt;html&gt;</span>
<span class="x"> &lt;div&gt;Retrieving Payment ID: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$paymentId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span> <span class="x">&lt;body&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span> <span class="x"> &lt;div&gt;Retrieving Payment ID: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$paymentId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payment</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x">&lt;/body&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -2,29 +2,25 @@
<p>This sample code demonstrates how you can retrieve <p>This sample code demonstrates how you can retrieve
details of completed Sale Transaction. details of completed Sale Transaction.
API used: /v1/payments/sale/{sale-id}</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/sale/{sale-id}</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\Sale</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Sale</span><span class="p">;</span>
<span class="nv">$saleId</span> <span class="o">=</span> <span class="s1">&#39;3RM92092UW5126232&#39;</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="authentication">Authentication</h3> <span class="nv">$saleId</span> <span class="o">=</span> <span class="s1">&#39;3RM92092UW5126232&#39;</span><span class="p">;</span>
<p>Pass in a <code>OAuthTokenCredential</code> object <span class="k">try</span> <span class="p">{</span> </div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="retrieve-the-sale-object">Retrieve the sale object</h3>
explicilty to authenticate the call.
If you skip this step, the client id/secret
set in the config file will be used. </p></div></div><div class="code"><div class="wrapper"><span class="nx">Sale</span><span class="o">::</span><span class="na">setCredential</span><span class="p">(</span><span class="nv">$cred</span><span class="p">);</span>
<span class="k">try</span> <span class="p">{</span> </div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="retrieve-the-sale-object">Retrieve the sale object</h3>
<p>Pass the ID of the sale <p>Pass the ID of the sale
transaction from your payment resource.</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$sale</span> <span class="o">=</span> <span class="nx">Sale</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$saleId</span><span class="p">);</span> transaction from your payment resource.</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$sale</span> <span class="o">=</span> <span class="nx">Sale</span><span class="o">::</span><span class="na">get</span><span class="p">(</span><span class="nv">$saleId</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">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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="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> <span class="p">}</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="cp">?&gt;</span><span class="x"></span>
<span class="x">&lt;html&gt;</span> <span class="x">&lt;html&gt;</span>
<span class="x">&lt;body&gt;</span> <span class="x">&lt;body&gt;</span>
<span class="x"> &lt;div&gt;Retrieving sale id: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$saleId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span> <span class="x"> &lt;div&gt;Retrieving sale id: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$saleId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$sale</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$sale</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span> <span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -6,30 +6,26 @@ you've created using the Payments API.
Note various query parameters that you can Note various query parameters that you can
use to filter, and paginate through the use to filter, and paginate through the
payments list. payments list.
API used: GET /v1/payments/payments</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: GET /v1/payments/payments</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\Payment</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="authentication">Authentication</h3> <span class="k">use</span> <span class="nx">PayPal\Api\Payment</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="retrieve-payment">Retrieve payment</h3>
<p>Pass in a <code>OAuthTokenCredential</code> object
explicilty to authenticate the call.
If you skip this step, the client id/secret
set in the config file will be used. </p></div></div><div class="code"><div class="wrapper"><span class="nx">Payment</span><span class="o">::</span><span class="na">setCredential</span><span class="p">(</span><span class="nv">$cred</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="retrieve-payment">Retrieve payment</h3>
<p>Retrieve the PaymentHistory object by calling the <p>Retrieve the PaymentHistory object by calling the
static <code>get</code> method on the Payment class, static <code>get</code> method on the Payment class,
and pass a Map object that contains and pass a Map object that contains
query parameters for paginations and filtering. query parameters for paginations and filtering.
Refer the method doc for valid values for keys</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span> Refer the method doc for valid values for keys
<span class="nv">$payments</span> <span class="o">=</span> <span class="nx">Payment</span><span class="o">::</span><span class="na">all</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="s1">&#39;count&#39;</span> <span class="o">=&gt;</span> <span class="mi">10</span><span class="p">,</span> <span class="s1">&#39;start_index&#39;</span> <span class="o">=&gt;</span> <span class="mi">5</span><span class="p">));</span> (See bootstrap.php for more on <code>ApiContext</code>)</p></div></div><div class="code"><div class="wrapper"><span class="k">try</span> <span class="p">{</span>
<span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span> <span class="nv">$payments</span> <span class="o">=</span> <span class="nx">Payment</span><span class="o">::</span><span class="na">all</span><span class="p">(</span><span class="k">array</span><span class="p">(</span><span class="s1">&#39;count&#39;</span> <span class="o">=&gt;</span> <span class="mi">10</span><span class="p">,</span> <span class="s1">&#39;start_index&#39;</span> <span class="o">=&gt;</span> <span class="mi">5</span><span class="p">),</span> <span class="nv">$apiContext</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="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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">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">exit</span><span class="p">(</span><span class="mi">1</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="p">}</span> <span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="p">}</span>
<span class="x">&lt;html&gt;</span> <span class="cp">?&gt;</span><span class="x"></span>
<span class="x">&lt;body&gt;</span> <span class="x">&lt;html&gt;</span>
<span class="x"> &lt;div&gt;Got </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$payments</span><span class="o">-&gt;</span><span class="na">getCount</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x"> matching payments &lt;/div&gt;</span> <span class="x">&lt;body&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payments</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span> <span class="x"> &lt;div&gt;Got </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$payments</span><span class="o">-&gt;</span><span class="na">getCount</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x"> matching payments &lt;/div&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$payments</span><span class="o">-&gt;</span><span class="na">toArray</span><span class="p">());</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x">&lt;/body&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -3,42 +3,38 @@
<p>This sample code demonstrate how you can <p>This sample code demonstrate how you can
process a refund on a sale transaction created process a refund on a sale transaction created
using the Payments API. using the Payments API.
API used: /v1/payments/sale/{sale-id}/refund</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/sale/{sale-id}/refund</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\Refund</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Refund</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">PayPal\Api\Sale</span><span class="p">;</span> <span class="k">use</span> <span class="nx">PayPal\Api\Sale</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="refund">Refund</h3>
<span class="k">use</span> <span class="nx">PayPal\Rest\ApiContext</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-2" name="segment-2" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-2" class="pilcrow"></a></div><div class="wrapper"><h3 id="refund">Refund</h3>
<p>Create a refund object indicating <p>Create a refund object indicating
refund amount</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amt</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span> refund amount</p></div></div><div class="code"><div class="wrapper"><span class="nv">$amt</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Amount</span><span class="p">();</span>
<span class="nv">$amt</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="nv">$amt</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="nv">$amt</span><span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s1">&#39;0.01&#39;</span><span class="p">);</span> <span class="nv">$amt</span><span class="o">-&gt;</span><span class="na">setTotal</span><span class="p">(</span><span class="s1">&#39;0.01&#39;</span><span class="p">);</span>
<span class="nv">$refund</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Refund</span><span class="p">();</span> <span class="nv">$refund</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Refund</span><span class="p">();</span>
<span class="nv">$refund</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amt</span><span class="p">);</span> <span class="nv">$refund</span><span class="o">-&gt;</span><span class="na">setAmount</span><span class="p">(</span><span class="nv">$amt</span><span class="p">);</span>
<span class="nv">$saleId</span> <span class="o">=</span> <span class="s1">&#39;3RM92092UW5126232&#39;</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="sale">Sale</h3> <span class="nv">$saleId</span> <span class="o">=</span> <span class="s1">&#39;3RM92092UW5126232&#39;</span><span class="p">;</span></div></div></div><div class="segment"><a id="segment-3" name="segment-3" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-3" class="pilcrow"></a></div><div class="wrapper"><h3 id="sale">Sale</h3>
<p>A sale transaction. <p>A sale transaction.
Create a Sale object with the Create a Sale object with the
given sale transaction id.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$sale</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Sale</span><span class="p">();</span> given sale transaction id.</p></div></div><div class="code"><div class="wrapper"><span class="nv">$sale</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Sale</span><span class="p">();</span>
<span class="nv">$sale</span><span class="o">-&gt;</span><span class="na">setId</span><span class="p">(</span><span class="nv">$saleId</span><span class="p">);</span></div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><h3 id="api-context">Api Context</h3> <span class="nv">$sale</span><span class="o">-&gt;</span><span class="na">setId</span><span class="p">(</span><span class="nv">$saleId</span><span class="p">);</span>
<p>Pass in a <code>ApiContext</code> object to authenticate <span class="k">try</span> <span class="p">{</span> </div></div></div><div class="segment"><a id="segment-4" name="segment-4" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-4" class="pilcrow"></a></div><div class="wrapper"><p>Refund the sale
the call and to send a unique request id (See bootstrap.php for more on <code>ApiContext</code>)</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$sale</span><span class="o">-&gt;</span><span class="na">refund</span><span class="p">(</span><span class="nv">$refund</span><span class="p">,</span> <span class="nv">$apiContext</span><span class="p">);</span>
(that ensures idempotency). The SDK generates <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</span> <span class="p">{</span>
a request id if you do not pass one explicitly. </p></div></div><div class="code"><div class="wrapper"><span class="nv">$apiContext</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ApiContext</span><span class="p">(</span><span class="nv">$cred</span><span class="p">,</span> <span class="s1">&#39;Request&#39;</span> <span class="o">.</span> <span class="nb">time</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="k">try</span> <span class="p">{</span> </div></div></div><div class="segment"><a id="segment-5" name="segment-5" class="section_anchor"></a><div class="comments"><div class="pilwrap"><a href="#segment-5" class="pilcrow"></a></div><div class="wrapper"><p>Refund the sale</p></div></div><div class="code"><div class="wrapper"> <span class="nv">$sale</span><span class="o">-&gt;</span><span class="na">refund</span><span class="p">(</span><span class="nv">$refund</span><span class="p">,</span> <span class="nv">$apiContext</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="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="nx">\PPConnectionException</span> <span class="nv">$ex</span><span class="p">)</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">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="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="cp">?&gt;</span><span class="x"></span>
<span class="k">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="x">&lt;html&gt;</span>
<span class="p">}</span> <span class="x">&lt;body&gt;</span>
<span class="cp">?&gt;</span><span class="x"></span> <span class="x"> &lt;div&gt;Refunding sale id: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$saleId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span>
<span class="x">&lt;html&gt;</span> <span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$sale</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x">&lt;body&gt;</span> <span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x"> &lt;div&gt;Refunding sale id: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$saleId</span><span class="p">;</span><span class="cp">?&gt;</span><span class="x">&lt;/div&gt;</span> <span class="x">&lt;/body&gt;</span>
<span class="x"> &lt;pre&gt;</span><span class="cp">&lt;?php</span> <span class="nb">var_dump</span><span class="p">(</span><span class="nv">$sale</span><span class="p">);</span><span class="cp">?&gt;</span><span class="x">&lt;/pre&gt;</span>
<span class="x"> &lt;a href=&#39;../index.html&#39;&gt;Back&lt;/a&gt;</span>
<span class="x">&lt;/body&gt;</span>
<span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html> <span class="x">&lt;/html&gt;</span></div></div></div><div class="segment"><div class="comments"><a href="../">Back</a></div></div></div><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/docs.js"></script></body></html>

View File

@@ -1,57 +1,50 @@
<?php <?php
// # Create Credit Card Sample
// Using the 'vault' API, you can store a
// Credit Card securely on PayPal. You can
// use a saved Credit Card to process
// a payment in the future.
// The following code demonstrates how
// can save a Credit Card on PayPal using
// the Vault API.
// API used: POST /v1/vault/credit-card
// # Create Credit Card Sample
// Using the 'vault' API, you can store a require __DIR__ . '/../bootstrap.php';
// Credit Card securely on PayPal. You can use PayPal\Api\CreditCard;
// use a saved Credit Card to process use PayPal\Api\Address;
// a payment in the future.
// The following code demonstrates how // ### CreditCard
// can save a Credit Card on PayPal using // A resource representing a credit card that can be
// the Vault API. // used to fund a payment.
// API used: POST /v1/vault/credit-card $card = new CreditCard();
$card->setType("visa");
use PayPal\Rest\ApiContext; $card->setNumber("4417119669820331");
$card->setExpire_month("11");
require __DIR__ . '/../bootstrap.php'; $card->setExpire_year("2019");
use PayPal\Api\CreditCard; $card->setCvv2("012");
use PayPal\Api\Address; $card->setFirst_name("Joe");
$card->setLast_name("Shopper");
// ### CreditCard
// A resource representing a credit card that can be // ### Save card
// used to fund a payment. // Creates the credit card as a resource
$card = new CreditCard(); // in the PayPal vault. The response contains
$card->setType("visa"); // an 'id' that you can use to refer to it
$card->setNumber("4417119669820331"); // in the future payments.
$card->setExpire_month("11"); // (See bootstrap.php for more on `ApiContext`)
$card->setExpire_year("2019"); try {
$card->setCvv2("012"); $card->create($apiContext);
$card->setFirst_name("Joe"); } catch (\PPConnectionException $ex) {
$card->setLast_name("Shopper"); echo "Exception:" . $ex->getMessage() . PHP_EOL;
var_dump($ex->getData());
// ### Api Context exit(1);
// Pass in a `ApiContext` object to authenticate }
// the call and to send a unique request id ?>
// (that ensures idempotency). The SDK generates <html>
// a request id if you do not pass one explicitly. <body>
$apiContext = new ApiContext($cred, 'Request' . time()); <div>Saved a new credit card with id: <?php echo $card->getId();?></div>
<pre><?php var_dump($card);?></pre>
// ### Save card <a href='../index.html'>Back</a>
// Creates the credit card as a resource </body>
// in the PayPal vault. The response contains
// an 'id' that you can use to refer to it
// in the future payments.
try {
$card->create();
} catch (\PPConnectionException $ex) {
echo "Exception:" . $ex->getMessage() . PHP_EOL;
var_dump($ex->getData());
exit(1);
}
?>
<html>
<body>
<div>Saved a new credit card with id: <?php echo $card->getId();?></div>
<pre><?php var_dump($card);?></pre>
<a href='../index.html'>Back</a>
</body>
</html> </html>

View File

@@ -1,38 +1,33 @@
<?php <?php
// # Get Credit Card Sample // # Get Credit Card Sample
// The CreditCard resource allows you to // The CreditCard resource allows you to
// retrieve previously saved CreditCards, // retrieve previously saved CreditCards,
// by sending a GET request to the URI // by sending a GET request to the URI
// '/v1/vault/credit-card' // '/v1/vault/credit-card'
// The following code takes you through // The following code takes you through
// the process of retrieving a saved CreditCard // the process of retrieving a saved CreditCard
require __DIR__ . '/../bootstrap.php'; require __DIR__ . '/../bootstrap.php';
use PayPal\Api\CreditCard; use PayPal\Api\CreditCard;
// The cardId can be obtained from a previous save credit // The cardId can be obtained from a previous save credit
// card operation. Use $card->getId() // card operation. Use $card->getId()
$cardId = "CARD-5BT058015C739554AKE2GCEI"; $cardId = "CARD-5BT058015C739554AKE2GCEI";
// ### Authentication /// ### Retrieve card
// Pass in a `OAuthTokenCredential` object // (See bootstrap.php for more on `ApiContext`)
// explicilty to authenticate the call. try {
// If you skip this step, the client id/secret $card = CreditCard::get($cardId, $apiContext);
// set in the config file will be used. } catch (\PPConnectionException $ex) {
CreditCard::setCredential($cred); echo "Exception: " . $ex->getMessage() . PHP_EOL;
/// ### Retrieve card var_dump($ex->getData());
try { exit(1);
$card = CreditCard::get($cardId); }
} catch (\PPConnectionException $ex) { ?>
echo "Exception: " . $ex->getMessage() . PHP_EOL; <html>
var_dump($ex->getData()); <body>
exit(1); <div>Retrieving credit card: <?php echo $cardId;?></div>
} <pre><?php var_dump($card);?></pre>
?> <a href='../index.html'>Back</a>
<html> </body>
<body>
<div>Retrieving credit card: <?php echo $cardId;?></div>
<pre><?php var_dump($card);?></pre>
<a href='../index.html'>Back</a>
</body>
</html> </html>