summaryrefslogtreecommitdiffstats
path: root/vendor/paypal/paypal-checkout-sdk/README.md
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2022-01-11 12:35:47 +0100
committerAnton Luka Šijanec <anton@sijanec.eu>2022-01-11 12:35:47 +0100
commit19985dbb8c0aa66dc4bf7905abc1148de909097d (patch)
tree2cd5a5d20d7e80fc2a51adf60d838d8a2c40999e /vendor/paypal/paypal-checkout-sdk/README.md
download1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.gz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.bz2
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.lz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.xz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.zst
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.zip
Diffstat (limited to 'vendor/paypal/paypal-checkout-sdk/README.md')
-rw-r--r--vendor/paypal/paypal-checkout-sdk/README.md169
1 files changed, 169 insertions, 0 deletions
diff --git a/vendor/paypal/paypal-checkout-sdk/README.md b/vendor/paypal/paypal-checkout-sdk/README.md
new file mode 100644
index 0000000..d8aedc0
--- /dev/null
+++ b/vendor/paypal/paypal-checkout-sdk/README.md
@@ -0,0 +1,169 @@
+# REST API SDK for PHP V2
+
+![Home Image](homepage.jpg)
+
+__Welcome to PayPal PHP SDK__. This repository contains PayPal's PHP SDK and samples for [v2/checkout/orders](https://developer.paypal.com/docs/api/orders/v2/) and [v2/payments](https://developer.paypal.com/docs/api/payments/v2/) APIs.
+
+This is a part of the next major PayPal SDK. It includes a simplified interface to only provide simple model objects and blueprints for HTTP calls. This repo currently contains functionality for PayPal Checkout APIs which includes [Orders V2](https://developer.paypal.com/docs/api/orders/v2/) and [Payments V2](https://developer.paypal.com/docs/api/payments/v2/).
+
+Please refer to the [PayPal Checkout Integration Guide](https://developer.paypal.com/docs/checkout/) for more information. Also refer to [Setup your SDK](https://developer.paypal.com/docs/checkout/reference/server-integration/setup-sdk/) for additional information about setting up the SDK's.
+
+## Prerequisites
+
+PHP 5.6 and above
+
+An environment which supports TLS 1.2 (see the TLS-update site for more information)
+
+## Usage
+
+### Binaries
+
+It is not mandatory to fork this repository for using the PayPal SDK. You can refer [PayPal Checkout Server SDK](https://developer.paypal.com/docs/checkout/reference/server-integration) for configuring and working with SDK without forking this code.
+
+For contirbuting or referrring the samples, You can fork/refer this repository.
+
+### Setting up credentials
+Get client ID and client secret by going to https://developer.paypal.com/developer/applications and generating a REST API app. Get <b>Client ID</b> and <b>Secret</b> from there.
+
+```php
+require __DIR__ . '/vendor/autoload.php';
+use PayPalCheckoutSdk\Core\PayPalHttpClient;
+use PayPalCheckoutSdk\Core\SandboxEnvironment;
+// Creating an environment
+$clientId = "<<PAYPAL-CLIENT-ID>>";
+$clientSecret = "<<PAYPAL-CLIENT-SECRET>>";
+
+$environment = new SandboxEnvironment($clientId, $clientSecret);
+$client = new PayPalHttpClient($environment);
+```
+
+## Examples
+### Creating an Order
+#### Code:
+```php
+// Construct a request object and set desired parameters
+// Here, OrdersCreateRequest() creates a POST request to /v2/checkout/orders
+use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
+$request = new OrdersCreateRequest();
+$request->prefer('return=representation');
+$request->body = [
+ "intent" => "CAPTURE",
+ "purchase_units" => [[
+ "reference_id" => "test_ref_id1",
+ "amount" => [
+ "value" => "100.00",
+ "currency_code" => "USD"
+ ]
+ ]],
+ "application_context" => [
+ "cancel_url" => "https://example.com/cancel",
+ "return_url" => "https://example.com/return"
+ ]
+ ];
+
+try {
+ // Call API with your client and get a response for your call
+ $response = $client->execute($request);
+
+ // If call returns body in response, you can get the deserialized version from the result attribute of the response
+ print_r($response);
+}catch (HttpException $ex) {
+ echo $ex->statusCode;
+ print_r($ex->getMessage());
+}
+```
+#### Example Output:
+```
+Status Code: 201
+Id: 8GB67279RC051624C
+Intent: CAPTURE
+Gross_amount:
+ Currency_code: USD
+ Value: 100.00
+Purchase_units:
+ 1:
+ Amount:
+ Currency_code: USD
+ Value: 100.00
+Create_time: 2018-08-06T23:34:31Z
+Links:
+ 1:
+ Href: https://api.sandbox.paypal.com/v2/checkout/orders/8GB67279RC051624C
+ Rel: self
+ Method: GET
+ 2:
+ Href: https://www.sandbox.paypal.com/checkoutnow?token=8GB67279RC051624C
+ Rel: approve
+ Method: GET
+ 3:
+ Href: https://api.sandbox.paypal.com/v2/checkout/orders/8GB67279RC051624C/capture
+ Rel: capture
+ Method: POST
+Status: CREATED
+```
+
+## Capturing an Order
+Before capture, Order should be approved by the buyer using the approval URL returned in the create order response.
+### Code to Execute:
+```php
+use PayPalCheckoutSdk\Orders\OrdersCaptureRequest;
+// Here, OrdersCaptureRequest() creates a POST request to /v2/checkout/orders
+// $response->result->id gives the orderId of the order created above
+$request = new OrdersCaptureRequest("APPROVED-ORDER-ID");
+$request->prefer('return=representation');
+try {
+ // Call API with your client and get a response for your call
+ $response = $client->execute($request);
+
+ // If call returns body in response, you can get the deserialized version from the result attribute of the response
+ print_r($response);
+}catch (HttpException $ex) {
+ echo $ex->statusCode;
+ print_r($ex->getMessage());
+}
+```
+
+#### Example Output:
+```
+Status Code: 201
+Id: 8GB67279RC051624C
+Create_time: 2018-08-06T23:39:11Z
+Update_time: 2018-08-06T23:39:11Z
+Payer:
+ Name:
+ Given_name: test
+ Surname: buyer
+ Email_address: test-buyer@paypal.com
+ Payer_id: KWADC7LXRRWCE
+ Phone:
+ Phone_number:
+ National_number: 408-411-2134
+ Address:
+ Country_code: US
+Links:
+ 1:
+ Href: https://api.sandbox.paypal.com/v2/checkout/orders/3L848818A2897925Y
+ Rel: self
+ Method: GET
+Status: COMPLETED
+```
+
+## Running tests
+
+To run integration tests using your client id and secret, clone this repository and run the following command:
+```sh
+$ composer install
+$ CLIENT_ID=YOUR_SANDBOX_CLIENT_ID CLIENT_SECRET=OUR_SANDBOX_CLIENT_SECRET composer integration
+```
+
+## Samples
+
+You can start off by trying out [creating and capturing an order](/samples/CaptureIntentExamples/RunAll.php)
+
+To try out different samples for both create and authorize intent check [this link](/samples)
+
+Note: Update the `PayPalClient.php` with your sandbox client credentials or pass your client credentials as environment variable whie executing the samples.
+
+
+## License
+Code released under [SDK LICENSE](LICENSE)