PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6
GiveWP – Donation Plugin and Fundraising Platform v4.16.6
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / paypal / paypal-checkout-sdk / samples / AuthorizeIntentExamples / CreateOrder.php
give / vendor / paypal / paypal-checkout-sdk / samples / AuthorizeIntentExamples Last commit date
AuthorizeOrder.php 5 years ago CaptureOrder.php 5 years ago CreateOrder.php 5 years ago RunAll.php 5 years ago
CreateOrder.php
237 lines
1 <?php
2
3 namespace Sample\AuthorizeIntentExamples;
4
5 require __DIR__ . '/../../vendor/autoload.php';
6
7 use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
8 use Sample\PayPalClient;
9
10 class CreateOrder
11 {
12 /**
13 * Setting up the JSON request body for creating the Order with complete request body. The Intent in the
14 * request body should be set as "AUTHORIZE" for authorize intent flow.
15 *
16 */
17 private static function buildRequestBody()
18 {
19 return array(
20 'intent' => 'AUTHORIZE',
21 'application_context' =>
22 array(
23 'return_url' => 'https://example.com/return',
24 'cancel_url' => 'https://example.com/cancel',
25 'brand_name' => 'EXAMPLE INC',
26 'locale' => 'en-US',
27 'landing_page' => 'BILLING',
28 'shipping_preference' => 'SET_PROVIDED_ADDRESS',
29 'user_action' => 'PAY_NOW',
30 ),
31 'purchase_units' =>
32 array(
33 0 =>
34 array(
35 'reference_id' => 'PUHF',
36 'description' => 'Sporting Goods',
37 'custom_id' => 'CUST-HighFashions',
38 'soft_descriptor' => 'HighFashions',
39 'amount' =>
40 array(
41 'currency_code' => 'USD',
42 'value' => '220.00',
43 'breakdown' =>
44 array(
45 'item_total' =>
46 array(
47 'currency_code' => 'USD',
48 'value' => '180.00',
49 ),
50 'shipping' =>
51 array(
52 'currency_code' => 'USD',
53 'value' => '20.00',
54 ),
55 'handling' =>
56 array(
57 'currency_code' => 'USD',
58 'value' => '10.00',
59 ),
60 'tax_total' =>
61 array(
62 'currency_code' => 'USD',
63 'value' => '20.00',
64 ),
65 'shipping_discount' =>
66 array(
67 'currency_code' => 'USD',
68 'value' => '10.00',
69 ),
70 ),
71 ),
72 'items' =>
73 array(
74 0 =>
75 array(
76 'name' => 'T-Shirt',
77 'description' => 'Green XL',
78 'sku' => 'sku01',
79 'unit_amount' =>
80 array(
81 'currency_code' => 'USD',
82 'value' => '90.00',
83 ),
84 'tax' =>
85 array(
86 'currency_code' => 'USD',
87 'value' => '10.00',
88 ),
89 'quantity' => '1',
90 'category' => 'PHYSICAL_GOODS',
91 ),
92 1 =>
93 array(
94 'name' => 'Shoes',
95 'description' => 'Running, Size 10.5',
96 'sku' => 'sku02',
97 'unit_amount' =>
98 array(
99 'currency_code' => 'USD',
100 'value' => '45.00',
101 ),
102 'tax' =>
103 array(
104 'currency_code' => 'USD',
105 'value' => '5.00',
106 ),
107 'quantity' => '2',
108 'category' => 'PHYSICAL_GOODS',
109 ),
110 ),
111 'shipping' =>
112 array(
113 'method' => 'United States Postal Service',
114 'name' =>
115 array(
116 'full_name' => 'John Doe',
117 ),
118 'address' =>
119 array(
120 'address_line_1' => '123 Townsend St',
121 'address_line_2' => 'Floor 6',
122 'admin_area_2' => 'San Francisco',
123 'admin_area_1' => 'CA',
124 'postal_code' => '94107',
125 'country_code' => 'US',
126 ),
127 ),
128 ),
129 ),
130 );
131 }
132
133 /**
134 * Setting up the JSON request body for creating the Order with minimum request body. The Intent in the
135 * request body should be set as "AUTHORIZE" for authorize intent flow.
136 *
137 */
138 private static function buildMinimumRequestBody()
139 {
140 return array(
141 'intent' => 'AUTHORIZE',
142 'application_context' =>
143 array(
144 'return_url' => 'https://example.com/return',
145 'cancel_url' => 'https://example.com/cancel'
146 ),
147 'purchase_units' =>
148 array(
149 0 =>
150 array(
151 'amount' =>
152 array(
153 'currency_code' => 'USD',
154 'value' => '220.00'
155 )
156 )
157 )
158 );
159 }
160
161 /**
162 * This is the sample function which can be used to create an order. It uses the
163 * JSON body returned by buildRequestBody() to create an new Order.
164 */
165 public static function createOrder($debug=false)
166 {
167 $request = new OrdersCreateRequest();
168 $request->headers["prefer"] = "return=representation";
169 $request->body = CreateOrder::buildRequestBody();
170
171 $client = PayPalClient::client();
172 $response = $client->execute($request);
173 if ($debug)
174 {
175 print "Status Code: {$response->statusCode}\n";
176 print "Status: {$response->result->status}\n";
177 print "Order ID: {$response->result->id}\n";
178 print "Intent: {$response->result->intent}\n";
179 print "Links:\n";
180 foreach($response->result->links as $link)
181 {
182 print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
183 }
184
185 print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
186
187 // To toggle printing the whole response body comment/uncomment below line
188 echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
189 }
190
191
192 return $response;
193 }
194
195 /**
196 * This is the sample function which can be used to create an order. It uses the
197 * JSON body returned by buildMinimumRequestBody() to create an new Order.
198 */
199 public static function createOrderWithMinimumBody($debug=false)
200 {
201 $request = new OrdersCreateRequest();
202 $request->headers["prefer"] = "return=representation";
203 $request->body = CreateOrder::buildMinimumRequestBody();
204
205 $client = PayPalClient::client();
206 $response = $client->execute($request);
207 if ($debug)
208 {
209 print "Order With Minimum Body\n";
210 print "Status Code: {$response->statusCode}\n";
211 print "Status: {$response->result->status}\n";
212 print "Order ID: {$response->result->id}\n";
213 print "Intent: {$response->result->intent}\n";
214 print "Links:\n";
215 foreach($response->result->links as $link)
216 {
217 print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
218 }
219
220 print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
221
222 // To toggle printing the whole response body comment/uncomment below line
223 echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
224 }
225
226
227 return $response;
228 }
229 }
230
231
232
233 if (!count(debug_backtrace()))
234 {
235 CreateOrder::createOrder(true);
236 CreateOrder::createOrderWithMinimumBody(true);
237 }