Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
PayPal\Http\Environment\ProductionEnvironmentPayPal\Checkout\Requests\OrderCaptureRequest// import namespace
use PayPal\Http\Environment\SandboxEnvironment;
use PayPal\Http\PayPalClient;
// client id and client secret retrieved from PayPal
$clientId = "<<PAYPAL-CLIENT-ID>>";
$clientSecret = "<<PAYPAL-CLIENT-SECRET>>";
// create a new sandbox environment
$environment = new SandboxEnvironment($clientId, $clientSecret);
// create a new client
$client = new PayPalClient($environment);// import namespace
use PayPal\Http\Environment\ProductionEnvironment;
use PayPal\Http\PayPalClient;
// client id and client secret retrieved from PayPal
$clientId = "<<PAYPAL-CLIENT-ID>>";
$clientSecret = "<<PAYPAL-CLIENT-SECRET>>";
// create a new sandbox environment
$environment = new ProductionEnvironment($clientId, $clientSecret);
// create a new client
$client = new PayPalClient($environment);// Create a purchase unit with the total amount
$purchase_unit = new PurchaseUnit(AmountBreakdown::of('100.00'));
// Create & add item to purchase unit
$purchase_unit->addItem(Item::make('Item 1', '100.00', 'USD', 1));
// Create a new order with intent to capture a payment
$order = (new Order())->addPurchaseUnit($purchase_unit);
// Send request to PayPal
$response = $client->send(new OrderCreateRequest($order));// Create an order show http request
$request = new OrderShowRequest($order_id);
// Send request to PayPal
$response = $client->send($request);
// Get results
$result = json_decode($response->getBody()->getContents());// Create an order capture http request
$request = new OrderCaptureRequest($order_id);
// Send request to PayPal
$response = $client->send($request);
// Get results
$result = json_decode($response->getBody()->getContents());use PayPal\Checkout\Requests\OrderCreateRequest;
use PayPal\Checkout\Orders\AmountBreakdown;
use PayPal\Checkout\Orders\Item;
use PayPal\Checkout\Orders\Order;
use PayPal\Checkout\Orders\PurchaseUnit;
// Create a purchase unit with the total amount
$purchase_unit = new PurchaseUnit(AmountBreakdown::of('200.00', 'USD'));
// Create & add item to purchase unit
$purchase_unit->addItem(Item::make('Item 1', '100.00', 'USD', 1));
$purchase_unit->addItem(Item::make('Item 2', '100.00', 'USD', 1));
// Create a new order with intent to capture a payment
$order = (new Order())->addPurchaseUnit($purchase_unit);
// Send request to PayPal
$response = $client->send(new OrderCreateRequest($order));
// Get results
$result = json_decode($response->getBody()->getContents());{
"id": "8F783829JA718493L",
"status": "CREATED",
"links": [
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8F783829JA718493L",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/checkoutnow?token=8F783829JA718493L",
"rel": "approve",
"method": "GET"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8F783829JA718493L",
"rel": "update",
"method": "PATCH"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8F783829JA718493L/capture",
"rel": "capture",
"method": "POST"
}
]
}use PayPal\Checkout\Requests\OrderShowRequest;
// Get order id from database or request
$order_id = '8F783829JA718493L';
// Create an order show http request
$request = new OrderShowRequest($order_id);
// Send request to PayPal
$response = $client->send($request);
// Get results
$result = json_decode($response->getBody()->getContents());public function __construct(
?string $brand_name = null,
?string $locale = 'en-US',
?string $landing_page = NO_PREFERENCE,
?string $shipping_preference = NO_SHIPPING,
?string $return_url = null,
?string $cancel_url = null
);$application_context = new ApplicationContext('PHPJuice', 'en-US');public static function create(
?string $brand_name = null,
?string $locale = 'en-US',
?string $landing_page = NO_PREFERENCE,
?string $shipping_preference = NO_SHIPPING,
?string $return_url = null,
?string $cancel_url = null
): ApplicationContext;$application_context = ApplicationContext::create('PHPJuice', 'en-US');public function getBrandName(): ?string;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->getBrandName() // PHPJuicepublic function setBrandName($brand_name): self;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setBrandName('PHPJuice Inc');
$application_context->getBrandName(); // PHPJuice Incpublic function getLocale(): string;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->getLocale() // en-USpublic function setLocale($locale): self;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setLocale('en-GB');
$application_context->getLocale(); // en-GBpublic function getShippingPreference(): string;$application_context = ApplicationContext::create('PHPJuice', 'en-US', 'NO_SHIPPING');
$application_context->getShippingPreference() // NO_SHIPPINGpublic function setShippingPreference($shipping_preference): self;const GET_FROM_FILE = 'GET_FROM_FILE';
const NO_SHIPPING = 'NO_SHIPPING';
const SET_PROVIDED_ADDRESS = 'SET_PROVIDED_ADDRESS';$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setShippingPreference('GET_FROM_FILE');
$application_context->getShippingPreference(); // GET_FROM_FILEpublic function getLandingPage(): string;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->getLandingPage() // NO_PREFERENCEpublic function setLandingPage($landing_page): self;const LOGIN = 'LOGIN';
const BILLING = 'BILLING';
const NO_PREFERENCE = 'NO_PREFERENCE';$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setLandingPage('BILLING');
$application_context->getLandingPage(); // BILLINGpublic function getUserAction(): string;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->getUserAction() // CONTINUEpublic function setUserAction($user_action): self;const ACTION_CONTINUE = 'CONTINUE';
const ACTION_PAY_NOW = 'PAY_NOW';$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setUserAction('PAY_NOW');
$application_context->getUserAction(); // PAY_NOWpublic function getReturnUrl(): string;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->getReturnUrl() // nullpublic function setReturnUrl($return_url): self;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setReturnUrl('https://phpjuice.org/success');
$application_context->getReturnUrl(); // https://phpjuice.org/successpublic function getCancelUrl(): string;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->getCancelUrl() // nullpublic function setCancelUrl($cancel_url): self;$application_context = ApplicationContext::create('PHPJuice', 'en-US');
$application_context->setCancelUrl('https://phpjuice.org/cancel');
$application_context->getCancelUrl(); // https://phpjuice.org/cancel{
"id": "8F783829JA718493L",
"intent": "CAPTURE",
"status": "CREATED",
"purchase_units": [
{
"reference_id": "default",
"amount": {
"currency_code": "USD",
"value": "100.00",
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "100.00"
}
}
},
"payee": {
"email_address": "merchant@phpjuice.com",
"merchant_id": "ZCM7386XH4H6Q"
},
"items": [
{
"name": "Item 1",
"unit_amount": {
"currency_code": "USD",
"value": "100.00"
},
"quantity": "1",
"description": "My item description",
"category": "DIGITAL_GOODS"
}
]
}
],
"create_time": "2021-10-04T13:21:27Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8F783829JA718493L",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/checkoutnow?token=8F783829JA718493L",
"rel": "approve",
"method": "GET"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8F783829JA718493L",
"rel": "update",
"method": "PATCH"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8F783829JA718493L/capture",
"rel": "capture",
"method": "POST"
}
]
}public function __construct(string $value, string $currency_code = 'USD');$amount = new Amount('100.00', 'USD');public static function of(string $value, string $currency_code = 'USD'): Amount;$amount = Amount::of('100.00', 'USD');public function getCurrencyCode(): string;$amount = Amount::of('100.00', 'USD');
$currency = $amount->getCurrencyCode(); // USDpublic function getValue(): string;$amount = Amount::of('100.00', 'USD');
$value = $amount->getValue(); // '100.00'public function toArray(): array;$amount = Amount::of('100.00', 'USD');
$array = $amount->toArray();
// result
[
'value' => '100.00',
'currency_code' => 'USD'
];public function __construct(string $value, string $currency_code = 'USD');$amount = new AmountBreakdown('100.00', 'USD');public static function of(string $value, string $currency_code = 'USD'): AmountBreakdown;$amount = AmountBreakdown::of('100.00', 'USD');public function getCurrencyCode(): string;$amount = AmountBreakdown::of('100.00', 'USD');
$currency = $amount->getCurrencyCode(); // USDpublic function getValue(): string;$amount = AmountBreakdown::of('100.00', 'USD');
$value = $amount->getValue(); // '100.00'public function toArray(): array;$amount = AmountBreakdown::of('100.00', 'USD');
$array = $amount->toArray();
// result
[
'value' => '100.00',
'currency_code' => 'USD'
];public function __construct(string $email_address, string $merchant_id);$payee = new Payee('payee@paypal.com', 'YP568Y95AVSDY');public static function create(string $email_address, string $merchant_id): Payee;$payee = Payee::create('payee@paypal.com', 'YP568Y95AVSDY');public function setEmailAddress(string $email_address): self$payee = Payee::create('payee@paypal.com', 'YP568Y95AVSDY');
$payee->setEmailAddress('payee2@paypal.com');public function getEmailAddress(): string;$payee = Payee::create('payee@paypal.com', 'YP568Y95AVSDY');
$payee->getEmailAddress() // payee@paypal.com;public function setMerchantId(string $merchant_id): self;$payee = Payee::create('payee@paypal.com', 'YP568Y95AVSDY');
$payee->setEmailAddress('YP568Y95AVSDY');public function getMerchantId(): ?string$payee = Payee::create('payee@paypal.com', 'YP568Y95AVSDY');
$payee->getMerchantId() // YP568Y95AVSDY;use PayPal\Checkout\Requests\OrderCaptureRequest;
// Get order id from database or request
$order_id = '8F783829JA718493L';
// Create an order show http request
$request = new OrderCaptureRequest($order_id);
// Send request to PayPal
$response = $client->send($request);
// Get results
$result = json_decode($response->getBody()->getContents());{
"id": "8F783829JA718493L",
"intent": "CAPTURE",
"status": "COMPLETED",
"purchase_units": [
{
"reference_id": "default",
"amount": {
"currency_code": "CAD",
"value": "200.00",
"breakdown": {
"item_total": {
"currency_code": "CAD",
"value": "200.00"
},
"shipping": {
"currency_code": "CAD",
"value": "0.00"
},
"handling": {
"currency_code": "CAD",
"value": "0.00"
},
"insurance": {
"currency_code": "CAD",
"value": "0.00"
},
"shipping_discount": {
"currency_code": "CAD",
"value": "0.00"
}
}
},
"payee": {
"email_address": "merchant@phpjuice.com",
"merchant_id": "ZCM7386XH4H6Q"
},
"description": "My item description",
"items": [
{
"name": "Item",
"unit_amount": {
"currency_code": "CAD",
"value": "100.00"
},
"tax": {
"currency_code": "CAD",
"value": "0.00"
},
"quantity": "2"
}
],
"payments": {
"captures": [
{
"id": "6SW93058HS0959910",
"status": "COMPLETED",
"amount": {
"currency_code": "CAD",
"value": "200.00"
},
"final_capture": true,
"seller_protection": {
"status": "ELIGIBLE",
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
]
},
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "CAD",
"value": "200.00"
},
"paypal_fee": {
"currency_code": "CAD",
"value": "6.10"
},
"net_amount": {
"currency_code": "CAD",
"value": "193.90"
}
},
"links": [
{
"href": "https:\/\/api.sandbox.paypal.com\/v2\/payments\/captures\/6SW93058HS0959910",
"rel": "self",
"method": "GET"
},
{
"href": "https:\/\/api.sandbox.paypal.com\/v2\/payments\/captures\/6SW93058HS0959910\/refund",
"rel": "refund",
"method": "POST"
},
{
"href": "https:\/\/api.sandbox.paypal.com\/v2\/checkout\/orders\/8F783829JA718493L",
"rel": "up",
"method": "GET"
}
],
"create_time": "2021-10-04T16:19:27Z",
"update_time": "2021-10-04T16:19:27Z"
}
]
}
}
],
"payer": {
"name": {
"given_name": "John",
"surname": "Doe"
},
"email_address": "buyer@phpjuice.com",
"payer_id": "DCTWHLD9BMMMC",
"address": {
"country_code": "CA"
}
},
"create_time": "2021-10-04T13:21:27Z",
"update_time": "2021-10-04T16:19:27Z",
"links": [
{
"href": "https:\/\/api.sandbox.paypal.com\/v2\/checkout\/orders\/8F783829JA718493L",
"rel": "self",
"method": "GET"
}
]
}use GuzzleHttp\Exception\RequestException;
try {
$id = '8F783829JA718493L';
$response = $client->send(new OrderCaptureRequest($id));
$result = json_decode($response->getBody()->getContents());
} catch (RequestException $e) {
$errors = json_decode($e->getResponse()->getBody()->getContents());
}public function __construct(string $intent = CAPTURE);$order = new Order('CAPTURE');public function addPurchaseUnit(PurchaseUnit $purchase_unit): self;$order = new Order('CAPTURE');
$order->addPurchaseUnit($purchase_unit);public function getPurchaseUnits(): array;$purchase_units = $order->getPurchaseUnits($purchase_unit);public function setApplicationContext(ApplicationContext $application_context): self;$order = new Order('CAPTURE');
$order->setApplicationContext($application_context);public function getApplicationContext(): ?ApplicationContext;$application_context = $order->getApplicationContext() // ApplicationContext::class ;public function setIntent(string $intent): self;$order = new Order('CAPTURE');
$order->setIntent('AUTHORIZE');public function getIntent(): string;$order = new Order('CAPTURE');
$intent = $order->getIntent() // CAPTURE;public function getId(): string;$order = new Order('CAPTURE');
$id = $order->getId() // 8F783829JA718493L;public function getStatus(): string;$order = new Order('CAPTURE');
$status = $order->getStatus() // COMPLETED;public function getPayee(): ?Payee;$order = new Order('CAPTURE');
$payee = $order->getPayee() // Payee::class;{
"name": "UNPROCESSABLE_ENTITY",
"details": [
{
"issue": "ORDER_NOT_APPROVED",
"description": "Payer has not yet approved the Order for payment. Please redirect the payer to the 'rel':'approve' url returned as part of the HATEOAS links within the Create Order call or provide a valid payment_source in the request."
}
],
"message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
"debug_id": "80cb04a5dbea7",
"links": [
{
"href": "https://developer.paypal.com/docs/api/orders/v2/#error-ORDER_NOT_APPROVED",
"rel": "information_link",
"method": "GET"
}
]
}public function __construct(AmountBreakdown $amount);$amount = AmountBreakdown::of('100.00', 'CAD');
$purchase_unit = new PurchaseUnit($amount);public function addItems(array $items): self;$amount = AmountBreakdown::of('100', 'CAD');
$purchase_unit = new PurchaseUnit($amount);
$items = array_map(function ($index) {
return Item::create("Item $index", '100.00', 'CAD', $index);
}, [1, 2, 3]);
$purchase_unit->addItems($items);
public function addItem(Item $item): self;$amount = AmountBreakdown::of('100', 'CAD');
$purchase_unit = new PurchaseUnit($amount);
$purchase_unit->addItem(Item::create('Item 1', '100.00', 'CAD', 2));public function getItems(): array;$amount = AmountBreakdown::of('100', 'CAD');
$purchase_unit = new PurchaseUnit($amount);
$purchase_unit->addItem(Item::create('Item 1', '100.00', 'CAD', 2));
$purchase_unit->addItem(Item::create('Item 2', '100.00', 'CAD', 2));
$purchase_unit->getItems();public function getAmount(): AmountBreakdown;$amount = AmountBreakdown::of('100', 'CAD');
$purchase_unit = new PurchaseUnit($amount);
$amount = $purchaseUnit->getAmount();public function __construct(string $name, AmountContract $amount, int $quantity = 1);$amount = Amount::of('100', 'USD');
$item = new Item('Item name', $amount, 2);public static function create(string $name, string $value, string $currency_code = 'USD', int $quantity = 1): Item;$item = Item::create('Item name', '100.00', 'USD', 4);public function setUnitAmount(AmountContract $unit_amount): self;$item = Item::create('Item name', '100.00', 'USD', 4);
$new_amount = Amount::of('200.00', 'USD');
$item->setUnitAmount($new_amount);public function getSku(): string;$item = Item::create('Item name', '100.00', 'USD', 4);
$item->getSku() // random ex:5819f3ad1c0cepublic function setSku(string $sku): self;$item = Item::create('Item 1', '100.00', 'USD', 4);
$item->setSku('item_5819f3ad1c0ce');
$item->getSku(); // item_5819f3ad1c0cepublic function getName(): ?string;$item = Item::create('Item name', '100.00', 'USD', 4);
$item->getName() // Item namepublic function setName(string $name): self;$item = Item::create('Item 1', '100.00', 'USD', 4);
$item->setName('My Item');
$item->getName(); // My Itempublic function getDescription(): ?string;$item = Item::create('Item name', '100.00', 'USD', 4);
$item->getDescription() // nullpublic function setDescription(string $description): self;$item = Item::create('Item 1', '100.00', 'USD', 4);
$item->setDescription('My Item description');
$item->getDescription(); // My Item descriptionpublic function getQuantity(): int;$item = Item::create('Item name', '100.00', 'USD', 4);
$item->getQuantity() // 4public function setQuantity(int $quantity): self;$item = Item::create('Item 1', '100.00', 'USD', 4);
$item->setQuantity(3);
$item->getQuantity(); // 3public function getCategory(): ?string;$item = Item::create('Item name', '100.00', 'USD', 4);
$item->getCategory() // DIGITAL_GOODSpublic function setCategory(string $category): self;const DIGITAL_GOODS = 'DIGITAL_GOODS';
const PHYSICAL_GOODS = 'PHYSICAL_GOODS';$item = Item::create('Item 1', '100.00', 'USD', 4);
$item->setCategory(PHYSICAL_GOODS);
$item->getCategory(); // PHYSICAL_GOODSpublic function toArray(): array;$item = Item::create('Item name', '100.00', 'USD', 4);
$item->toArray();
// result
[
'name' => 'Item name',
'unit_amount' => [
'value' => '100.00',
'currency_code' => 'USD'
],
'quantity' => 4,
'description' => null,
'category' => 'DIGITAL_GOODS',
]