From 9f31a595107d504d9abe74d1328ef0a0c7f39262 Mon Sep 17 00:00:00 2001 From: agamystar Date: Wed, 31 May 2023 11:49:10 +0300 Subject: [PATCH] restock (#52) * Restock items in IPN refund * Fix logo size --- icons/paytabs.png | Bin 12375 -> 3775 bytes includes/paytabs_payment_methods.php | 24 +++++++++++++++++++++--- paytabs-woocommerce.php | 4 ++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/icons/paytabs.png b/icons/paytabs.png index 08e79701496d65a918c639bc27392529f4c77e71..45f77a54441ed5f0493c37de7f3443a6627abc50 100644 GIT binary patch literal 3775 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 QKrRL;%BslJNSTEEAIQ&0PXGV_ diff --git a/includes/paytabs_payment_methods.php b/includes/paytabs_payment_methods.php index 0fe1dd9..f4d0d87 100755 --- a/includes/paytabs_payment_methods.php +++ b/includes/paytabs_payment_methods.php @@ -320,6 +320,12 @@ public function init_form_fields() . "
Supported events: Capture (Full), Void (Full), Refund (Full & Partial).", 'required' => false, ), + 'restock_items' => array( + 'title' => __('Restock refunded items (IPN)', 'PayTabs'), + 'type' => 'checkbox', + 'description' => 'Refund isssued on PayTabs Dashboard will be reflected on your Store (if IPN option enabled), This option will Restock all the orders\' items if the refund amount matched the remaining refund amount, So use carefully if there is a cross use between the Woo admin refund & PayTabs dashboard refund.', + 'default' => 'yes' + ), 'failed_send_note' => array( 'title' => __('Send a note on payment failure', 'PayTabs'), 'type' => 'checkbox', @@ -1001,18 +1007,30 @@ public function pt_process_ipn($ipn_data) return; } + $restock = $this->get_option('restock_items') == 'yes'; + $line_items = []; + if ($restock) { + if ($order->get_remaining_refund_amount() == $pt_tran_total) { + // IPN does not contain the refunded items + // if the refund match the total remaining amount => restock all items + // issue happens if the Woo admin create a Refund, then another Refund triggered from IPN => items restock twice + $line_items = $order->get_items(); + } + } + $refund = wc_create_refund([ 'amount' => $pt_tran_total, 'reason' => 'PayTabs dashboard', 'order_id' => $pt_order_id, 'refund_payment' => false, // 'refund_id' => 0, - // 'line_items' => $line_items, - // 'restock_items' => false + 'line_items' => $line_items, + 'restock_items' => $restock, ]); if (!is_wp_error($refund)) { - PaytabsHelper::log("{$pt_tran_type} done, {$pt_order_id} - {$pt_tran_ref}", 1); + $cnt = count($line_items); + PaytabsHelper::log("{$pt_tran_type} done, {$pt_order_id} - {$pt_tran_ref} - Refund ({$refund->get_id()}) - Restock ($restock - $cnt items)", 1); $this->pt_set_tran_ref($order, $pt_tran_type, $pt_tran_ref); // $this->setNewStatus($order, true, $pt_tran_type, true); } else { diff --git a/paytabs-woocommerce.php b/paytabs-woocommerce.php index e180ac7..0d8c6d1 100644 --- a/paytabs-woocommerce.php +++ b/paytabs-woocommerce.php @@ -9,7 +9,7 @@ * Plugin URI: https://paytabs.com/ * Description: PayTabs is a 3rd party payment gateway. Ideal payment solutions for your internet business. - * Version: 4.16.2 + * Version: 4.16.3 * Requires PHP: 7.0 * Author: PayTabs * Author URI: integration@paytabs.com @@ -21,7 +21,7 @@ -define('PAYTABS_PAYPAGE_VERSION', '4.16.2'); +define('PAYTABS_PAYPAGE_VERSION', '4.16.3'); define('PAYTABS_PAYPAGE_DIR', plugin_dir_path(__FILE__)); define('PAYTABS_PAYPAGE_ICONS_URL', plugins_url("icons/", __FILE__)); define('PAYTABS_PAYPAGE_IMAGES_URL', plugins_url("images/", __FILE__));