summaryrefslogtreecommitdiffstats
path: root/vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php')
-rw-r--r--vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php b/vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php
new file mode 100644
index 0000000..931d5d9
--- /dev/null
+++ b/vendor/paypal/paypal-checkout-sdk/samples/CaptureIntentExamples/CaptureOrder.php
@@ -0,0 +1,60 @@
+<?php
+
+
+namespace Sample\CaptureIntentExamples;
+
+require __DIR__ . '/../../vendor/autoload.php';
+use Sample\PayPalClient;
+use PayPalCheckoutSdk\Orders\OrdersCaptureRequest;
+
+class CaptureOrder
+{
+
+ /**
+ * This function can be used to capture an order payment by passing the approved
+ * order id as argument.
+ *
+ * @param orderId
+ * @param debug
+ * @returns
+ */
+ public static function captureOrder($orderId, $debug=false)
+ {
+ $request = new OrdersCaptureRequest($orderId);
+
+ $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 "Links:\n";
+ foreach($response->result->links as $link)
+ {
+ print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
+ }
+ print "Capture Ids:\n";
+ foreach($response->result->purchase_units as $purchase_unit)
+ {
+ foreach($purchase_unit->payments->captures as $capture)
+ {
+ print "\t{$capture->id}";
+ }
+ }
+ // 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 driver function which invokes the captureOrder function with
+ * <b>Approved</b> Order Id to capture the order payment.
+ */
+if (!count(debug_backtrace()))
+{
+ CaptureOrder::captureOrder('0F105083N67049335', true);
+} \ No newline at end of file