kobberbjerg
Forum Replies Created
-
I have now verified the issue. No emails regarding failed payments where generated.
But looking at the code, when adding the following else statement in function scheduled_subscription_payment:if( $this->api_action_recurring( $amount_to_charge ) ) { WC_Subscriptions_Manager::process_subscription_payments_on_order( $this->order->id ); } // Added fix else { WC_Subscriptions_Manager::process_subscription_payment_failure_on_order( $this->order->id ); }
then a new invoice was automatically generated, with status failed, and the renewal email for the invoice was sent automatically (thus allowing the customer to manually complete the payment). Without this additional code, then there was no “Pay” button for renewing the subscription that was put on hold.
It seems that for some reason, the check_quickpay_response method is not called when the payment fails, only when it is successful for subscriptions.
Forum: Plugins
In reply to: [WooCommerce Quickpay] Error: Integrity test failed after updating to 2.1.3I have tried enabling test mode, and disabling it again. The problem persists both in test mode and when test mode is disabled.
When downgrading to 2.1.2, the error disappears and the payment window opens as expected.No emails are generated for the user in this case.
But I will test and verify this again.When tracking a different error with Woothemes, (where subscriptions where not activated automatically, after paying a failed order), it was pointed out by the woo themes support that the plugin doesn’t call the order->payment_complete() method (but rather the update_status method). This causes several hooks not to fire correctly.
When replaing the code in the check_quickpay_response with the following:
if($response->msgtype === 'subscribe') $this->order->payment_complete(); // WC_Subscriptions_Manager::activate_subscriptions_for_order( $this->order ); } else { // $this->order->update_status('processing'); // $this->order->reduce_order_stock(); $this->order->payment_complete(); $this->note('Payment authorized.');
then the automated activation worked as required. And incidentally, the virtual/downloadable products where automatically set to completed, as per Woocommerce standard.
This is documented here:
https://docs.woothemes.com/document/subscriptions/renewal-process/
Section: Failed payment handling.On the other hand, when using the Subscription Option that disables automatic payment in subscriptions, then the manual renewal order is generated correctly.
Forum: Plugins
In reply to: [WooCommerce Quickpay] Error: Integrity test failed after updating to 2.1.3The configuration is working when downgrading to 2.1.2, but fails after upgrading to 2.1.3.
I have tried updating the MD5 secret string and the merchant Id from the quickpay management console and it fails again.