Viewing file: OrderAuthorize.php (2.01 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php // #Authorize 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\Amount; use PayPal\Api\Authorization;
// ### 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 Authorization Object // with Amount in it $authorization = new Authorization(); $authorization->setAmount(new Amount( '{ "total": "2.00", "currency": "USD" }' ));
try { // ### Authorize Order // Authorize the order by passing authorization object we created. // We will get a new authorization object back. $result = $order->authorize($authorization, $apiContext); // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY ResultPrinter::printResult("Authorized Order", "Authorization", $result->getId(), $authorization, $result); } catch (Exception $ex) { // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY ResultPrinter::printError("Authorized Order", "Authorization", null, $authorization, $ex); exit(1); }
return $result;
} else { // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY ResultPrinter::printResult("User Cancelled the Approval", null); exit; }
|