Subiendo proyecto completo sin restricciones de git ignore
This commit is contained in:
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);
|
||||
}
|
||||
Reference in New Issue
Block a user