Passed
Push — master ( 5114f2...3d08b7 )
by Brian
04:44
created
includes/gateways/class-getpaid-paypal-gateway.php 1 patch
Indentation   +344 added lines, -344 removed lines patch added patch discarded remove patch
@@ -13,96 +13,96 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Paypal_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'paypal';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'sandbox', 'single_subscription_group' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34 34
     public $order = 1;
35 35
 
36 36
     /**
37
-	 * Stores line items to send to PayPal.
38
-	 *
39
-	 * @var array
40
-	 */
37
+     * Stores line items to send to PayPal.
38
+     *
39
+     * @var array
40
+     */
41 41
     protected $line_items = array();
42 42
 
43 43
     /**
44
-	 * Endpoint for requests from PayPal.
45
-	 *
46
-	 * @var string
47
-	 */
48
-	protected $notify_url;
49
-
50
-	/**
51
-	 * Endpoint for requests to PayPal.
52
-	 *
53
-	 * @var string
54
-	 */
44
+     * Endpoint for requests from PayPal.
45
+     *
46
+     * @var string
47
+     */
48
+    protected $notify_url;
49
+
50
+    /**
51
+     * Endpoint for requests to PayPal.
52
+     *
53
+     * @var string
54
+     */
55 55
     protected $endpoint;
56 56
 
57 57
     /**
58
-	 * Currencies this gateway is allowed for.
59
-	 *
60
-	 * @var array
61
-	 */
62
-	public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
58
+     * Currencies this gateway is allowed for.
59
+     *
60
+     * @var array
61
+     */
62
+    public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
63 63
 
64 64
     /**
65
-	 * URL to view a transaction.
66
-	 *
67
-	 * @var string
68
-	 */
65
+     * URL to view a transaction.
66
+     *
67
+     * @var string
68
+     */
69 69
     public $view_transaction_url = 'https://www.{sandbox}paypal.com/activity/payment/%s';
70 70
 
71 71
     /**
72
-	 * URL to view a subscription.
73
-	 *
74
-	 * @var string
75
-	 */
76
-	public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
72
+     * URL to view a subscription.
73
+     *
74
+     * @var string
75
+     */
76
+    public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
77 77
 
78 78
     /**
79
-	 * Class constructor.
80
-	 */
81
-	public function __construct() {
79
+     * Class constructor.
80
+     */
81
+    public function __construct() {
82 82
 
83 83
         $this->title                = __( 'PayPal Standard', 'invoicing' );
84 84
         $this->method_title         = __( 'PayPal Standard', 'invoicing' );
85 85
         $this->checkout_button_text = __( 'Proceed to PayPal', 'invoicing' );
86 86
         $this->notify_url           = wpinv_get_ipn_url( $this->id );
87 87
 
88
-		add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
88
+        add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
89 89
         add_filter( 'getpaid_paypal_sandbox_notice', array( $this, 'sandbox_notice' ) );
90
-		add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
-		add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
90
+        add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
+        add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
92 92
 
93 93
         parent::__construct();
94 94
     }
95 95
 
96 96
     /**
97
-	 * Process Payment.
98
-	 *
99
-	 *
100
-	 * @param WPInv_Invoice $invoice Invoice.
101
-	 * @param array $submission_data Posted checkout fields.
102
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103
-	 * @return array
104
-	 */
105
-	public function process_payment( $invoice, $submission_data, $submission ) {
97
+     * Process Payment.
98
+     *
99
+     *
100
+     * @param WPInv_Invoice $invoice Invoice.
101
+     * @param array $submission_data Posted checkout fields.
102
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103
+     * @return array
104
+     */
105
+    public function process_payment( $invoice, $submission_data, $submission ) {
106 106
 
107 107
         // Get redirect url.
108 108
         $paypal_redirect = $this->get_request_url( $invoice );
@@ -125,15 +125,15 @@  discard block
 block discarded – undo
125 125
     }
126 126
 
127 127
     /**
128
-	 * Get the PayPal request URL for an invoice.
129
-	 *
130
-	 * @param  WPInv_Invoice $invoice Invoice object.
131
-	 * @return string
132
-	 */
133
-	public function get_request_url( $invoice ) {
128
+     * Get the PayPal request URL for an invoice.
129
+     *
130
+     * @param  WPInv_Invoice $invoice Invoice object.
131
+     * @return string
132
+     */
133
+    public function get_request_url( $invoice ) {
134 134
 
135 135
         // Endpoint for this request
136
-		$this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
136
+        $this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
137 137
 
138 138
         // Retrieve paypal args.
139 139
         $paypal_args       = map_deep( $this->get_paypal_args( $invoice ), 'urlencode' );
@@ -146,45 +146,45 @@  discard block
 block discarded – undo
146 146
 
147 147
         return add_query_arg( $paypal_args, $this->endpoint );
148 148
 
149
-	}
149
+    }
150 150
 
151 151
     /**
152
-	 * Get PayPal Args for passing to PP.
153
-	 *
154
-	 * @param  WPInv_Invoice $invoice Invoice object.
155
-	 * @return array
156
-	 */
157
-	protected function get_paypal_args( $invoice ) {
152
+     * Get PayPal Args for passing to PP.
153
+     *
154
+     * @param  WPInv_Invoice $invoice Invoice object.
155
+     * @return array
156
+     */
157
+    protected function get_paypal_args( $invoice ) {
158 158
 
159 159
         // Whether or not to send the line items as one item.
160
-		$force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
161
-
162
-		if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
163
-			$force_one_line_item = true;
164
-		}
165
-
166
-		$paypal_args = apply_filters(
167
-			'getpaid_paypal_args',
168
-			array_merge(
169
-				$this->get_transaction_args( $invoice ),
170
-				$this->get_line_item_args( $invoice, $force_one_line_item )
171
-			),
172
-			$invoice
173
-		);
174
-
175
-		return $this->fix_request_length( $invoice, $paypal_args );
160
+        $force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
161
+
162
+        if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
163
+            $force_one_line_item = true;
164
+        }
165
+
166
+        $paypal_args = apply_filters(
167
+            'getpaid_paypal_args',
168
+            array_merge(
169
+                $this->get_transaction_args( $invoice ),
170
+                $this->get_line_item_args( $invoice, $force_one_line_item )
171
+            ),
172
+            $invoice
173
+        );
174
+
175
+        return $this->fix_request_length( $invoice, $paypal_args );
176 176
     }
177 177
 
178 178
     /**
179
-	 * Get transaction args for paypal request.
180
-	 *
181
-	 * @param WPInv_Invoice $invoice Invoice object.
182
-	 * @return array
183
-	 */
184
-	protected function get_transaction_args( $invoice ) {
185
-
186
-		$email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
187
-		return array(
179
+     * Get transaction args for paypal request.
180
+     *
181
+     * @param WPInv_Invoice $invoice Invoice object.
182
+     * @return array
183
+     */
184
+    protected function get_transaction_args( $invoice ) {
185
+
186
+        $email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
187
+        return array(
188 188
             'cmd'           => '_cart',
189 189
             'business'      => $email,
190 190
             'no_shipping'   => '1',
@@ -209,16 +209,16 @@  discard block
 block discarded – undo
209 209
     }
210 210
 
211 211
     /**
212
-	 * Get line item args for paypal request.
213
-	 *
214
-	 * @param  WPInv_Invoice $invoice Invoice object.
215
-	 * @param  bool     $force_one_line_item Create only one item for this invoice.
216
-	 * @return array
217
-	 */
218
-	protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
212
+     * Get line item args for paypal request.
213
+     *
214
+     * @param  WPInv_Invoice $invoice Invoice object.
215
+     * @param  bool     $force_one_line_item Create only one item for this invoice.
216
+     * @return array
217
+     */
218
+    protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
219 219
 
220 220
         // Maybe send invoice as a single item.
221
-		if ( $force_one_line_item ) {
221
+        if ( $force_one_line_item ) {
222 222
             return $this->get_line_item_args_single_item( $invoice );
223 223
         }
224 224
 
@@ -238,129 +238,129 @@  discard block
 block discarded – undo
238 238
             $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_discount(), 2 );
239 239
         }
240 240
 
241
-		return array_merge( $line_item_args, $this->get_line_items() );
241
+        return array_merge( $line_item_args, $this->get_line_items() );
242 242
 
243 243
     }
244 244
 
245 245
     /**
246
-	 * Get line item args for paypal request as a single line item.
247
-	 *
248
-	 * @param  WPInv_Invoice $invoice Invoice object.
249
-	 * @return array
250
-	 */
251
-	protected function get_line_item_args_single_item( $invoice ) {
252
-		$this->delete_line_items();
246
+     * Get line item args for paypal request as a single line item.
247
+     *
248
+     * @param  WPInv_Invoice $invoice Invoice object.
249
+     * @return array
250
+     */
251
+    protected function get_line_item_args_single_item( $invoice ) {
252
+        $this->delete_line_items();
253 253
 
254 254
         $item_name = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() );
255
-		$this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
255
+        $this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
256 256
 
257
-		return $this->get_line_items();
257
+        return $this->get_line_items();
258 258
     }
259 259
 
260 260
     /**
261
-	 * Return all line items.
262
-	 */
263
-	protected function get_line_items() {
264
-		return $this->line_items;
265
-	}
261
+     * Return all line items.
262
+     */
263
+    protected function get_line_items() {
264
+        return $this->line_items;
265
+    }
266 266
 
267 267
     /**
268
-	 * Remove all line items.
269
-	 */
270
-	protected function delete_line_items() {
271
-		$this->line_items = array();
268
+     * Remove all line items.
269
+     */
270
+    protected function delete_line_items() {
271
+        $this->line_items = array();
272 272
     }
273 273
 
274 274
     /**
275
-	 * Prepare line items to send to paypal.
276
-	 *
277
-	 * @param  WPInv_Invoice $invoice Invoice object.
278
-	 */
279
-	protected function prepare_line_items( $invoice ) {
280
-		$this->delete_line_items();
281
-
282
-		// Items.
283
-		foreach ( $invoice->get_items() as $item ) {
284
-			$amount   = $item->get_price();
285
-			$quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
-			$this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
275
+     * Prepare line items to send to paypal.
276
+     *
277
+     * @param  WPInv_Invoice $invoice Invoice object.
278
+     */
279
+    protected function prepare_line_items( $invoice ) {
280
+        $this->delete_line_items();
281
+
282
+        // Items.
283
+        foreach ( $invoice->get_items() as $item ) {
284
+            $amount   = $item->get_price();
285
+            $quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
+            $this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
287 287
         }
288 288
 
289 289
         // Fees.
290
-		foreach ( $invoice->get_fees() as $fee => $data ) {
290
+        foreach ( $invoice->get_fees() as $fee => $data ) {
291 291
             $this->add_line_item( $fee, 1, wpinv_sanitize_amount( $data['initial_fee'] ) );
292 292
         }
293 293
 
294 294
     }
295 295
 
296 296
     /**
297
-	 * Add PayPal Line Item.
298
-	 *
299
-	 * @param  string $item_name Item name.
300
-	 * @param  float    $quantity Item quantity.
301
-	 * @param  float  $amount Amount.
302
-	 * @param  string $item_number Item number.
303
-	 */
304
-	protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
-		$index = ( count( $this->line_items ) / 4 ) + 1;
306
-
307
-		$item = apply_filters(
308
-			'getpaid_paypal_line_item',
309
-			array(
310
-				'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
311
-				'quantity'    => (float) $quantity,
312
-				'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
313
-				'item_number' => $item_number,
314
-			),
315
-			$item_name,
316
-			$quantity,
317
-			$amount,
318
-			$item_number
319
-		);
320
-
321
-		$this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
297
+     * Add PayPal Line Item.
298
+     *
299
+     * @param  string $item_name Item name.
300
+     * @param  float    $quantity Item quantity.
301
+     * @param  float  $amount Amount.
302
+     * @param  string $item_number Item number.
303
+     */
304
+    protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
+        $index = ( count( $this->line_items ) / 4 ) + 1;
306
+
307
+        $item = apply_filters(
308
+            'getpaid_paypal_line_item',
309
+            array(
310
+                'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
311
+                'quantity'    => (float) $quantity,
312
+                'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
313
+                'item_number' => $item_number,
314
+            ),
315
+            $item_name,
316
+            $quantity,
317
+            $amount,
318
+            $item_number
319
+        );
320
+
321
+        $this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
322 322
         $this->line_items[ 'quantity_' . $index ]    = $item['quantity'];
323 323
 
324 324
         // The price or amount of the product, service, or contribution, not including shipping, handling, or tax.
325
-		$this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
-		$this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
325
+        $this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
+        $this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
327 327
     }
328 328
 
329 329
     /**
330
-	 * If the default request with line items is too long, generate a new one with only one line item.
331
-	 *
332
-	 * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
333
-	 *
334
-	 * @param WPInv_Invoice $invoice Invoice to be sent to Paypal.
335
-	 * @param array    $paypal_args Arguments sent to Paypal in the request.
336
-	 * @return array
337
-	 */
338
-	protected function fix_request_length( $invoice, $paypal_args ) {
339
-		$max_paypal_length = 2083;
340
-		$query_candidate   = http_build_query( $paypal_args, '', '&' );
341
-
342
-		if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
343
-			return $paypal_args;
344
-		}
345
-
346
-		return apply_filters(
347
-			'getpaid_paypal_args',
348
-			array_merge(
349
-				$this->get_transaction_args( $invoice ),
350
-				$this->get_line_item_args( $invoice, true )
351
-			),
352
-			$invoice
353
-		);
330
+     * If the default request with line items is too long, generate a new one with only one line item.
331
+     *
332
+     * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
333
+     *
334
+     * @param WPInv_Invoice $invoice Invoice to be sent to Paypal.
335
+     * @param array    $paypal_args Arguments sent to Paypal in the request.
336
+     * @return array
337
+     */
338
+    protected function fix_request_length( $invoice, $paypal_args ) {
339
+        $max_paypal_length = 2083;
340
+        $query_candidate   = http_build_query( $paypal_args, '', '&' );
341
+
342
+        if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
343
+            return $paypal_args;
344
+        }
345
+
346
+        return apply_filters(
347
+            'getpaid_paypal_args',
348
+            array_merge(
349
+                $this->get_transaction_args( $invoice ),
350
+                $this->get_line_item_args( $invoice, true )
351
+            ),
352
+            $invoice
353
+        );
354 354
 
355 355
     }
356 356
 
357 357
     /**
358
-	 * Processes recurring invoices.
359
-	 *
360
-	 * @param  array $paypal_args PayPal args.
361
-	 * @param  WPInv_Invoice    $invoice Invoice object.
362
-	 */
363
-	public function process_subscription( $paypal_args, $invoice ) {
358
+     * Processes recurring invoices.
359
+     *
360
+     * @param  array $paypal_args PayPal args.
361
+     * @param  WPInv_Invoice    $invoice Invoice object.
362
+     */
363
+    public function process_subscription( $paypal_args, $invoice ) {
364 364
 
365 365
         // Make sure this is a subscription.
366 366
         if ( ! $invoice->is_recurring() || ! $subscription = getpaid_get_invoice_subscription( $invoice ) ) {
@@ -385,11 +385,11 @@  discard block
 block discarded – undo
385 385
 
386 386
             $paypal_args['a1'] = 0 == $initial_amount ? 0 : $initial_amount;
387 387
 
388
-			// Trial period length.
389
-			$paypal_args['p1'] = $subscription_item->get_trial_interval();
388
+            // Trial period length.
389
+            $paypal_args['p1'] = $subscription_item->get_trial_interval();
390 390
 
391
-			// Trial period.
392
-			$paypal_args['t1'] = $subscription_item->get_trial_period();
391
+            // Trial period.
392
+            $paypal_args['t1'] = $subscription_item->get_trial_period();
393 393
 
394 394
         } else if ( $initial_amount != $recurring_amount ) {
395 395
 
@@ -412,40 +412,40 @@  discard block
 block discarded – undo
412 412
         }
413 413
 
414 414
         // We have a recurring payment
415
-		if ( ! isset( $param_number ) || 1 == $param_number ) {
415
+        if ( ! isset( $param_number ) || 1 == $param_number ) {
416 416
 
417
-			// Subscription price
418
-			$paypal_args['a3'] = $recurring_amount;
417
+            // Subscription price
418
+            $paypal_args['a3'] = $recurring_amount;
419 419
 
420
-			// Subscription duration
421
-			$paypal_args['p3'] = $interval;
420
+            // Subscription duration
421
+            $paypal_args['p3'] = $interval;
422 422
 
423
-			// Subscription period
424
-			$paypal_args['t3'] = $period;
423
+            // Subscription period
424
+            $paypal_args['t3'] = $period;
425 425
 
426 426
         }
427 427
 
428 428
         // Recurring payments
429
-		if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
429
+        if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
430 430
 
431
-			// Non-recurring payments
432
-			$paypal_args['src'] = 0;
431
+            // Non-recurring payments
432
+            $paypal_args['src'] = 0;
433 433
 
434
-		} else {
434
+        } else {
435 435
 
436
-			$paypal_args['src'] = 1;
436
+            $paypal_args['src'] = 1;
437 437
 
438
-			if ( $bill_times > 0 ) {
438
+            if ( $bill_times > 0 ) {
439 439
 
440
-				// An initial period is being used to charge a sign-up fee
441
-				if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
442
-					$bill_times--;
443
-				}
440
+                // An initial period is being used to charge a sign-up fee
441
+                if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
442
+                    $bill_times--;
443
+                }
444 444
 
445 445
                 // Make sure it's not over the max of 52
446 446
                 $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
447 447
 
448
-			}
448
+            }
449 449
         }
450 450
 
451 451
         // Force return URL so that order description & instructions display
@@ -461,19 +461,19 @@  discard block
 block discarded – undo
461 461
         }
462 462
 
463 463
         return apply_filters(
464
-			'getpaid_paypal_subscription_args',
465
-			$paypal_args,
466
-			$invoice
464
+            'getpaid_paypal_subscription_args',
465
+            $paypal_args,
466
+            $invoice
467 467
         );
468 468
 
469 469
     }
470 470
 
471 471
     /**
472
-	 * Processes ipns and marks payments as complete.
473
-	 *
474
-	 * @return void
475
-	 */
476
-	public function verify_ipn() {
472
+     * Processes ipns and marks payments as complete.
473
+     *
474
+     * @return void
475
+     */
476
+    public function verify_ipn() {
477 477
         new GetPaid_Paypal_Gateway_IPN_Handler( $this );
478 478
     }
479 479
 
@@ -483,19 +483,19 @@  discard block
 block discarded – undo
483 483
     public function sandbox_notice() {
484 484
 
485 485
         return sprintf(
486
-			__( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %sPayPal Sandbox Testing Guide%s for more details.', 'invoicing' ),
487
-			'<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
488
-			'</a>'
489
-		);
486
+            __( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %sPayPal Sandbox Testing Guide%s for more details.', 'invoicing' ),
487
+            '<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
488
+            '</a>'
489
+        );
490 490
 
491 491
     }
492 492
 
493
-	/**
494
-	 * Filters the gateway settings.
495
-	 *
496
-	 * @param array $admin_settings
497
-	 */
498
-	public function admin_settings( $admin_settings ) {
493
+    /**
494
+     * Filters the gateway settings.
495
+     *
496
+     * @param array $admin_settings
497
+     */
498
+    public function admin_settings( $admin_settings ) {
499 499
 
500 500
         $currencies = sprintf(
501 501
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -505,39 +505,39 @@  discard block
 block discarded – undo
505 505
         $admin_settings['paypal_active']['desc'] .= " ($currencies)";
506 506
         $admin_settings['paypal_desc']['std']     = __( 'Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing' );
507 507
 
508
-		// Access tokens.
509
-		$live_email      = wpinv_get_option( 'paypal_email' );
510
-		$sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
511
-
512
-		$admin_settings['paypal_connect'] = array(
513
-			'type'       => 'raw_html',
514
-			'id'         => 'paypal_connect',
515
-			'name'       => __( 'Connect to PayPal', 'invoicing' ),
516
-			'desc'       => sprintf(
517
-				'<div class="wpinv-paypal-connect-live"><a class="button button-primary" href="%s">%s</a></div><div class="wpinv-paypal-connect-sandbox"><a class="button button-primary" href="%s">%s</a></div>%s',
518
-				esc_url( self::get_connect_url( false ) ),
519
-				__( 'Connect to PayPal', 'invoicing' ),
520
-				esc_url( self::get_connect_url( true ) ),
521
-				__( 'Connect to PayPal Sandox', 'invoicing' ),
522
-				$this->get_js()
523
-			),
524
-		);
508
+        // Access tokens.
509
+        $live_email      = wpinv_get_option( 'paypal_email' );
510
+        $sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
511
+
512
+        $admin_settings['paypal_connect'] = array(
513
+            'type'       => 'raw_html',
514
+            'id'         => 'paypal_connect',
515
+            'name'       => __( 'Connect to PayPal', 'invoicing' ),
516
+            'desc'       => sprintf(
517
+                '<div class="wpinv-paypal-connect-live"><a class="button button-primary" href="%s">%s</a></div><div class="wpinv-paypal-connect-sandbox"><a class="button button-primary" href="%s">%s</a></div>%s',
518
+                esc_url( self::get_connect_url( false ) ),
519
+                __( 'Connect to PayPal', 'invoicing' ),
520
+                esc_url( self::get_connect_url( true ) ),
521
+                __( 'Connect to PayPal Sandox', 'invoicing' ),
522
+                $this->get_js()
523
+            ),
524
+        );
525 525
 
526 526
         $admin_settings['paypal_email'] = array(
527 527
             'type'  => 'text',
528
-			'class' => 'live-auth-data',
528
+            'class' => 'live-auth-data',
529 529
             'id'    => 'paypal_email',
530 530
             'name'  => __( 'Live Email Address', 'invoicing' ),
531 531
             'desc'  => __( 'The email address of your PayPal account.', 'invoicing' ),
532 532
         );
533 533
 
534
-		$admin_settings['paypal_sandbox_email'] = array(
534
+        $admin_settings['paypal_sandbox_email'] = array(
535 535
             'type'  => 'text',
536
-			'class' => 'sandbox-auth-data',
536
+            'class' => 'sandbox-auth-data',
537 537
             'id'    => 'paypal_sandbox_email',
538 538
             'name'  => __( 'Sandbox Email Address', 'invoicing' ),
539 539
             'desc'  => __( 'The email address of your sandbox PayPal account.', 'invoicing' ),
540
-			'std'   => wpinv_get_option( 'paypal_email', '' ),
540
+            'std'   => wpinv_get_option( 'paypal_email', '' ),
541 541
         );
542 542
 
543 543
         $admin_settings['paypal_ipn_url'] = array(
@@ -549,29 +549,29 @@  discard block
 block discarded – undo
549 549
             'readonly' => true,
550 550
         );
551 551
 
552
-		return $admin_settings;
553
-	}
552
+        return $admin_settings;
553
+    }
554 554
 
555
-	/**
556
-	 * Retrieves the PayPal connect URL when using the setup wizzard.
557
-	 *
558
-	 *
555
+    /**
556
+     * Retrieves the PayPal connect URL when using the setup wizzard.
557
+     *
558
+     *
559 559
      * @param array $data
560 560
      * @return string
561
-	 */
562
-	public static function maybe_get_connect_url( $url = '', $data ) {
563
-		return self::get_connect_url( false, urldecode( $data['redirect'] ) );
564
-	}
565
-
566
-	/**
567
-	 * Retrieves the PayPal connect URL.
568
-	 *
569
-	 *
561
+     */
562
+    public static function maybe_get_connect_url( $url = '', $data ) {
563
+        return self::get_connect_url( false, urldecode( $data['redirect'] ) );
564
+    }
565
+
566
+    /**
567
+     * Retrieves the PayPal connect URL.
568
+     *
569
+     *
570 570
      * @param bool $is_sandbox
571
-	 * @param string $redirect
571
+     * @param string $redirect
572 572
      * @return string
573
-	 */
574
-	public static function get_connect_url( $is_sandbox, $redirect = '' ) {
573
+     */
574
+    public static function get_connect_url( $is_sandbox, $redirect = '' ) {
575 575
 
576 576
         $redirect_url = add_query_arg(
577 577
             array(
@@ -581,7 +581,7 @@  discard block
 block discarded – undo
581 581
                 'tab'                  => 'gateways',
582 582
                 'section'              => 'paypal',
583 583
                 'getpaid-nonce'        => wp_create_nonce( 'getpaid-nonce' ),
584
-				'redirect'             => urlencode( $redirect ),
584
+                'redirect'             => urlencode( $redirect ),
585 585
             ),
586 586
             admin_url( 'admin.php' )
587 587
         );
@@ -596,12 +596,12 @@  discard block
 block discarded – undo
596 596
 
597 597
     }
598 598
 
599
-	/**
600
-	 * Generates settings page js.
601
-	 *
599
+    /**
600
+     * Generates settings page js.
601
+     *
602 602
      * @return void
603
-	 */
604
-	public static function get_js() {
603
+     */
604
+    public static function get_js() {
605 605
         ob_start();
606 606
         ?>
607 607
             <script>
@@ -637,72 +637,72 @@  discard block
 block discarded – undo
637 637
         return ob_get_clean();
638 638
     }
639 639
 
640
-	/**
641
-	 * Connects to PayPal.
642
-	 *
643
-	 * @param array $data Connection data.
644
-	 * @return void
645
-	 */
646
-	public function connect_paypal( $data ) {
647
-
648
-		$sandbox      = $this->is_sandbox();
649
-		$data         = wp_unslash( $data );
650
-		$access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
651
-
652
-		if ( isset( $data['live_mode'] ) ) {
653
-			$sandbox = empty( $data['live_mode'] );
654
-		}
655
-
656
-		wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
657
-		wpinv_update_option( 'paypal_active', 1 );
658
-
659
-		if ( ! empty( $data['error_description'] ) ) {
660
-			getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
661
-		} else {
662
-
663
-			// Retrieve the user info.
664
-			$user_info = wp_remote_get(
665
-				! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
666
-				array(
667
-
668
-					'headers' => array(
669
-						'Authorization' => 'Bearer ' . $access_token,
670
-						'Content-type'  => 'application/json',
671
-					)
672
-
673
-				)
674
-			);
675
-
676
-			if ( is_wp_error( $user_info ) ) {
677
-				getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
678
-			} else {
679
-
680
-				// Create application.
681
-				$user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
682
-
683
-				if ( $sandbox ) {
684
-					wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
685
-					wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
686
-					set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
687
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
688
-				} else {
689
-					wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
690
-					wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
691
-					set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
692
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
693
-				}
694
-
695
-			}
696
-
697
-		}
698
-
699
-		$redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
700
-
701
-		if ( isset( $data['step'] ) ) {
702
-			$redirect = add_query_arg( 'step', $data['step'], $redirect );
703
-		}
704
-		wp_redirect( $redirect );
705
-		exit;
706
-	}
640
+    /**
641
+     * Connects to PayPal.
642
+     *
643
+     * @param array $data Connection data.
644
+     * @return void
645
+     */
646
+    public function connect_paypal( $data ) {
647
+
648
+        $sandbox      = $this->is_sandbox();
649
+        $data         = wp_unslash( $data );
650
+        $access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
651
+
652
+        if ( isset( $data['live_mode'] ) ) {
653
+            $sandbox = empty( $data['live_mode'] );
654
+        }
655
+
656
+        wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
657
+        wpinv_update_option( 'paypal_active', 1 );
658
+
659
+        if ( ! empty( $data['error_description'] ) ) {
660
+            getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
661
+        } else {
662
+
663
+            // Retrieve the user info.
664
+            $user_info = wp_remote_get(
665
+                ! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
666
+                array(
667
+
668
+                    'headers' => array(
669
+                        'Authorization' => 'Bearer ' . $access_token,
670
+                        'Content-type'  => 'application/json',
671
+                    )
672
+
673
+                )
674
+            );
675
+
676
+            if ( is_wp_error( $user_info ) ) {
677
+                getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
678
+            } else {
679
+
680
+                // Create application.
681
+                $user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
682
+
683
+                if ( $sandbox ) {
684
+                    wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
685
+                    wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
686
+                    set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
687
+                    getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
688
+                } else {
689
+                    wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
690
+                    wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
691
+                    set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
692
+                    getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
693
+                }
694
+
695
+            }
696
+
697
+        }
698
+
699
+        $redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
700
+
701
+        if ( isset( $data['step'] ) ) {
702
+            $redirect = add_query_arg( 'step', $data['step'], $redirect );
703
+        }
704
+        wp_redirect( $redirect );
705
+        exit;
706
+    }
707 707
 
708 708
 }
Please login to merge, or discard this patch.
invoicing.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -19,16 +19,16 @@  discard block
 block discarded – undo
19 19
 
20 20
 // Define constants.
21 21
 if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
22
+    define( 'WPINV_PLUGIN_FILE', __FILE__ );
23 23
 }
24 24
 
25 25
 if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.4.3' );
26
+    define( 'WPINV_VERSION', '2.4.3' );
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30 30
 if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
31
+    require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
46
-	return $GLOBALS['invoicing'];
46
+    return $GLOBALS['invoicing'];
47 47
 }
48 48
 
49 49
 /**
Please login to merge, or discard this patch.