forked from LiveCarta/PayPal-PHP-SDK
Updates to Sample Code
- Updated UI Presentation on samples - Fixed Bugs
This commit is contained in:
@@ -17,11 +17,22 @@ use PayPal\Api\FundingInstrument;
|
||||
*
|
||||
* Class ResultPrinter
|
||||
*/
|
||||
class ResultPrinter {
|
||||
class ResultPrinter
|
||||
{
|
||||
|
||||
private static $printResultCounter = 0;
|
||||
|
||||
public static function printResult($title, $objectName, $objectId = null, $request = null, $response = null)
|
||||
/**
|
||||
* Prints HTML Output to web page.
|
||||
*
|
||||
* @param string $title
|
||||
* @param string $objectName
|
||||
* @param string $objectId
|
||||
* @param mixed $request
|
||||
* @param mixed $response
|
||||
* @param string $error
|
||||
*/
|
||||
public static function printOutput($title, $objectName, $objectId = null, $request = null, $response = null, $errorMessage = null)
|
||||
{
|
||||
if (self::$printResultCounter == 0) {
|
||||
include "header.html";
|
||||
@@ -33,10 +44,10 @@ class ResultPrinter {
|
||||
self::$printResultCounter++;
|
||||
echo '
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab" id="heading-'.self::$printResultCounter.'">
|
||||
<div class="panel-heading '. ($errorMessage ? 'error' : '') .'" role="tab" id="heading-'.self::$printResultCounter.'">
|
||||
<h4 class="panel-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#step-'. self::$printResultCounter .'" aria-expanded="false" aria-controls="step-'.self::$printResultCounter.'">
|
||||
'. self::$printResultCounter .'. '. $title .'</a>
|
||||
'. self::$printResultCounter .'. '. $title . ($errorMessage ? ' (Failed)' : '') . '</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="step-'.self::$printResultCounter.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-'. self::$printResultCounter . '">
|
||||
@@ -44,13 +55,13 @@ class ResultPrinter {
|
||||
';
|
||||
|
||||
if ($objectId) {
|
||||
echo '<div>' . ($objectName ? $objectName : "Object") . " with ID: $objectId </div>";
|
||||
echo "<div>" . ($objectName ? $objectName : "Object") . " with ID: $objectId </div>";
|
||||
}
|
||||
|
||||
echo '<div class="row hidden-xs hidden-sm hidden-md"><div class="col-md-6"><h4>Request Object</h4>';
|
||||
self::printObject($request);
|
||||
echo '</div><div class="col-md-6"><h4>Response Object</h4>';
|
||||
self::printObject($response);
|
||||
echo '</div><div class="col-md-6"><h4 class="'. ($errorMessage ? 'error' : '') .'">Response Object</h4>';
|
||||
self::printObject($response, $errorMessage);
|
||||
echo '</div></div>';
|
||||
|
||||
echo '<div class="hidden-lg"><ul class="nav nav-tabs" role="tablist">
|
||||
@@ -61,7 +72,7 @@ class ResultPrinter {
|
||||
<div role="tabpanel" class="tab-pane" id="step-'.self::$printResultCounter .'-request"><h4>Request Object</h4>';
|
||||
self::printObject($request) ;
|
||||
echo '</div><div role="tabpanel" class="tab-pane active" id="step-'.self::$printResultCounter .'-response"><h4>Response Object</h4>';
|
||||
self::printObject($response);
|
||||
self::printObject($response, $errorMessage);
|
||||
echo '</div></div></div></div>
|
||||
</div>
|
||||
</div>';
|
||||
@@ -69,14 +80,51 @@ class ResultPrinter {
|
||||
flush();
|
||||
}
|
||||
|
||||
protected static function printObject($object)
|
||||
/**
|
||||
* Prints success response HTML Output to web page.
|
||||
*
|
||||
* @param string $title
|
||||
* @param string $objectName
|
||||
* @param string $objectId
|
||||
* @param mixed $request
|
||||
* @param mixed $response
|
||||
*/
|
||||
public static function printResult($title, $objectName, $objectId = null, $request = null, $response = null)
|
||||
{
|
||||
self::printOutput($title, $objectName, $objectId, $request, $response, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints Error
|
||||
*
|
||||
* @param $title
|
||||
* @param $objectName
|
||||
* @param null $objectId
|
||||
* @param null $request
|
||||
* @param \Exception $exception
|
||||
*/
|
||||
public static function printError($title, $objectName, $objectId = null, $request = null, $exception = null)
|
||||
{
|
||||
$data = null;
|
||||
if ($exception instanceof \PayPal\Exception\PPConnectionException) {
|
||||
$data = $exception->getData();
|
||||
}
|
||||
self::printOutput($title, $objectName, $objectId, $request, $data, $exception->getMessage());
|
||||
}
|
||||
|
||||
protected static function printObject($object, $error = null)
|
||||
{
|
||||
if ($error) {
|
||||
echo '<pre class="error">'. $error . '</pre>';
|
||||
}
|
||||
if ($object) {
|
||||
if (is_a($object, 'PayPal\Common\PPModel')) {
|
||||
/** @var $object \PayPal\Common\PPModel */
|
||||
echo '<pre class="prettyprint">' . $object->toJSON(128) . "</pre>";
|
||||
echo '<pre class="prettyprint '. ($error ? 'error' : '') .'">' . $object->toJSON(128) . "</pre>";
|
||||
} elseif (\PayPal\Validation\JsonValidator::validate($object, true)) {
|
||||
echo '<pre class="prettyprint '. ($error ? 'error' : '') .'">'. str_replace('\\/', '/', json_encode(json_decode($object), 128)) . "</pre>";
|
||||
} elseif (is_string($object)) {
|
||||
echo "<pre>$object</pre>";
|
||||
echo '<pre class="prettyprint '. ($error ? 'error' : '') .'">' . $object . '</pre>';
|
||||
} else {
|
||||
echo "<pre>";
|
||||
print_r($object);
|
||||
@@ -111,59 +159,3 @@ function getBaseUrl()
|
||||
$request = $_SERVER['PHP_SELF'];
|
||||
return dirname($protocol . '://' . $host . ($port == $protocol_port ? '' : ':' . $port) . $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new mock 'payment authorization'
|
||||
*
|
||||
* @param PayPal\Api\ApiContext apiContext
|
||||
* @return PayPal\Api\Authorization
|
||||
*/
|
||||
function createAuthorization($apiContext)
|
||||
{
|
||||
$addr = new Address();
|
||||
$addr->setLine1("3909 Witmer Road")
|
||||
->setLine2("Niagara Falls")
|
||||
->setCity("Niagara Falls")
|
||||
->setState("NY")
|
||||
->setPostalCode("14305")
|
||||
->setCountryCode("US")
|
||||
->setPhone("716-298-1822");
|
||||
|
||||
$card = new CreditCard();
|
||||
$card->setType("visa")
|
||||
->setNumber("4417119669820331")
|
||||
->setExpireMonth("11")
|
||||
->setExpireYear("2019")
|
||||
->setCvv2("012")
|
||||
->setFirstName("Joe")
|
||||
->setLastName("Shopper")
|
||||
->setBillingAddress($addr);
|
||||
|
||||
$fi = new FundingInstrument();
|
||||
$fi->setCreditCard($card);
|
||||
|
||||
$payer = new Payer();
|
||||
$payer->setPaymentMethod("credit_card")
|
||||
->setFundingInstruments(array($fi));
|
||||
|
||||
$amount = new Amount();
|
||||
$amount->setCurrency("USD")
|
||||
->setTotal("1.00");
|
||||
|
||||
$transaction = new Transaction();
|
||||
$transaction->setAmount($amount)
|
||||
->setDescription("Payment description.");
|
||||
|
||||
$payment = new Payment();
|
||||
|
||||
// Setting intent to authorize creates a payment
|
||||
// authorization. Setting it to sale creates actual payment
|
||||
$payment->setIntent("authorize")
|
||||
->setPayer($payer)
|
||||
->setTransactions(array($transaction));
|
||||
|
||||
$paymnt = $payment->create($apiContext);
|
||||
$resArray = $paymnt->toArray();
|
||||
|
||||
return $authId = $resArray['transactions'][0]['related_resources'][0]['authorization']['id'];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user