Subiendo proyecto completo sin restricciones de git ignore
This commit is contained in:
61
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/AuthorizeOrder.php
vendored
Normal file
61
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/AuthorizeOrder.php
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace Sample\AuthorizeIntentExamples;
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
use PayPalCheckoutSdk\Orders\OrdersAuthorizeRequest;
|
||||
use Sample\PayPalClient;
|
||||
|
||||
|
||||
class AuthorizeOrder
|
||||
{
|
||||
/**
|
||||
* Setting up request body for Authorize. This can be populated with fields as per need. Refer API docs for more details.
|
||||
*
|
||||
*/
|
||||
public static function buildRequestBody()
|
||||
{
|
||||
return "{}";
|
||||
}
|
||||
|
||||
/**
|
||||
* This function can be used to perform authorization on the approved order.
|
||||
* Valid Approved order id should be passed as an argument.
|
||||
*/
|
||||
public static function authorizeOrder($orderId, $debug=false)
|
||||
{
|
||||
$request = new OrdersAuthorizeRequest($orderId);
|
||||
$request->body = self::buildRequestBody();
|
||||
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
if ($debug)
|
||||
{
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Authorization ID: {$response->result->purchase_units[0]->payments->authorizations[0]->id}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
print "Authorization Links:\n";
|
||||
foreach($response->result->purchase_units[0]->payments->authorizations[0]->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is an driver function which invokes authorize order.
|
||||
*/
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
AuthorizeOrder::authorizeOrder('1U242387CB956380X', true);
|
||||
}
|
||||
55
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/CaptureOrder.php
vendored
Normal file
55
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/CaptureOrder.php
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace Sample\AuthorizeIntentExamples;
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
use PayPalCheckoutSdk\Payments\AuthorizationsCaptureRequest;
|
||||
use Sample\PayPalClient;
|
||||
|
||||
class CaptureOrder
|
||||
{
|
||||
/**
|
||||
* Below method can be used to build the capture request body.
|
||||
* This request can be updated with required fields as per need.
|
||||
* Please refer API specs for more info.
|
||||
*/
|
||||
public static function buildRequestBody()
|
||||
{
|
||||
return "{}";
|
||||
}
|
||||
|
||||
/**
|
||||
* Below function can be used to capture order.
|
||||
* Valid Authorization id should be passed as an argument.
|
||||
*/
|
||||
public static function captureOrder($authorizationId, $debug=false)
|
||||
{
|
||||
$request = new AuthorizationsCaptureRequest($authorizationId);
|
||||
$request->body = self::buildRequestBody();
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Capture ID: {$response->result->id}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Driver function for invoking the capture flow.
|
||||
*/
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
CaptureOrder::captureOrder('18A38324BV5456924', true);
|
||||
}
|
||||
237
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/CreateOrder.php
vendored
Normal file
237
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/CreateOrder.php
vendored
Normal file
@@ -0,0 +1,237 @@
|
||||
<?php
|
||||
|
||||
namespace Sample\AuthorizeIntentExamples;
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
|
||||
use Sample\PayPalClient;
|
||||
|
||||
class CreateOrder
|
||||
{
|
||||
/**
|
||||
* Setting up the JSON request body for creating the Order with complete request body. The Intent in the
|
||||
* request body should be set as "AUTHORIZE" for authorize intent flow.
|
||||
*
|
||||
*/
|
||||
private static function buildRequestBody()
|
||||
{
|
||||
return array(
|
||||
'intent' => 'AUTHORIZE',
|
||||
'application_context' =>
|
||||
array(
|
||||
'return_url' => 'https://example.com/return',
|
||||
'cancel_url' => 'https://example.com/cancel',
|
||||
'brand_name' => 'EXAMPLE INC',
|
||||
'locale' => 'en-US',
|
||||
'landing_page' => 'BILLING',
|
||||
'shipping_preference' => 'SET_PROVIDED_ADDRESS',
|
||||
'user_action' => 'PAY_NOW',
|
||||
),
|
||||
'purchase_units' =>
|
||||
array(
|
||||
0 =>
|
||||
array(
|
||||
'reference_id' => 'PUHF',
|
||||
'description' => 'Sporting Goods',
|
||||
'custom_id' => 'CUST-HighFashions',
|
||||
'soft_descriptor' => 'HighFashions',
|
||||
'amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '220.00',
|
||||
'breakdown' =>
|
||||
array(
|
||||
'item_total' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '180.00',
|
||||
),
|
||||
'shipping' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '20.00',
|
||||
),
|
||||
'handling' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '10.00',
|
||||
),
|
||||
'tax_total' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '20.00',
|
||||
),
|
||||
'shipping_discount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '10.00',
|
||||
),
|
||||
),
|
||||
),
|
||||
'items' =>
|
||||
array(
|
||||
0 =>
|
||||
array(
|
||||
'name' => 'T-Shirt',
|
||||
'description' => 'Green XL',
|
||||
'sku' => 'sku01',
|
||||
'unit_amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '90.00',
|
||||
),
|
||||
'tax' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '10.00',
|
||||
),
|
||||
'quantity' => '1',
|
||||
'category' => 'PHYSICAL_GOODS',
|
||||
),
|
||||
1 =>
|
||||
array(
|
||||
'name' => 'Shoes',
|
||||
'description' => 'Running, Size 10.5',
|
||||
'sku' => 'sku02',
|
||||
'unit_amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '45.00',
|
||||
),
|
||||
'tax' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '5.00',
|
||||
),
|
||||
'quantity' => '2',
|
||||
'category' => 'PHYSICAL_GOODS',
|
||||
),
|
||||
),
|
||||
'shipping' =>
|
||||
array(
|
||||
'method' => 'United States Postal Service',
|
||||
'name' =>
|
||||
array(
|
||||
'full_name' => 'John Doe',
|
||||
),
|
||||
'address' =>
|
||||
array(
|
||||
'address_line_1' => '123 Townsend St',
|
||||
'address_line_2' => 'Floor 6',
|
||||
'admin_area_2' => 'San Francisco',
|
||||
'admin_area_1' => 'CA',
|
||||
'postal_code' => '94107',
|
||||
'country_code' => 'US',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setting up the JSON request body for creating the Order with minimum request body. The Intent in the
|
||||
* request body should be set as "AUTHORIZE" for authorize intent flow.
|
||||
*
|
||||
*/
|
||||
private static function buildMinimumRequestBody()
|
||||
{
|
||||
return array(
|
||||
'intent' => 'AUTHORIZE',
|
||||
'application_context' =>
|
||||
array(
|
||||
'return_url' => 'https://example.com/return',
|
||||
'cancel_url' => 'https://example.com/cancel'
|
||||
),
|
||||
'purchase_units' =>
|
||||
array(
|
||||
0 =>
|
||||
array(
|
||||
'amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '220.00'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the sample function which can be used to create an order. It uses the
|
||||
* JSON body returned by buildRequestBody() to create an new Order.
|
||||
*/
|
||||
public static function createOrder($debug=false)
|
||||
{
|
||||
$request = new OrdersCreateRequest();
|
||||
$request->headers["prefer"] = "return=representation";
|
||||
$request->body = CreateOrder::buildRequestBody();
|
||||
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
if ($debug)
|
||||
{
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Intent: {$response->result->intent}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
|
||||
print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
|
||||
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the sample function which can be used to create an order. It uses the
|
||||
* JSON body returned by buildMinimumRequestBody() to create an new Order.
|
||||
*/
|
||||
public static function createOrderWithMinimumBody($debug=false)
|
||||
{
|
||||
$request = new OrdersCreateRequest();
|
||||
$request->headers["prefer"] = "return=representation";
|
||||
$request->body = CreateOrder::buildMinimumRequestBody();
|
||||
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
if ($debug)
|
||||
{
|
||||
print "Order With Minimum Body\n";
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Intent: {$response->result->intent}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
|
||||
print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
|
||||
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
CreateOrder::createOrder(true);
|
||||
CreateOrder::createOrderWithMinimumBody(true);
|
||||
}
|
||||
82
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/RunAll.php
vendored
Normal file
82
vendor/paypal/paypal-checkout-sdk/samples/AuthorizeIntentExamples/RunAll.php
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use Sample\AuthorizeIntentExamples\CreateOrder;
|
||||
use Sample\AuthorizeIntentExamples\AuthorizeOrder;
|
||||
use Sample\AuthorizeIntentExamples\CaptureOrder;
|
||||
use Sample\RefundOrder;
|
||||
|
||||
$order = CreateOrder::createOrder();
|
||||
|
||||
print "Creating Order...\n";
|
||||
$orderId = "";
|
||||
if ($order->statusCode == 201)
|
||||
{
|
||||
$orderId = $order->result->id;
|
||||
print "Links:\n";
|
||||
for ($i = 0; $i < count($order->result->links); ++$i)
|
||||
{
|
||||
$link = $order->result->links[$i];
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
print "Created Successfully\n";
|
||||
print "Copy approve link and paste it in browser. Login with buyer account and follow the instructions.\nOnce approved hit enter...\n";
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$handle = fopen ("php://stdin","r");
|
||||
$line = fgets($handle);
|
||||
fclose($handle);
|
||||
|
||||
print "Authorizing Order...\n";
|
||||
$response = AuthorizeOrder::authorizeOrder($orderId);
|
||||
$authId = "";
|
||||
|
||||
if ($response->statusCode == 201)
|
||||
{
|
||||
print "Authorized Successfully\n";
|
||||
$authId = $response->result->purchase_units[0]->payments->authorizations[0]->id;
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
print "\nCapturing Order...\n";
|
||||
$response = CaptureOrder::captureOrder($authId);
|
||||
if ($response->statusCode == 201)
|
||||
{
|
||||
print "Captured Successfully\n";
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
$captureId = $response->result->id;
|
||||
print "Capture ID: {$captureId}\n";
|
||||
print "Links:\n";
|
||||
for ($i = 0; $i < count($response->result->links); ++$i){
|
||||
$link = $response->result->links[$i];
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
print "\nRefunding Order...\n";
|
||||
$response = RefundOrder::refundOrder($captureId);
|
||||
if ($response->statusCode == 201)
|
||||
{
|
||||
print "Refunded Successfully\n";
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Refund ID: {$response->result->id}\n";
|
||||
print "Links:\n";
|
||||
for ($i = 0; $i < count($response->result->links); ++$i){
|
||||
$link = $response->result->links[$i];
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
60
vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php
vendored
Normal file
60
vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Sample\CaptureIntentExamples;
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
use Sample\PayPalClient;
|
||||
use PayPalCheckoutSdk\Orders\OrdersCaptureRequest;
|
||||
|
||||
class CaptureOrder
|
||||
{
|
||||
|
||||
/**
|
||||
* This function can be used to capture an order payment by passing the approved
|
||||
* order id as argument.
|
||||
*
|
||||
* @param orderId
|
||||
* @param debug
|
||||
* @returns
|
||||
*/
|
||||
public static function captureOrder($orderId, $debug=false)
|
||||
{
|
||||
$request = new OrdersCaptureRequest($orderId);
|
||||
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
if ($debug)
|
||||
{
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
print "Capture Ids:\n";
|
||||
foreach($response->result->purchase_units as $purchase_unit)
|
||||
{
|
||||
foreach($purchase_unit->payments->captures as $capture)
|
||||
{
|
||||
print "\t{$capture->id}";
|
||||
}
|
||||
}
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the driver function which invokes the captureOrder function with
|
||||
* <b>Approved</b> Order Id to capture the order payment.
|
||||
*/
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
CaptureOrder::captureOrder('0F105083N67049335', true);
|
||||
}
|
||||
178
vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CreateOrder.php
vendored
Normal file
178
vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CreateOrder.php
vendored
Normal file
@@ -0,0 +1,178 @@
|
||||
<?php
|
||||
|
||||
namespace Sample\CaptureIntentExamples;
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
|
||||
use Sample\PayPalClient;
|
||||
use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
|
||||
|
||||
class CreateOrder
|
||||
{
|
||||
|
||||
/**
|
||||
* Setting up the JSON request body for creating the Order. The Intent in the
|
||||
* request body should be set as "CAPTURE" for capture intent flow.
|
||||
*
|
||||
*/
|
||||
private static function buildRequestBody()
|
||||
{
|
||||
return array(
|
||||
'intent' => 'CAPTURE',
|
||||
'application_context' =>
|
||||
array(
|
||||
'return_url' => 'https://example.com/return',
|
||||
'cancel_url' => 'https://example.com/cancel',
|
||||
'brand_name' => 'EXAMPLE INC',
|
||||
'locale' => 'en-US',
|
||||
'landing_page' => 'BILLING',
|
||||
'shipping_preference' => 'SET_PROVIDED_ADDRESS',
|
||||
'user_action' => 'PAY_NOW',
|
||||
),
|
||||
'purchase_units' =>
|
||||
array(
|
||||
0 =>
|
||||
array(
|
||||
'reference_id' => 'PUHF',
|
||||
'description' => 'Sporting Goods',
|
||||
'custom_id' => 'CUST-HighFashions',
|
||||
'soft_descriptor' => 'HighFashions',
|
||||
'amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '220.00',
|
||||
'breakdown' =>
|
||||
array(
|
||||
'item_total' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '180.00',
|
||||
),
|
||||
'shipping' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '20.00',
|
||||
),
|
||||
'handling' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '10.00',
|
||||
),
|
||||
'tax_total' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '20.00',
|
||||
),
|
||||
'shipping_discount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '10.00',
|
||||
),
|
||||
),
|
||||
),
|
||||
'items' =>
|
||||
array(
|
||||
0 =>
|
||||
array(
|
||||
'name' => 'T-Shirt',
|
||||
'description' => 'Green XL',
|
||||
'sku' => 'sku01',
|
||||
'unit_amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '90.00',
|
||||
),
|
||||
'tax' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '10.00',
|
||||
),
|
||||
'quantity' => '1',
|
||||
'category' => 'PHYSICAL_GOODS',
|
||||
),
|
||||
1 =>
|
||||
array(
|
||||
'name' => 'Shoes',
|
||||
'description' => 'Running, Size 10.5',
|
||||
'sku' => 'sku02',
|
||||
'unit_amount' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '45.00',
|
||||
),
|
||||
'tax' =>
|
||||
array(
|
||||
'currency_code' => 'USD',
|
||||
'value' => '5.00',
|
||||
),
|
||||
'quantity' => '2',
|
||||
'category' => 'PHYSICAL_GOODS',
|
||||
),
|
||||
),
|
||||
'shipping' =>
|
||||
array(
|
||||
'method' => 'United States Postal Service',
|
||||
'name' =>
|
||||
array(
|
||||
'full_name' => 'John Doe',
|
||||
),
|
||||
'address' =>
|
||||
array(
|
||||
'address_line_1' => '123 Townsend St',
|
||||
'address_line_2' => 'Floor 6',
|
||||
'admin_area_2' => 'San Francisco',
|
||||
'admin_area_1' => 'CA',
|
||||
'postal_code' => '94107',
|
||||
'country_code' => 'US',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the sample function which can be sued to create an order. It uses the
|
||||
* JSON body returned by buildRequestBody() to create an new Order.
|
||||
*/
|
||||
public static function createOrder($debug=false)
|
||||
{
|
||||
$request = new OrdersCreateRequest();
|
||||
$request->headers["prefer"] = "return=representation";
|
||||
$request->body = self::buildRequestBody();
|
||||
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
if ($debug)
|
||||
{
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Intent: {$response->result->intent}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is the driver function which invokes the createOrder function to create
|
||||
* an sample order.
|
||||
*/
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
CreateOrder::createOrder(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
74
vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/RunAll.php
vendored
Normal file
74
vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/RunAll.php
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use Sample\CaptureIntentExamples\CreateOrder;
|
||||
use Sample\CaptureIntentExamples\CaptureOrder;
|
||||
use Sample\RefundOrder;
|
||||
|
||||
$order = CreateOrder::createOrder();
|
||||
|
||||
print "Creating Order...\n";
|
||||
$orderId = "";
|
||||
if ($order->statusCode == 201)
|
||||
{
|
||||
$orderId = $order->result->id;
|
||||
print "Links:\n";
|
||||
for ($i = 0; $i < count($order->result->links); ++$i)
|
||||
{
|
||||
$link = $order->result->links[$i];
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
print "Created Successfully\n";
|
||||
print "Copy approve link and paste it in browser. Login with buyer account and follow the instructions.\nOnce approved hit enter...\n";
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$handle = fopen ("php://stdin","r");
|
||||
$line = fgets($handle);
|
||||
fclose($handle);
|
||||
|
||||
print "Capturing Order...\n";
|
||||
$response = CaptureOrder::captureOrder($orderId);
|
||||
if ($response->statusCode == 201)
|
||||
{
|
||||
print "Captured Successfully\n";
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Links:\n";
|
||||
for ($i = 0; $i < count($response->result->links); ++$i){
|
||||
$link = $response->result->links[$i];
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
foreach($response->result->purchase_units as $purchase_unit)
|
||||
{
|
||||
foreach($purchase_unit->payments->captures as $capture)
|
||||
{
|
||||
$captureId = $capture->id;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
print "\nRefunding Order...\n";
|
||||
$response = RefundOrder::refundOrder($captureId);
|
||||
if ($response->statusCode == 201)
|
||||
{
|
||||
print "Refunded Successfully\n";
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Refund ID: {$response->result->id}\n";
|
||||
print "Links:\n";
|
||||
for ($i = 0; $i < count($response->result->links); ++$i){
|
||||
$link = $response->result->links[$i];
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
94
vendor/paypal/paypal-checkout-sdk/samples/ErrorSample.php
vendored
Normal file
94
vendor/paypal/paypal-checkout-sdk/samples/ErrorSample.php
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
|
||||
use Sample\PayPalClient;
|
||||
use PayPalHttp\HttpException;
|
||||
|
||||
class ErrorSample
|
||||
{
|
||||
public static function prettyPrint($jsonData, $pre="")
|
||||
{
|
||||
$pretty = "";
|
||||
foreach ($jsonData as $key => $val)
|
||||
{
|
||||
$pretty .= $pre . ucfirst($key) .": ";
|
||||
if (strcmp(gettype($val), "array") == 0){
|
||||
$pretty .= "\n";
|
||||
$sno = 1;
|
||||
foreach ($val as $value)
|
||||
{
|
||||
$pretty .= $pre . "\t" . $sno++ . ":\n";
|
||||
$pretty .= self::prettyPrint($value, $pre . "\t\t");
|
||||
}
|
||||
}
|
||||
else {
|
||||
$pretty .= $val . "\n";
|
||||
}
|
||||
}
|
||||
return $pretty;
|
||||
}
|
||||
|
||||
/**
|
||||
* Body has no required parameters (intent, purchase_units)
|
||||
*/
|
||||
public static function createError1()
|
||||
{
|
||||
$request = new OrdersCreateRequest();
|
||||
$request->body = "{}";
|
||||
print "Request Body: {}\n\n";
|
||||
|
||||
print "Response:\n";
|
||||
try{
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
}
|
||||
catch(HttpException $exception){
|
||||
$message = json_decode($exception->getMessage(), true);
|
||||
print "Status Code: {$exception->statusCode}\n";
|
||||
print(self::prettyPrint($message));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Body has invalid parameter value for intent
|
||||
*/
|
||||
public static function createError2()
|
||||
{
|
||||
$request = new OrdersCreateRequest();
|
||||
$request->body = array (
|
||||
'intent' => 'INVALID',
|
||||
'purchase_units' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'amount' =>
|
||||
array (
|
||||
'currency_code' => 'USD',
|
||||
'value' => '100.00',
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
print "Request Body:\n" . json_encode($request->body, JSON_PRETTY_PRINT) . "\n\n";
|
||||
|
||||
try{
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
}
|
||||
catch(HttpException $exception){
|
||||
print "Response:\n";
|
||||
$message = json_decode($exception->getMessage(), true);
|
||||
print "Status Code: {$exception->statusCode}\n";
|
||||
print(self::prettyPrint($message));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
print "Calling createError1 (Body has no required parameters (intent, purchase_units))\n";
|
||||
ErrorSample::createError1();
|
||||
|
||||
print "\n\nCalling createError2 (Body has invalid parameter value for intent)\n";
|
||||
ErrorSample::createError2();
|
||||
54
vendor/paypal/paypal-checkout-sdk/samples/GetOrder.php
vendored
Normal file
54
vendor/paypal/paypal-checkout-sdk/samples/GetOrder.php
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace Sample;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
use Sample\PayPalClient;
|
||||
use PayPalCheckoutSdk\Orders\OrdersGetRequest;
|
||||
use Sample\CaptureIntentExamples\CreateOrder;
|
||||
|
||||
class GetOrder
|
||||
{
|
||||
|
||||
/**
|
||||
* This function can be used to retrieve an order by passing order Id as argument.
|
||||
*/
|
||||
public static function getOrder($orderId)
|
||||
{
|
||||
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute(new OrdersGetRequest($orderId));
|
||||
/**
|
||||
* Enable below line to print complete response as JSON.
|
||||
*/
|
||||
//print json_encode($response->result);
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Intent: {$response->result->intent}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
|
||||
print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
|
||||
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the driver function which invokes the getOrder function to retrieve
|
||||
* an sample order.
|
||||
*
|
||||
* To get the correct Order id, we are using the createOrder to create new order
|
||||
* and then we are using the newly created order id.
|
||||
*/
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
$createdOrder = CreateOrder::createOrder()->result;
|
||||
GetOrder::getOrder($createdOrder ->id);
|
||||
}
|
||||
82
vendor/paypal/paypal-checkout-sdk/samples/PatchOrder.php
vendored
Normal file
82
vendor/paypal/paypal-checkout-sdk/samples/PatchOrder.php
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
namespace Sample;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
use PayPalCheckoutSdk\Orders\OrdersPatchRequest;
|
||||
use PayPalCheckoutSdk\Orders\OrdersGetRequest;
|
||||
use Sample\AuthorizeIntentExamples\CreateOrder;
|
||||
|
||||
class PatchOrder
|
||||
{
|
||||
private static function buildRequestBody()
|
||||
{
|
||||
return array (
|
||||
0 =>
|
||||
array (
|
||||
'op' => 'replace',
|
||||
'path' => '/intent',
|
||||
'value' => 'CAPTURE',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'op' => 'replace',
|
||||
'path' => '/purchase_units/@reference_id==\'PUHF\'/amount',
|
||||
'value' =>
|
||||
array (
|
||||
'currency_code' => 'USD',
|
||||
'value' => '200.00',
|
||||
'breakdown' =>
|
||||
array (
|
||||
'item_total' =>
|
||||
array (
|
||||
'currency_code' => 'USD',
|
||||
'value' => '180.00',
|
||||
),
|
||||
'tax_total' =>
|
||||
array (
|
||||
'currency_code' => 'USD',
|
||||
'value' => '20.00',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
public static function patchOrder($orderId)
|
||||
{
|
||||
|
||||
$client = PayPalClient::client();
|
||||
|
||||
$request = new OrdersPatchRequest($orderId);
|
||||
$request->body = PatchOrder::buildRequestBody();
|
||||
$client->execute($request);
|
||||
|
||||
$response = $client->execute(new OrdersGetRequest($orderId));
|
||||
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Intent: {$response->result->intent}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
|
||||
print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
|
||||
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
print "Before PATCH:\n";
|
||||
$createdOrder = CreateOrder::createOrder(true)->result;
|
||||
print "\nAfter PATCH (Changed Intent and Amount):\n";
|
||||
PatchOrder::patchOrder($createdOrder->id);
|
||||
}
|
||||
35
vendor/paypal/paypal-checkout-sdk/samples/PayPalClient.php
vendored
Normal file
35
vendor/paypal/paypal-checkout-sdk/samples/PayPalClient.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Sample;
|
||||
|
||||
use PayPalCheckoutSdk\Core\PayPalHttpClient;
|
||||
use PayPalCheckoutSdk\Core\SandboxEnvironment;
|
||||
|
||||
ini_set('error_reporting', E_ALL); // or error_reporting(E_ALL);
|
||||
ini_set('display_errors', '1');
|
||||
ini_set('display_startup_errors', '1');
|
||||
|
||||
class PayPalClient
|
||||
{
|
||||
/**
|
||||
* Returns PayPal HTTP client instance with environment which has access
|
||||
* credentials context. This can be used invoke PayPal API's provided the
|
||||
* credentials have the access to do so.
|
||||
*/
|
||||
public static function client()
|
||||
{
|
||||
return new PayPalHttpClient(self::environment());
|
||||
}
|
||||
|
||||
/**
|
||||
* Setting up and Returns PayPal SDK environment with PayPal Access credentials.
|
||||
* For demo purpose, we are using SandboxEnvironment. In production this will be
|
||||
* ProductionEnvironment.
|
||||
*/
|
||||
public static function environment()
|
||||
{
|
||||
$clientId = getenv("CLIENT_ID") ?: "<<PAYPAL-CLIENT-ID>>";
|
||||
$clientSecret = getenv("CLIENT_SECRET") ?: "<<PAYPAL-CLIENT-SECRET>>";
|
||||
return new SandboxEnvironment($clientId, $clientSecret);
|
||||
}
|
||||
}
|
||||
60
vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php
vendored
Normal file
60
vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace Sample;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
use Sample\PayPalClient;
|
||||
use PayPalCheckoutSdk\Payments\CapturesRefundRequest;
|
||||
|
||||
class RefundOrder
|
||||
{
|
||||
|
||||
/**
|
||||
* Function to create an refund capture request. Payload can be updated to issue partial refund.
|
||||
*/
|
||||
public static function buildRequestBody()
|
||||
{
|
||||
return array(
|
||||
'amount' =>
|
||||
array(
|
||||
'value' => '20.00',
|
||||
'currency_code' => 'USD'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function can be used to preform refund on the capture.
|
||||
*/
|
||||
public static function refundOrder($captureId, $debug=false)
|
||||
{
|
||||
$request = new CapturesRefundRequest($captureId);
|
||||
$request->body = self::buildRequestBody();
|
||||
$client = PayPalClient::client();
|
||||
$response = $client->execute($request);
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
print "Status Code: {$response->statusCode}\n";
|
||||
print "Status: {$response->result->status}\n";
|
||||
print "Order ID: {$response->result->id}\n";
|
||||
print "Links:\n";
|
||||
foreach($response->result->links as $link)
|
||||
{
|
||||
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
|
||||
}
|
||||
// To toggle printing the whole response body comment/uncomment below line
|
||||
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the driver function which invokes the refund capture function with
|
||||
* Capture Id to perform refund on capture.
|
||||
*/
|
||||
if (!count(debug_backtrace()))
|
||||
{
|
||||
RefundOrder::refundOrder('8XL09935J2224701N', true);
|
||||
}
|
||||
Reference in New Issue
Block a user