Completed
Branch master (8e1e4b)
by Jan
03:40
created
woocommerce-first-atlantic-commerce.php 1 patch
Braces   +16 added lines, -12 removed lines patch added patch discarded remove patch
@@ -10,40 +10,44 @@
 block discarded – undo
10 10
  * License URI: https://github.com/Strikewood/woocommerce-first-atlantic-commerce/blob/master/LICENSE
11 11
  */
12 12
 
13
-if ( !defined('ABSPATH') ) exit;
13
+if ( !defined('ABSPATH') ) {
14
+    exit;
15
+}
14 16
 
15
-function woocommerce_init_fac_gateway()
16
-{
17
+function woocommerce_init_fac_gateway() {
17 18
     // Make sure WooCommerce is available
18
-    if ( !class_exists('WC_Payment_Gateway') ) return;
19
+    if ( !class_exists('WC_Payment_Gateway') ) {
20
+        return;
21
+    }
19 22
 
20 23
     // Localisation
21 24
     load_plugin_textdomain('wc-gateway-fac', false, dirname( plugin_basename(__FILE__) ) . '/languages');
22 25
 
23 26
     // Our classes and depdencies (if not using composer)
24
-    if ( is_file( dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vendor/autoload.php' ) ) require_once('vendor/autoload.php');
27
+    if ( is_file( dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vendor/autoload.php' ) ) {
28
+        require_once('vendor/autoload.php');
29
+    }
25 30
 
26 31
     // Make sure the FAC class was autoloaded
27
-    if ( !class_exists('WC_Gateway_FirstAtlanticCommerce') ) return;
32
+    if ( !class_exists('WC_Gateway_FirstAtlanticCommerce') ) {
33
+        return;
34
+    }
28 35
 
29 36
     // Register the gateway in WC
30
-    function woocommerce_register_fac_gateway($methods)
31
-    {
37
+    function woocommerce_register_fac_gateway($methods) {
32 38
         $methods[] = 'WC_Gateway_FirstAtlanticCommerce';
33 39
 
34 40
         return $methods;
35 41
     }
36 42
     add_filter('woocommerce_payment_gateways', 'woocommerce_register_fac_gateway');
37 43
 
38
-    function woocommerce_fac_process_payment($order_id)
39
-    {
44
+    function woocommerce_fac_process_payment($order_id) {
40 45
         $fac = new WC_Gateway_FirstAtlanticCommerce;
41 46
 
42 47
         $fac->process_payment($order_id);
43 48
     }
44 49
 
45
-    function woocommerce_fac_process_refund($order_id)
46
-    {
50
+    function woocommerce_fac_process_refund($order_id) {
47 51
         $fac = new WC_Gateway_FirstAtlanticCommerce;
48 52
 
49 53
         $fac->process_refund($order_id);
Please login to merge, or discard this patch.
includes/class-wc-gateway-fac.php 1 patch
Braces   +56 added lines, -106 removed lines patch added patch discarded remove patch
@@ -4,20 +4,20 @@  discard block
 block discarded – undo
4 4
 use Omnipay\Common\Exception\InvalidResponseException;
5 5
 use Omnipay\Common\Exception\OmnipayException;
6 6
 
7
-if ( !defined('ABSPATH') ) exit;
7
+if ( !defined('ABSPATH') ) {
8
+    exit;
9
+}
8 10
 
9 11
 /**
10 12
  * WC_Gateway_FirstAtlanticCommerce class
11 13
  *
12 14
  * @extends WC_Payment_Gateway
13 15
  */
14
-class WC_Gateway_FirstAtlanticCommerce extends WC_Payment_Gateway
15
-{
16
+class WC_Gateway_FirstAtlanticCommerce extends WC_Payment_Gateway {
16 17
     /**
17 18
      * Constructor
18 19
      */
19
-    public function __construct()
20
-    {
20
+    public function __construct() {
21 21
         $this->id                 = 'fac';
22 22
         $this->method_title       = __('First Atlantic Commerce', 'wc-gateway-fac');
23 23
         $this->method_description = __('First Atlantic Commerce works by adding credit card fields on the checkout and then sending the details to First Atlantic Commerce for verification.', 'wc-gateway-fac');
@@ -60,21 +60,16 @@  discard block
 block discarded – undo
60 60
     /**
61 61
      * Notify of issues in wp-admin
62 62
      */
63
-    public function admin_notices()
64
-    {
65
-        if ($this->enabled == 'no')
66
-        {
63
+    public function admin_notices() {
64
+        if ($this->enabled == 'no') {
67 65
             return;
68 66
         }
69 67
 
70 68
         // Check required fields
71
-        if (!$this->merchant_id)
72
-        {
69
+        if (!$this->merchant_id) {
73 70
             echo '<div class="error"><p>' . sprintf( __( 'First Atlantic Commerce error: Please enter your merchant id <a href="%s">here</a>', 'woocommerce-gateway-fac' ), admin_url( 'admin.php?page=wc-settings&tab=checkout&section=wc_gateway_fac' ) ) . '</p></div>';
74 71
             return;
75
-        }
76
-        elseif (!$this->merchant_password)
77
-        {
72
+        } elseif (!$this->merchant_password) {
78 73
             echo '<div class="error"><p>' . sprintf( __( 'First Atlantic Commerce error: Please enter your merchant password <a href="%s">here</a>', 'woocommerce-gateway-fac' ), admin_url( 'admin.php?page=wc-settings&tab=checkout&section=wc_gateway_fac' ) ) . '</p></div>';
79 74
             return;
80 75
         }
@@ -93,10 +88,8 @@  discard block
 block discarded – undo
93 88
      *
94 89
      * @return void
95 90
      */
96
-    public function log($message)
97
-    {
98
-        if ( empty($this->log) )
99
-        {
91
+    public function log($message) {
92
+        if ( empty($this->log) ) {
100 93
             $this->log = new WC_Logger();
101 94
         }
102 95
 
@@ -108,19 +101,16 @@  discard block
 block discarded – undo
108 101
      *
109 102
      * @return bool
110 103
      */
111
-    public function is_available()
112
-    {
104
+    public function is_available() {
113 105
         $is_available = parent::is_available();
114 106
 
115 107
         // Only allow unencrypted connections when testing
116
-        if (!is_ssl() && !$this->testmode)
117
-        {
108
+        if (!is_ssl() && !$this->testmode) {
118 109
             $is_available = false;
119 110
         }
120 111
 
121 112
         // Required fields check
122
-        if (!$this->merchant_id || !$this->merchant_password)
123
-        {
113
+        if (!$this->merchant_id || !$this->merchant_password) {
124 114
             $is_available = false;
125 115
         }
126 116
 
@@ -130,8 +120,7 @@  discard block
 block discarded – undo
130 120
     /**
131 121
      * Initialise Gateway Settings Form Fields
132 122
      */
133
-    public function init_form_fields()
134
-    {
123
+    public function init_form_fields() {
135 124
         $this->form_fields = apply_filters('wc_fac_settings', [
136 125
             'enabled' => [
137 126
                 'title'       => __('Enable/Disable', 'woocommerce-gateway-fac'),
@@ -203,15 +192,13 @@  discard block
 block discarded – undo
203 192
     /**
204 193
      * Setup the gateway object
205 194
      */
206
-    public function setup_gateway()
207
-    {
195
+    public function setup_gateway() {
208 196
         $gateway = Omnipay::create('FirstAtlanticCommerce');
209 197
 
210 198
         $gateway->setMerchantId($this->merchant_id);
211 199
         $gateway->setMerchantPassword($this->merchant_password);
212 200
 
213
-        if ($this->testmode)
214
-        {
201
+        if ($this->testmode) {
215 202
             $gateway->setTestMode(true);
216 203
         }
217 204
 
@@ -223,8 +210,7 @@  discard block
 block discarded – undo
223 210
      *
224 211
      * @return void
225 212
      */
226
-    public function payment_fields()
227
-    {
213
+    public function payment_fields() {
228 214
         // Default credit card form
229 215
         $this->credit_card_form();
230 216
     }
@@ -234,22 +220,18 @@  discard block
 block discarded – undo
234 220
      *
235 221
      * @return bool
236 222
      */
237
-    public function validate_fields()
238
-    {
223
+    public function validate_fields() {
239 224
         $validated = true;
240 225
 
241
-        if ( empty($_POST['fac-card-number']) )
242
-        {
226
+        if ( empty($_POST['fac-card-number']) ) {
243 227
             wc_add_notice( $this->get_validation_error( __('Card Number', 'woocommerce-gateway-fac'), $_POST['fac-card-number'] ), 'error' );
244 228
             $validated = false;
245 229
         }
246
-        if ( empty($_POST['fac-card-expiry']) )
247
-        {
230
+        if ( empty($_POST['fac-card-expiry']) ) {
248 231
             wc_add_notice( $this->get_validation_error( __('Card Expiry', 'woocommerce-gateway-fac'), $_POST['fac-card-number'] ), 'error' );
249 232
             $validated = false;
250 233
         }
251
-        if ( empty($_POST['fac-card-cvc']) )
252
-        {
234
+        if ( empty($_POST['fac-card-cvc']) ) {
253 235
             wc_add_notice( $this->get_validation_error( __('Card Code', 'woocommerce-gateway-fac'), $_POST['fac-card-number'] ), 'error' );
254 236
             $validated = false;
255 237
         }
@@ -264,14 +246,10 @@  discard block
 block discarded – undo
264 246
      * @param string $type
265 247
      * @return string
266 248
      */
267
-    protected function get_validation_error($field, $type = 'undefined')
268
-    {
269
-        if ( $type === 'invalid' )
270
-        {
249
+    protected function get_validation_error($field, $type = 'undefined') {
250
+        if ( $type === 'invalid' ) {
271 251
             return sprintf( __( 'Please enter a valid %s.', 'woocommerce-gateway-fac' ), "<strong>$field</strong>" );
272
-        }
273
-        else
274
-        {
252
+        } else {
275 253
             return sprintf( __( '%s is a required field.', 'woocommerce-gateway-fac' ), "<strong>$field</strong>" );
276 254
         }
277 255
     }
@@ -283,8 +261,7 @@  discard block
 block discarded – undo
283 261
      *
284 262
      * @return bool
285 263
      */
286
-    public function can_process_order($order)
287
-    {
264
+    public function can_process_order($order) {
288 265
         return $order && $order->payment_method == 'fac';
289 266
     }
290 267
 
@@ -295,20 +272,22 @@  discard block
 block discarded – undo
295 272
      *
296 273
      * @return array
297 274
      */
298
-    public function process_payment($order_id)
299
-    {
275
+    public function process_payment($order_id) {
300 276
         $order = new WC_Order($order_id);
301 277
 
302
-        if ( !$this->can_process_order($order) ) return;
278
+        if ( !$this->can_process_order($order) ) {
279
+            return;
280
+        }
303 281
 
304 282
         $transaction = $order->get_transaction_id();
305 283
         $captured    = get_post_meta($order_id, '_fac_captured', true);
306 284
 
307 285
         // Skip already captured transactions
308
-        if ($captured) return;
286
+        if ($captured) {
287
+            return;
288
+        }
309 289
 
310
-        try
311
-        {
290
+        try {
312 291
             $gateway = $this->setup_gateway();
313 292
 
314 293
             $data = [
@@ -318,12 +297,9 @@  discard block
 block discarded – undo
318 297
             ];
319 298
 
320 299
             // Already authorized transactions should be captured
321
-            if ( $transaction && !$captured )
322
-            {
300
+            if ( $transaction && !$captured ) {
323 301
                 $response = $gateway->capture($data)->send();
324
-            }
325
-            else
326
-            {
302
+            } else {
327 303
                 $card_number = str_replace( [' ', '-'], '', wc_clean($_POST['fac-card-number']) );
328 304
                 $card_cvv    = wc_clean($_POST['fac-card-cvc']);
329 305
                 $card_expiry = preg_split('/\s?\/\s?/', wc_clean($_POST['fac-card-expiry']), 2);
@@ -345,23 +321,18 @@  discard block
 block discarded – undo
345 321
                 ];
346 322
 
347 323
                 // Capture in one pass if enabled, otherwise authorize
348
-                if ($this->capture)
349
-                {
324
+                if ($this->capture) {
350 325
                     $response = $gateway->purchase($data)->send();
351
-                }
352
-                else
353
-                {
326
+                } else {
354 327
                     $response = $gateway->authorize($data)->send();
355 328
                 }
356 329
             }
357 330
 
358
-            if ( $response->isSuccessful() )
359
-            {
331
+            if ( $response->isSuccessful() ) {
360 332
                 $reference = $response->getTransactionReference();
361 333
 
362 334
                 // Captured transaction
363
-                if ( ($transaction && !$captured) || (!$transaction && $this->capture) )
364
-                {
335
+                if ( ($transaction && !$captured) || (!$transaction && $this->capture) ) {
365 336
                     // Store captured
366 337
                     update_post_meta($order_id, '_fac_captured', true);
367 338
 
@@ -372,8 +343,7 @@  discard block
 block discarded – undo
372 343
                     $order->add_order_note( sprintf( __('FAC transaction complete (ID: %s)', 'woocommerce-gateway-fac'), $reference ) );
373 344
                 }
374 345
                 // Authorized transaction
375
-                else
376
-                {
346
+                else {
377 347
                     // Store captured
378 348
                     update_post_meta($order_id, '_transaction_id', $reference, true);
379 349
                     update_post_meta($order_id, '_fac_captured', false);
@@ -393,33 +363,26 @@  discard block
 block discarded – undo
393 363
                     'result'   => 'success',
394 364
                     'redirect' => $this->get_return_url($order)
395 365
                 ];
396
-            }
397
-            else
398
-            {
366
+            } else {
399 367
                 throw new InvalidResponseException( $response->getMessage(), $response->getCode() );
400 368
             }
401
-        }
402
-        catch (OmnipayException $e)
403
-        {
369
+        } catch (OmnipayException $e) {
404 370
             $message = 'Transaction Failed: '. $e->getCode() .' – '. $e->getMessage();
405 371
 
406 372
             $this->log($message);
407 373
             $order->add_order_note( __($message, 'woocommerce-gateway-fac') );
408 374
 
409 375
             // Friendly declined message
410
-            if ( in_array( $e->getCode(), [2, 3, 4, 35, 38, 39] ) )
411
-            {
376
+            if ( in_array( $e->getCode(), [2, 3, 4, 35, 38, 39] ) ) {
412 377
                 $message = __('Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction.', 'woocommerce') .' '. __('Please attempt your purchase again.', 'woocommerce');
413 378
             }
414 379
 
415 380
             // Friendly error message
416
-            else
417
-            {
381
+            else {
418 382
                 $message = __('Unfortunately your order cannot be processed as an error has occured.', 'woocommerce') .' '. __('Please attempt your purchase again.', 'woocommerce');
419 383
             }
420 384
 
421
-            if ( !is_admin() || ( defined('DOING_AJAX') && DOING_AJAX ) )
422
-            {
385
+            if ( !is_admin() || ( defined('DOING_AJAX') && DOING_AJAX ) ) {
423 386
                 wc_add_notice($message, 'error');
424 387
             }
425 388
 
@@ -434,8 +397,7 @@  discard block
 block discarded – undo
434 397
      *
435 398
      * @return bool
436 399
      */
437
-    public function can_refund_order($order)
438
-    {
400
+    public function can_refund_order($order) {
439 401
         return $order && $order->payment_method == 'fac' && $order->get_transaction_id();
440 402
     }
441 403
 
@@ -447,12 +409,10 @@  discard block
 block discarded – undo
447 409
      *
448 410
      * @return bool
449 411
      */
450
-    public function process_refund($order_id, $amount = null, $reason = '')
451
-    {
412
+    public function process_refund($order_id, $amount = null, $reason = '') {
452 413
         $order = wc_get_order($order_id);
453 414
 
454
-        if ( !$this->can_refund_order($order) )
455
-        {
415
+        if ( !$this->can_refund_order($order) ) {
456 416
             $this->log('Refund Failed: No transaction ID for FAC');
457 417
             return false;
458 418
         }
@@ -460,13 +420,11 @@  discard block
 block discarded – undo
460 420
         $transaction = $order->get_transaction_id();
461 421
         $captured    = get_post_meta($order_id, '_fac_captured', true);
462 422
 
463
-        if ( is_null($amount) )
464
-        {
423
+        if ( is_null($amount) ) {
465 424
             $amount = $order->get_total();
466 425
         }
467 426
 
468
-        try
469
-        {
427
+        try {
470 428
             $gateway = $this->setup_gateway();
471 429
 
472 430
             $data = [
@@ -474,27 +432,19 @@  discard block
 block discarded – undo
474 432
                 'amount'        => $amount
475 433
             ];
476 434
 
477
-            if ($captured)
478
-            {
435
+            if ($captured) {
479 436
                 $response = $gateway->refund($data)->send();
480
-            }
481
-            else
482
-            {
437
+            } else {
483 438
                 $response = $gateway->void($data)->send();
484 439
             }
485 440
 
486
-            if ( $response->isSuccessful() )
487
-            {
441
+            if ( $response->isSuccessful() ) {
488 442
                 $order->add_order_note( sprintf( __('Refunded %s', 'woocommerce-gateway-fac'), $data['amount'] ) );
489 443
                 return true;
490
-            }
491
-            else
492
-            {
444
+            } else {
493 445
                 throw new InvalidResponseException( $response->getMessage(), $response->getCode() );
494 446
             }
495
-        }
496
-        catch (OmnipayException $e)
497
-        {
447
+        } catch (OmnipayException $e) {
498 448
             $message = 'Refund Failed: '. $e->getCode() .' – '. $e->getMessage();
499 449
 
500 450
             $this->log($message);
Please login to merge, or discard this patch.