diff options
Diffstat (limited to 'vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php')
-rw-r--r-- | vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php b/vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php new file mode 100644 index 0000000..fc9428f --- /dev/null +++ b/vendor/paypal/paypal-checkout-sdk/samples/RefundOrder.php @@ -0,0 +1,60 @@ +<?php + +namespace Sample; + +require __DIR__ . '/../vendor/autoload.php'; +use Sample\PayPalClient; +use PayPalCheckoutSdk\Payments\CapturesRefundRequest; + +class RefundOrder +{ + + /** + * Function to create an refund capture request. Payload can be updated to issue partial refund. + */ + public static function buildRequestBody() + { + return array( + 'amount' => + array( + 'value' => '20.00', + 'currency_code' => 'USD' + ) + ); + } + + /** + * This function can be used to preform refund on the capture. + */ + public static function refundOrder($captureId, $debug=false) + { + $request = new CapturesRefundRequest($captureId); + $request->body = self::buildRequestBody(); + $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"; + } + // 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 refund capture function with + * Capture Id to perform refund on capture. + */ +if (!count(debug_backtrace())) +{ + RefundOrder::refundOrder('8XL09935J2224701N', true); +} |