Woo Order Status not changing when refund is issued via Woo PayPal Gateway
-
In short, I’m using the Woo PayPal gateway plugin to handle PP Payments, everything is setup and working as expected with one exception.
When an order refund is issued within the Woo order page, I have the option to refund Manually, or refund via PayPal Gateway.
When refunding via the PayPal gateway (single action to refund the Woo order and reverse the PayPal charge), the customer gets a refund email notification (from the website), as well as a PayPal email notification (from PayPal) of the refund amount, all the steps are being recorded under the order notes in the Woo order page. All looks well….. apart from the fact that the Woo order status remains unchanged (e.g. remains at “processing” stage).
I find it difficult to believe that this is not a bug and that to complete the process a secondary manual action is required by the user? If I manually change the order status after the refund is actioned, then the customer receives a separate Refund email notification (in addition to the one already received previously).
To me it sound like the “woocommerce_order_status_{current order status}_to_refunded” hook is not actioned, as mentioned previously on Github here: https://github.com/woocommerce/woocommerce/issues/20551
Any pointers on how I may attempt to troubleshoot this?
Hum
-
Hi there!
The issue you’ve reported has been fixed a couple of versions back.
For further troubleshooting:
1. Could you please share a copy of your site’s System Status? You can find it via WooCommerce > Status. Select “Get system report” and then “Copy for support”. Once you’ve done that, paste it here in your response.
2. Along with that, can you please share a screenshot of the order notes section for the order you refunded?
If you don’t already have a screenshot service installed, you can try https://snipboard.io or http://skitch.com/.
You can share the direct link to the image as a response to this topic.[Please redact any private details, including address, name, email address, transaction details, API Keys, Passwords, etc]
Hello,
yes that’s what I thought, but I’m getting a different outcome in my case.
In response to the requested, see below….
1. >>>
### WordPress Environment ### WordPress address (URL): https://www.gkauthentic.com Site address (URL): https://www.gkauthentic.com WC Version: 5.1.0 REST API Version: ✔ 5.1.0 WC Blocks Version: ✔ 4.4.3 Action Scheduler Version: ✔ 3.1.6 WC Admin Version: ✔ 2.0.2 Log Directory Writable: ✔ WP Version: 5.7 WP Multisite: – WP Memory Limit: 768 MB WP Debug Mode: ✔ WP Cron: ✔ Language: en_GB External object cache: – ### Server Environment ### Server Info: Apache PHP Version: 7.3.27 PHP Post Max Size: 256 MB PHP Time Limit: 120 PHP Max Input Vars: 3000 cURL Version: 7.66.0 OpenSSL/1.1.1g-fips SUHOSIN Installed: – MySQL Version: 5.7.32-35-log Max Upload Size: 256 MB Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ GZip: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔ ### Database ### WC Database Version: 5.1.0 WC Database Prefix: wp_ Total Database Size: 35.10MB Database Data Size: 27.56MB Database Index Size: 7.54MB wp_woocommerce_sessions: Data: 2.02MB + Index: 0.08MB + Engine InnoDB wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_order_items: Data: 0.06MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_order_itemmeta: Data: 0.28MB + Index: 0.23MB + Engine InnoDB wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_actionscheduler_actions: Data: 0.13MB + Index: 0.14MB + Engine InnoDB wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_actionscheduler_logs: Data: 0.11MB + Index: 0.11MB + Engine InnoDB wp_cf_forms: Data: 0.45MB + Index: 0.02MB + Engine InnoDB wp_cf_form_entries: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_cf_form_entry_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_cf_form_entry_values: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_cf_pro_messages: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_cf_queue_failures: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_cf_queue_jobs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_comments: Data: 0.09MB + Index: 0.09MB + Engine InnoDB wp_failed_jobs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_mailchimp_carts: Data: 0.05MB + Index: 0.00MB + Engine InnoDB wp_mailchimp_jobs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_options: Data: 4.06MB + Index: 0.13MB + Engine InnoDB wp_postmeta: Data: 4.52MB + Index: 4.03MB + Engine InnoDB wp_posts: Data: 1.45MB + Index: 0.30MB + Engine InnoDB wp_queue: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_css: Data: 0.13MB + Index: 0.00MB + Engine InnoDB wp_revslider_css_bkp: Data: 0.13MB + Index: 0.00MB + Engine InnoDB wp_revslider_layer_animations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_layer_animations_bkp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_navigations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_navigations_bkp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_sliders: Data: 0.06MB + Index: 0.00MB + Engine InnoDB wp_revslider_sliders_bkp: Data: 0.05MB + Index: 0.00MB + Engine InnoDB wp_revslider_slides: Data: 0.33MB + Index: 0.00MB + Engine InnoDB wp_revslider_slides_bkp: Data: 0.33MB + Index: 0.00MB + Engine InnoDB wp_revslider_static_slides: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_static_slides_bkp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_term_relationships: Data: 0.13MB + Index: 0.09MB + Engine InnoDB wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_usermeta: Data: 0.14MB + Index: 0.09MB + Engine InnoDB wp_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_wcpdf_invoice_number: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_admin_notes: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_admin_note_actions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_order_product_lookup: Data: 0.05MB + Index: 0.06MB + Engine InnoDB wp_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_product_meta_lookup: Data: 0.11MB + Index: 0.19MB + Engine InnoDB wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wdr_order_discounts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wdr_order_item_discounts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wdr_rules: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wfblockediplog: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wfblocks7: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_wfconfig: Data: 0.52MB + Index: 0.00MB + Engine InnoDB wp_wfcrawlers: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wffilechanges: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wffilemods: Data: 5.52MB + Index: 0.00MB + Engine InnoDB wp_wfhits: Data: 1.03MB + Index: 0.05MB + Engine InnoDB wp_wfhoover: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wfissues: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_wfknownfilelist: Data: 2.52MB + Index: 0.00MB + Engine InnoDB wp_wflivetraffichuman: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wflocs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wflogins: Data: 0.14MB + Index: 0.03MB + Engine InnoDB wp_wfls_2fa_secrets: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wfls_settings: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wfnotifications: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wfpendingissues: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_wfreversecache: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wfsnipcache: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_wfstatus: Data: 0.13MB + Index: 0.09MB + Engine InnoDB wp_wftrafficrates: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wpmailsmtp_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_yoast_indexable: Data: 1.44MB + Index: 0.45MB + Engine InnoDB wp_yoast_indexable_hierarchy: Data: 0.06MB + Index: 0.08MB + Engine InnoDB wp_yoast_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_yoast_primary_term: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_yoast_seo_links: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_yoast_seo_meta: Data: 0.16MB + Index: 0.00MB + Engine InnoDB ### Post Type Counts ### attachment: 462 custom_css: 1 customize_changeset: 4 jetpack_migration: 2 jp_img_sitemap: 1 jp_sitemap: 1 jp_sitemap_master: 1 mc4wp-form: 1 nav_menu_item: 14 oembed_cache: 14 page: 16 post: 2 product: 55 product_variation: 645 revision: 15 shop_coupon: 8 shop_order: 68 shop_order_refund: 3 vc_settings_preset: 1 ### Security ### Secure connection (HTTPS): ✔ Hide errors from visitors: ✔ ### Active Plugins (28) ### Akismet Anti-Spam: by Automattic – 4.1.9 All-in-One WP Migration Unlimited Extension: by ServMask – 2.39 All-in-One WP Migration: by ServMask – 7.39 Caldera Forms: by Caldera Forms – 1.9.4 Cookiebot | GDPR/CCPA Compliant Cookie Consent and Control: by Cybot A/S – 3.9.0 Disable Right Click For WP: by Aftab Muni – 1.1.6 Easy Theme and Plugin Upgrades: by Chris Jean – 2.0.1 Envato Market: by Envato – 2.0.6 Google XML Sitemaps: by Auctollo – 4.1.1 WPBakery Page Builder: by Michael M - WPBakery.com – 6.5.0 Mailchimp for WooCommerce: by Mailchimp – 2.5.1 Slider Revolution: by ThemePunch – 6.4.5 Unyson: by ThemeFuse – 2.7.24 YellowPencil Pro: by WaspThemes – 7.4.0 Woo Discount Rules PRO 2.0: by Flycart – 2.3.4 Woo Discount Rules: by Flycart – 2.3.4 WooCommerce Free Shipping Bar Premium: by VillaTheme – 1.1.6.2 WooCommerce Amazon Pay: by WooCommerce – 1.13.1 WooCommerce PayPal Checkout Gateway: by WooCommerce – 2.1.1 WooCommerce Stripe Gateway: by WooCommerce – 5.0.0 WooCommerce Google Analytics Integration: by WooCommerce – 1.5.1 WooCommerce Multi Currency Premium: by VillaTheme – 2.1.11 WooCommerce PDF Invoices & Packing Slips: by Ewout Fernhout – 2.8.2 WooCommerce: by Automattic – 5.1.0 Wordfence Security: by Wordfence – 7.4.14 Yoast SEO: by Team Yoast – 16.0.2 WP Mail SMTP: by WPForms – 2.6.0 WP Rocket: by WP Media – 3.8.6 ### Inactive Plugins (2) ### Disable Real MIME Check: by Sergey Biryukov – 1.0 WP Crontrol: by John Blackbourn & crontributors – 1.10.0 ### Dropin Plugins (1) ### advanced-cache.php: advanced-cache.php ### Settings ### API Enabled: – Force SSL: – Currency: GBP (£) Currency Position: left Thousand Separator: , Decimal Separator: . Number of Decimals: 2 Taxonomies: Product Types: external (external) grouped (grouped) simple (simple) variable (variable) Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5) Connected to WooCommerce.com: ✔ ### WC Pages ### Shop base: #2973 - /shop/ Basket: #2974 - /cart/ Checkout: #2742 - /checkout/ My account: #2743 - /my-account/ Terms and conditions: #6437 - /terms-and-conditions/ ### Theme ### Name: Jevelin Child Version: (update to version 0 is available) Author URL: http://shufflehound.com Child Theme: ✔ Parent Theme Name: Jevelin Parent Theme Version: 5.0.1 Parent Theme Author URL: https://shufflehound.com/ WooCommerce Support: ✔ ### Templates ### Archive Template: Your theme has a woocommerce.php file. You will not be able to override the woocommerce/archive-product.php custom template since woocommerce.php has priority over archive-product.php. This is intended to prevent display issues. Overrides: jevelin/woocommerce/archive-product.php jevelin/woocommerce/cart/cart-empty.php jevelin/woocommerce/cart/cart.php jevelin/woocommerce/checkout/form-checkout.php jevelin/woocommerce/checkout/review-order.php jevelin/woocommerce/checkout/thankyou.php jevelin/woocommerce/content-product.php jevelin/woocommerce/content-single-product.php jevelin-child/woocommerce/emails/customer-completed-order.php jevelin-child/woocommerce/emails/customer-invoice.php jevelin-child/woocommerce/emails/customer-new-account.php jevelin-child/woocommerce/emails/customer-processing-order.php jevelin/woocommerce/loop/loop-end.php jevelin/woocommerce/loop/loop-start.php jevelin/woocommerce/loop/no-products-found.php jevelin/woocommerce/loop/orderby.php jevelin/woocommerce/loop/pagination.php jevelin/woocommerce/loop/price.php jevelin/woocommerce/loop/rating.php jevelin/woocommerce/loop/result-count.php jevelin/woocommerce/loop/sale-flash.php jevelin/woocommerce/notices/error.php jevelin/woocommerce/notices/notice.php jevelin/woocommerce/notices/success.php jevelin/woocommerce/product-searchform.php jevelin/woocommerce/single-product/meta.php jevelin/woocommerce/single-product/product-image.php jevelin/woocommerce/single-product/product-thumbnails.php jevelin/woocommerce/single-product/rating.php jevelin/woocommerce/single-product/review.php jevelin/woocommerce/single-product/sale-flash.php jevelin/woocommerce/single-product/share.php jevelin/woocommerce/single-product/short-description.php jevelin/woocommerce/single-product/tabs/additional-information.php jevelin/woocommerce/single-product/tabs/description.php jevelin/woocommerce/single-product/tabs/tabs.php jevelin/woocommerce/single-product/title.php ### Action Scheduler ### Complete: 381 Oldest: 2021-02-16 21:58:07 +0000 Newest: 2021-03-18 11:47:05 +0000 Pending: 2 Oldest: -0001-11-29 23:58:45 -0001 Newest: 2021-03-24 18:27:50 +0000 ### Status report information ### Generated at: 2021-03-19 17:33:03 +00:00
BR,
HumHi there!
Can I please request you to remove the screenshots as they expose some sensitive data?
Regarding the behavior you’re seeing, there’s nothing obvious I see from the System Status Report that should be causing this:
Link to image: https://d.pr/i/6kclXz—
I further attempted to replicate this on my own test site, but could not:
Link to image: https://d.pr/i/0T3sot—
This kind of problem is usually caused by a conflict with your theme or with another plugin.
The best way to determine this is to:- Temporarily switch your theme to Storefront
- Disable all plugins except for WooCommerce
- Attempt to refund a test order
If you’re not seeing the same problem after completing the conflict test, then you know the problem was with the plugins and/or theme you deactivated. To figure out which plugin is causing the problem, reactivate your other plugins one by one, testing after each, until you find the one causing conflict. You can find a more detailed explanation on how to do a conflict test here.`
Hello,
I will try that and test to see.
Sorry, not clear how to edit a posted message, those options do not seem available now.
Sorry, not clear how to edit a posted message, those options do not seem available now.
Looks like we cannot edit a post after 60 minutes https://wordpress.org/support/topic/how-to-modify-a-wordpress-forum-post/
Hi @ftahumour,
We’re just following up on this to see if you were able to conduct the conflict test and if you found anything yet.
Thanks.
Hi @abwaita
I’m afraid I have not had the time to troubleshoot this problem any further yet. I can only confirm that it was not a one off as the behaviour is consistent in my instance.
What was interesting to see is that an email report/notification is sent to the customer when the refund is actioned, but when the order status is manually set to refunded, a second email report/notification is generated and sent to the customer.
I will attempt to troubleshoot as soon as its possible to do so. It doesn’t help that the environment is live with no staging environment available to to the troubleshooting on.
Hi @ftahumour,
Just checking if you were able to conflict test.
I will attempt to troubleshoot as soon as its possible to do so. It doesn’t help that the environment is live with no staging environment available to to the troubleshooting on.
It sounds like using a staging site would be a good idea. Your host might offer it as an option, but you can still create a staging site with the WP Staging plugin. Hopefully, you will be able to do the test.
Let us know how it goes!
Hi @ftahumour
We’ve not heard back from you in a while, so I’m marking this thread as resolved. Hopefully, you were able to find a solution to your problem! If you have further questions, please feel free to open a new topic.
Thank you. Unfortunately I did not have the opportunity to troubleshoot this issue.
For completeness, I can report that the problem appears to have resolved itself! The instance has gone through one WP Update + one Theme update in this time. Plugins have remained the same throughout.
I have recently refunded 2 orders (exactly the same process and payment process applies) and in both cases the action completed the PP refund AND changed the order status to refunded AND issued the email to the customer.
Great to hear that the issue has not recurred even after the updates to WP and your theme.
However, feel free to create a new thread if the issue resurfaces or you have any other questions.
Cheers!
- The topic ‘Woo Order Status not changing when refund is issued via Woo PayPal Gateway’ is closed to new replies.