This plugin has been randomly cancelling subscription orders on my website. In these instances, this plugin instantaneously cancels the order once it’s placed. If the user tries to place another subscription order, it’s again cancelled immediately. This has been confirmed by PayPal and it seems that you have been working on similar issues on GITHUB. How can this be solved so that your plugin is functional?
Subscription orders are canceled for a reason, like pre-existing subscriptions. This is a limitation of the Vaulting feature.
In the latest version, the plugin is designed to only process subscription payments when a payment method was saved in the Vault at PayPal. While the initial payment could be theoretically processed regardless (that’s what happened up until version 1.6.1), future renewals would not work without a saved payment method and this serves as a measure to prevent long-term issues with subscriptions.
As long as the subscription order is in “On-hold” status (~3 minutes), the payment could be manually captured before it is voided by the system when there is no saved payment method.
We understand some merchants may prefer to automatically capture the funds anyway regardless of whether a payment method could be saved and we’re looking into providing more flexibility in this regard.
So in summary, please fix this problem. It used to work with all my subscribers (on the old outdated plugin), but this new plugin has given us many problems. Thanks.
When the MTS checks the logs, they will only notice the void call after the webhook confirmed no payment method was saved but they may not piece the clues together due to the lack of insight into the inner workings of the integration.
PayPal Payments implements Vaulting via JSSDK: https://developer.paypal.com/limited-release/vault-payment-methods/vault-sdk/
Due to the way Vaulting via JSSDK works at PayPal, saving the payment method is an asynchronous process.
This means at the point in time when the buyer confirms the payment for the subscription order, the plugin doesn’t know yet whether or not the payment method was successfully saved at PayPal.
The documentation has more details about the checkout flow with subscriptions.
If the payment method was not saved, the initial payment could still be captured, though this wouldn’t help with future renewal payments. But one of the next updates will include relevant improvements so you can choose between failing the subscription orders or capturing the funds regardless.
But if nothing else is done beyond capturing the initial payment, then the problem would only be delayed as the first renewal would then fail.
Thanks Niklas. But, what do I tell customers when it fails? If this is part of PayPal’s architecture, then I need to be able to provide instructions or else I lose another subscriber. As of right now, I have found no documentation online and PayPal tech support hasn’t even confirmed the issue. This is affecting me at a pretty high percentage, so I need to pivot quickly. Thanks.
Automatic subscription renewals can only be handled by PayPal Payments when a payment method has been saved in the Vault and (for PayPal accounts) this only works when pre-existing subscriptions (or more specifically the billing agreement) are canceled.
Once the buyer canceled pre-existing billing agreements and saved a payment method with PayPal Payments, they can also have multiple subscriptions active at the same time.
A user came up with a workaround (this is not an official solution) that will capture the payment regardless of whether or not the payment method was saved. It could be tested with this version.
An option to enable similar behavior will be included in a future update.
While this will cause the initial subscription payment to succeed, subsequent automatic renewal payments will only be successful when the buyer vaults a payment method. Otherwise, the buyer will need to manually confirm the renewal payment, which is what the original behavior intends to prevent.
I’ve been chatting with Merchant Technical Services @ PayPal tech support and they said that the plugin should be able (technically) to capture the user’s payment info for initial payments and renewals. I have vaulting enabled on my PayPal merchant account, so there should not be an issue. I can send you the entire transcript of our conversation if you like as I don’t know what else to do here. I mean, I have an active business who used to sell subscriptions with renewals just fine until I was forced to switch to this plugin due to compatibility with WooCommerce.
You mentioned, “Once the buyer canceled pre-existing billing agreements and saved a payment method with PayPal Payments, they can also have multiple subscriptions active at the same time.” But, support from PayPal said, “There is no reason from the PayPal side that a buyer would need to cancel other subscriptions to sign up.”.
So, I’m at the point where I simply need this to work on initial payments and renewals. If this can’t be done, I may have to drop PayPal from my site altogether (a sizeable amount of the gross income) and hope all of our customers switch to our Stripe credit card option. If you would like to see if anything strange (conflicts, etc.) is going on with my site, I am more than happy to provide you with info via DM. But so far, what I’m gathering is that your saying there is no way for this to work smoothly. As a merchant with PayPal since 2012, I’d hate to abandon ship, but you’re stating that it is not possible for PayPal to support this simple task of signing up for a subscription. This sounds very odd to me and the techs at https://www.paypal-support.com/ seem to disagree. So, please let me know if you can get this working on both initial payments and renewals. And if not, do you know of another plugin I can use to make this work? Thanks.
I wasn’t around last week, but when in doubt, you can also request private support from here: https://paypal.inpsyde.com/docs/request-support/
they said that the plugin should be able (technically) to capture the user’s payment info for initial payments and renewals.
The initial signup payment could be captured regardless of whether or not a payment method could be saved in the vault. These are two separate things.
You can use the plugin version linked above to do this and prevent subscription signups from failing. But the initial payment is not the core of the problem. The problem is when there is no saved payment method at PayPal, as subsequent automatic renewals will not be possible.
For the time being, PayPal Payments is designed to ensure automatic subscription renewals. If during the signup, the integration knows that the next renewal for the subscription would fail, then it will fail the entire subscription order from the start to prevent a “silent failure” sometime in the future.
But, support from PayPal said, “There is no reason from the PayPal side that a buyer would need to cancel other subscriptions to sign up.”.
This disregards the fact that a PayPal account can’t be saved in the Vault when there is already a billing agreement active at PayPal, and PayPal does not provide a way to convert billing agreements into Vault tokens.
Yes, the initial payment could be captured (that what the above-linked version does) but without a saved payment method in the Vault, renewals would not work.
If this can’t be done, I may have to drop PayPal from my site altogether (a sizeable amount of the gross income) and hope all of our customers switch to our Stripe credit card option.
The PayPal Card Processing option (essentially like Stripe credit card) does not have the limitation with billing agreements. This only applies to PayPal accounts.
So, I’m at the point where I simply need this to work on initial payments and renewals.
Initial payments? Not a problem at all with the above linked version. Automatic renewals? Only works when the user has a saved payment method and not old PayPal subscription active. If they do, either they or you, must first cancel the old billing agreement because the integration isn’t doing it.
We have not heard back from you in a while, so I’m marking this thread as resolved.
Hopefully, the above information helped you out.
If you have any further questions, please feel free to reopen this topic or create a new one.
- You must be logged in to reply to this topic.