roelvdp
Forum Replies Created
-
FYI: I got word from WooCommerce support that their dev team is currently reviewing the Subscription line
add_action( ‘woocommerce_order_status_pending_to_on-hold_renewal_notification’, array( $this, ‘trigger’ ) );They might remove it in an upcoming patch, depending on the outcome of the review. This would solve the problem entirely.
^ done, and has been followed up on.
FYI: I got word from WooCommerce support that their dev team is currently reviewing the Subscription line
add_action( ‘woocommerce_order_status_pending_to_on-hold_renewal_notification’, array( $this, ‘trigger’ ) );They might remove it in an upcoming patch, depending on the outcome of the review. This would prevent “processing renewal order” emails from being sent to “on hold” customers and would solve the problem without intervention from Mollie’s side.
It might help influence the outcome of the review if you guys flagged this issue for the Mollie plugin to WooCommerce.
- This reply was modified 5 years, 8 months ago by roelvdp.
Update:
This is related to two things: (1) the the Subscriptions plugin triggers for customer e-mails and (2) the way Mollie handles renewal order statuses.
(1) WooCommerce Subscriptions sends the “processing renewal order” e-mail upon the following events: (a) when the order status is set from “pending payment” to “processing” and (b) when the order status is set from “pending payment” to “on hold”. In the script:
// Triggers for this email
add_action( ‘woocommerce_order_status_pending_to_processing_renewal_notification’, array( $this, ‘trigger’ ) );
add_action( ‘woocommerce_order_status_pending_to_on-hold_renewal_notification’, array( $this, ‘trigger’ ) );(2) The Mollie payment plugin offers the possibility to set automatically recurring renewals via SEPA Direct Debit to “on hold” instead of “pending payment” while the payment is being processed, in order to avoid automatic cancellation after 60min due to stock management (SEPA Direct Debit payments might take up to 21 days to process). If this is enabled, it seems as if the order is created on “on hold” status. But this is not the whole pictures. The order is first created as “pending payment” and is then immediately set to “on hold”. But it first goes through “pending payment” status.
So (2) means that (1)(b) is triggered, which means the “processing renewal order” e-mail is sent to the customer (with the PDF invoice attached if this is so configured).
The fix is to remove trigger (1)(b) from the Subscriptions script. I also suggested to the Mollie plugin developpers to change the way their plugin handles this, see here if they followed up on this: https://www.ads-software.com/support/topic/on-hold-sepa-renewals-getting-processing-renewal-order/#post-11689155 . I’ve also suggested to the Subscriptions developers that they remove the part of the script that triggers the e-mail, since it makes no sense that customers should receive a “processing renewal order” e-mail for orders that are set to “on hold”.
- This reply was modified 5 years, 8 months ago by roelvdp.
Update: I got this piece of info from WooCommerce support:
I looked into the code for Subscriptions and this is what I see for triggering the Processing Renewal order email:
// Triggers for this email
add_action( ‘woocommerce_order_status_pending_to_processing_renewal_notification’, array( $this, ‘trigger’ ) );
add_action( ‘woocommerce_order_status_pending_to_on-hold_renewal_notification’, array( $this, ‘trigger’ ) );This says if the order status goes from Pending to Processing or to On Hold, the email is triggered, so this seems like it is correct.
It is possible that the order status has changed in Stripe, which I believe it has. It previously stayed as Pending Payment when SEPA was being processed, however that was incorrect, it should have been put to On Hold. Pending Payment allows the order to be modified, where On Hold does not.
=> If the SEPA Direct Debit payment method is set to put status to “on hold” instead of “pending payment”, is the order still set first to “pending payment” and than changed to “on hold” afterwards? If so, this would indeed trigger the “processing order” e-mail.
We’re indeed suspecting that the processing renewal order e-mail is also sent for “on hold” orders. But not sure, and not sure why. We’ve contacted WooCommerce and the Subscriptions plugin developers. I’ll update here if we find the solution.
Forum: Plugins
In reply to: [Mollie Payments for WooCommerce] E-mails for failed renewalsNot sure – I’ll monitor new failed renewals and report back here.
Disabled attachment for “Customer invoice / order details (manual e-mail)” and invoices are still created for “on hold” orders. The only e-mails enabled are “Processing” and “Processing renewal order”…
No, attachment is only enabled for the e-mails I mentioned…
I will desactivate the attachment for “Customer invoice / order details (manual e-mail” and see if the problem persists. I’ll report the result here.
Forum: Plugins
In reply to: [Mollie Payments for WooCommerce] E-mails for failed renewalsUpdate: going over order and subscription details, I think this might be linked to this issue: https://www.ads-software.com/support/topic/pending-sepa-renawals-set-to-pending-payment-instead-of-on-hold/
Coming back on this one.
Here’s the content of mollie_wc_gateway_directdebit_settings:
a:5:{s:7:”enabled”;s:3:”yes”;s:5:”title”;s:33:”SEPA Direct Debit (Domiciliation)”;s:12:”display_logo”;s:3:”yes”;s:11:”description”;s:0:””;s:20:”initial_order_status”;s:7:”on-hold”;}
Seems correct to me ?
FYI according to our developper he has had several clients complaining about this issue.
Yes all latest versions.
Is it possible that the configuration for the payment method simply does not correctly display the setting that is saved? Can I check this in the code? (if yes how – I’m not much of a developer).Anyway I’ll try and monitor the next few renewals more closely to see what happens.
Update: this seems to have been resolved through a WooCommerce update (v 3.5.7)
Fyi, in the order notes the first message after successfull recurring SEPA payment is:
“Order contains Mollie payment method, but not a valid Mollie Order ID. Processing capture canceled.”EDIT: the note also appears for renewal orders paid for with credit card (recurring), but for those orders there seems to be no problem to send to e-mails.
- This reply was modified 5 years, 11 months ago by roelvdp.
Hi David,
The e-mails are indeed sent natively by WooCommerce, not through the Mollie plugin. But since the sending is linked to order status, I suspect that there is some incompatibility between these e-mails and how Mollie handles the status.
Order status is eventually set to “processing” if the payment has succeeded. It goes through some stages first though (I think it first goes to “cancelled” and then to “processing” as soon as the payment arrives? Not clear to me).
Since there is no problem for credit card renewal payments (which go through different status sequences it seems) I do think it’s due to how status is handled for SEPA renewals.
Forum: Plugins
In reply to: [WooCommerce Gift Coupon] Suggestion: send coupon on “processing”Hi Alberto,
Hm I understand. Maybe it’s an idea to allow users to choose between different moments to send the coupon? I.e. send mail on order pending, processing, completed or other…
For example, this plugin allows to attach an invoice to any of the automatic shop mails: https://www.ads-software.com/plugins/woocommerce-pdf-invoices-packing-slips/ , maybe you can copy some code if you do this. Of course the difference is that the coupon should be sent in a different e-mail, so not sure that you can just copy-paste.