How the issue shows in Woocommerce
- User has active subscription
- When next payment is due renewal order created, but payment fails and we do not get the token information in the payment request
- After update to Woocommerce 3.0, if looks like some user meta-data may be missing from the database (the registration token is stored in the user metadata)
The order note below shows for the failed renewal order in Woo.
This happened because after a Woocommerce update to 3.0, the peach plugin was trying to directly grab the order ID from the order object to save the value in the meta key. It needed to grab the ID using a specific function provided by Woocommerce for that. (The ID variable was made "protected" in the updated Woocommerce system, so it cant be changed by any other plugins or erroneous code). So it was essentially trying to grab and save the info to order 0.
The update to the plugin should now resolve this issue going forward.
How to correct issue for past affected users
Install https://wordpress.org/plugins/show-hidden-post-meta/ it will allow you to update the hidden meta
Log into the Peach Payment BIP and search for the problem transaction using the parent order ID, open that transaction and find the token for the stored card (This is the unique ID for the customer's RG transaction - their stored card token)
see this video: https://drive.google.com/file/d/0B4umU9ySbrR5QWFuSVhMSl84cVE/view?usp=sharing
In your woocommerce backend, edit the parent order and subscription order and make sure the following meta keys look something like this:
https://drive.google.com/file/d/0B4umU9ySbrR5NnVvLWUzaUZqZFk/view?usp=sharing
The below custom meta data needs to store the unique ID of the RG transaction
_peach_payment_token
_peach_subscription_payment_method
From this point on these renewals should work fine.
There are on-going changes to Woocommerce 3.0 that we'd recommend keeping updated with. https://woocommerce.wordpress.com/2017/04/13/woocommerce-3-0-3-fix-release-notes/