2
2
/*
3
3
Plugin Name: AllSecure Exchange
4
4
Description: AllSecure Exchange for WooCommerce
5
- Version: 2.0.3
5
+ Version: 2.0.4
6
6
Requires at least: 4.0
7
7
Tested up to: 6.2.1
8
8
WC requires at least: 2.4
17
17
exit ; // Exit if accessed directly
18
18
}
19
19
20
- define ('ALLSECUREEXCHANGE_VERSION ' , '2.0.2 ' );
20
+ define ('ALLSECUREEXCHANGE_VERSION ' , '2.0.4 ' );
21
21
define ('ALLSECUREEXCHANGE_PLUGIN_URL ' , plugin_dir_url (__FILE__ ));
22
22
define ('ALLSECUREEXCHANGE_PLUGIN_PATH ' , plugin_dir_path (__FILE__ ));
23
23
@@ -717,6 +717,7 @@ public function process_payment($order_id) {
717
717
if (!empty ($ installment_number )) {
718
718
$ order ->add_meta_data ($ this ->prefix .'installment_number ' , $ installment_number , true );
719
719
}
720
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
720
721
$ order ->add_meta_data ($ this ->prefix .'status ' , 'redirected ' , true );
721
722
$ order ->save_meta_data ();
722
723
@@ -730,6 +731,7 @@ public function process_payment($order_id) {
730
731
if (!empty ($ installment_number )) {
731
732
$ order ->add_meta_data ($ this ->prefix .'installment_number ' , $ installment_number , true );
732
733
}
734
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
733
735
$ order ->add_meta_data ($ this ->prefix .'status ' , 'pending ' , true );
734
736
$ order ->save_meta_data ();
735
737
if ($ action == 'debit ' ) {
@@ -754,6 +756,7 @@ public function process_payment($order_id) {
754
756
if (!empty ($ installment_number )) {
755
757
$ order ->add_meta_data ($ this ->prefix .'installment_number ' , $ installment_number , true );
756
758
}
759
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
757
760
$ order ->add_meta_data ($ this ->prefix .'status ' , 'debited ' , true );
758
761
$ order ->save_meta_data ();
759
762
$ comment1 = __ ('Allsecure Exchange payment is successfully debited. ' , $ this ->domain );
@@ -770,6 +773,7 @@ public function process_payment($order_id) {
770
773
'redirect ' => add_query_arg ( 'order_id ' , $ order_id , $ this ->get_return_url ( $ order ))
771
774
];
772
775
} else {
776
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
773
777
$ order ->add_meta_data ($ this ->prefix .'status ' , 'preauthorized ' , true );
774
778
$ order ->save_meta_data ();
775
779
$ order ->payment_complete ();
@@ -984,7 +988,8 @@ public function payment_webhook_handler() {
984
988
}
985
989
986
990
$ order ->add_meta_data ($ this ->prefix .'debit_uuid ' , $ gatewayReferenceId );
987
- $ order ->add_meta_data ($ this ->prefix .'status ' , 'debited ' );
991
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
992
+ $ order ->add_meta_data ($ this ->prefix .'status ' , 'debited ' , true );
988
993
$ order ->save_meta_data ();
989
994
990
995
$ comment1 = __ ('Allsecure Exchange payment is successfully debited. ' , $ this ->domain );
@@ -996,7 +1001,8 @@ public function payment_webhook_handler() {
996
1001
} else if ($ callbackResult ->getTransactionType () == AllsecureCallbackResult::TYPE_CAPTURE ) {
997
1002
//result capture
998
1003
$ order ->add_meta_data ($ this ->prefix .'capture_uuid ' , $ gatewayReferenceId );
999
- $ order ->add_meta_data ($ this ->prefix .'status ' , 'captured ' );
1004
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1005
+ $ order ->add_meta_data ($ this ->prefix .'status ' , 'captured ' , true );
1000
1006
$ order ->save_meta_data ();
1001
1007
1002
1008
$ comment1 = __ ('Allsecure Exchange payment is successfully captured. ' , $ this ->domain );
@@ -1008,7 +1014,8 @@ public function payment_webhook_handler() {
1008
1014
} else if ($ callbackResult ->getTransactionType () == AllsecureCallbackResult::TYPE_VOID ) {
1009
1015
//result void
1010
1016
$ order ->add_meta_data ($ this ->prefix .'void_uuid ' , $ gatewayReferenceId );
1011
- $ order ->add_meta_data ($ this ->prefix .'status ' , 'voided ' );
1017
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1018
+ $ order ->add_meta_data ($ this ->prefix .'status ' , 'voided ' , true );
1012
1019
$ order ->save_meta_data ();
1013
1020
1014
1021
$ comment1 = __ ('Allsecure Exchange payment is successfully voided. ' , $ this ->domain );
@@ -1026,7 +1033,8 @@ public function payment_webhook_handler() {
1026
1033
}
1027
1034
1028
1035
$ order ->add_meta_data ($ this ->prefix .'preauthorize_uuid ' , $ gatewayReferenceId );
1029
- $ order ->add_meta_data ($ this ->prefix .'status ' , 'preauthorized ' );
1036
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1037
+ $ order ->add_meta_data ($ this ->prefix .'status ' , 'preauthorized ' , true );
1030
1038
$ order ->save_meta_data ();
1031
1039
$ order ->payment_complete ();
1032
1040
@@ -1039,7 +1047,8 @@ public function payment_webhook_handler() {
1039
1047
}
1040
1048
} elseif ($ callbackResult ->getResult () == AllsecureCallbackResult::RESULT_ERROR ) {
1041
1049
//payment error
1042
- $ order ->add_meta_data ($ this ->prefix .'status ' , 'error ' );
1050
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1051
+ $ order ->add_meta_data ($ this ->prefix .'status ' , 'error ' , true );
1043
1052
$ order ->save_meta_data ();
1044
1053
$ error = $ callbackResult ->getFirstError ();
1045
1054
$ errorCode = $ error ->getCode ();
@@ -1447,7 +1456,23 @@ public function admin_order_action_buttons($order) {
1447
1456
$ void = false ;
1448
1457
$ refund = 0 ;
1449
1458
1450
- $ status = $ order ->get_meta ($ this ->prefix .'status ' );
1459
+ $ statuses = $ order ->get_meta ($ this ->prefix .'status ' , 0 );
1460
+ if (count ($ statuses ) > 1 ) {
1461
+ $ i = 0 ;
1462
+ $ j = count ($ statuses )-1 ;
1463
+ foreach ($ statuses as $ statusObj ) {
1464
+ if ($ i == $ j ) {
1465
+ $ status = $ statusObj ->value ;
1466
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1467
+ $ order ->add_meta_data ($ this ->prefix .'status ' , $ status , true );
1468
+ $ order ->save_meta_data ();
1469
+ }
1470
+ $ i ++;
1471
+ }
1472
+ } else {
1473
+ $ status = $ order ->get_meta ($ this ->prefix .'status ' );
1474
+ }
1475
+
1451
1476
if ($ status == 'debited ' || $ status == 'captured ' ) {
1452
1477
$ refund = 1 ;
1453
1478
} elseif ($ status == 'preauthorized ' ) {
@@ -1559,6 +1584,7 @@ public function process_refund($order_id, $amount = NULL, $reason = '') {
1559
1584
1560
1585
if ($ result ->getReturnType () == AllsecureResult::RETURN_TYPE_FINISHED ) {
1561
1586
$ gatewayReferenceId = $ result ->getUuid ();
1587
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1562
1588
$ order ->add_meta_data ($ this ->prefix .'status ' , 'refunded ' , true );
1563
1589
$ order ->add_meta_data ($ this ->prefix .'transaction_id ' , $ gatewayReferenceId , true );
1564
1590
$ order ->add_meta_data ($ this ->prefix .'refund_uuid ' , $ gatewayReferenceId , true );
@@ -1628,6 +1654,7 @@ public function process_capture() {
1628
1654
1629
1655
if ($ result ->getReturnType () == AllsecureResult::RETURN_TYPE_FINISHED ) {
1630
1656
$ gatewayReferenceId = $ result ->getUuid ();
1657
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1631
1658
$ order ->add_meta_data ($ this ->prefix .'status ' , 'captured ' , true );
1632
1659
$ order ->add_meta_data ($ this ->prefix .'transaction_id ' , $ gatewayReferenceId , true );
1633
1660
$ order ->add_meta_data ($ this ->prefix .'capture_uuid ' , $ gatewayReferenceId , true );
@@ -1707,6 +1734,7 @@ public function process_void() {
1707
1734
1708
1735
if ($ result ->getReturnType () == AllsecureResult::RETURN_TYPE_FINISHED ) {
1709
1736
$ gatewayReferenceId = $ result ->getUuid ();
1737
+ $ order ->delete_meta_data ($ this ->prefix .'status ' );
1710
1738
$ order ->add_meta_data ($ this ->prefix .'status ' , 'voided ' , true );
1711
1739
$ order ->add_meta_data ($ this ->prefix .'transaction_id ' , $ gatewayReferenceId , true );
1712
1740
$ order ->add_meta_data ($ this ->prefix .'void_uuid ' , $ gatewayReferenceId , true );
0 commit comments