2015-06-21 03:30:38 +00:00
< ? 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 );
2015-07-01 00:16:22 +00:00
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
2015-06-21 03:30:38 +00:00
ResultPrinter :: printResult ( " Captured Order " , " Capture " , $result -> getId (), $capture , $result );
} catch ( Exception $ex ) {
2015-07-01 00:16:22 +00:00
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
ResultPrinter :: printError ( " Captured Order " , " Capture " , null , $capture , $ex );
2015-06-21 03:30:38 +00:00
exit ( 1 );
}
return $result ;
} else {
2015-07-01 00:16:22 +00:00
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
2015-06-21 03:30:38 +00:00
ResultPrinter :: printResult ( " User Cancelled the Approval " , null );
exit ;
}