forked from LiveCarta/PayPal-PHP-SDK
Order API Support
- Added Order API Support - Updated Sample Code to demonstrate - Updated Sample Docs - Fixes #237
This commit is contained in:
51
sample/payments/OrderCapture.php
Normal file
51
sample/payments/OrderCapture.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
// #Capture Order Sample
|
||||
// To authorize an order payment, pass the orderId in the URI of a POST call. This begins the process of confirming that funds are available until it is time to complete the payment transaction.
|
||||
// API used: POST /v1/payments/orders/<Order-Id>/authorize
|
||||
|
||||
/** @var \PayPal\Api\Payment $payment */
|
||||
$payment = require __DIR__ . '/ExecutePayment.php';
|
||||
|
||||
use PayPal\Api\Capture;
|
||||
use PayPal\Api\Amount;
|
||||
|
||||
// ### Approval Status
|
||||
// Determine if the user approved the payment or not
|
||||
if (isset($_GET['success']) && $_GET['success'] == 'true') {
|
||||
|
||||
// ### Retrieve the order
|
||||
// OrderId could be retrieved by parsing the object inside related_resources.
|
||||
$transactions = $payment->getTransactions();
|
||||
$transaction = $transactions[0];
|
||||
$relatedResources = $transaction->getRelatedResources();
|
||||
$relatedResource = $relatedResources[0];
|
||||
$order = $relatedResource->getOrder();
|
||||
|
||||
// ### Create Capture Object
|
||||
// with Amount in it
|
||||
$capture = new Capture();
|
||||
$capture->setIsFinalCapture(true);
|
||||
$capture->setAmount(new Amount(
|
||||
'{
|
||||
"total": "2.00",
|
||||
"currency": "USD"
|
||||
}'
|
||||
));
|
||||
|
||||
try {
|
||||
// ### Capture Order
|
||||
// Capture the order by passing capture object we created.
|
||||
// We will get a new capture object back.
|
||||
$result = $order->capture($capture, $apiContext);
|
||||
ResultPrinter::printResult("Captured Order", "Capture", $result->getId(), $capture, $result);
|
||||
} catch (Exception $ex) {
|
||||
ResultPrinter::printError("Captured Order", "Capture", null, $capture, $ex);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
||||
} else {
|
||||
ResultPrinter::printResult("User Cancelled the Approval", null);
|
||||
exit;
|
||||
}
|
||||
Reference in New Issue
Block a user