Title: Plugin Cancelling Subscription Orders
Last modified: May 31, 2022

---

# Plugin Cancelling Subscription Orders

 *  Resolved [scrapheap](https://wordpress.org/support/users/scrapheap/)
 * (@scrapheap)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/)
 * 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?

Viewing 9 replies - 1 through 9 (of 9 total)

 *  Plugin Support [Syde Niklas](https://wordpress.org/support/users/niklasinpsyde/)
 * (@niklasinpsyde)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15695614)
 * Hi [@scrapheap](https://wordpress.org/support/users/scrapheap/),
 * Subscription orders are canceled for a reason, [like pre-existing subscriptions](https://woocommerce.com/document/woocommerce-paypal-payments/#multiple-and-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.
 * Kind regards,
    Niklas
 *  Thread Starter [scrapheap](https://wordpress.org/support/users/scrapheap/)
 * (@scrapheap)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15696952)
 * Thanks for the reply Niklas. I spoke with PayPal tech support today and they 
   didn’t agree with this diagnoses. I actually think your logic makes sense, but
   they had no idea, which is concerning to me. If what you are saying is correct,
   PayPal is not relaying any of this information to the customer. In fact, they’re
   simply saying that this plugin is broken and/or the site. So, the problem is 
   that unless your plugin is able to capture these payments as valid (even without
   a vault payment method), the plugin simply won’t work on any website with subscriptions.
   Because if PayPal isn’t telling its customers to use a payment vault, how would
   they know it exists. Also, I can’t find any information online about how to add
   a payment method to a vault in PayPal. So, how exactly do I tell a customer to
   add this when nobody knows what or where it is? The only information I could 
   find is for developers: [https://developer.paypal.com/braintree/docs/guides/paypal/vault/javascript/v3](https://developer.paypal.com/braintree/docs/guides/paypal/vault/javascript/v3).
 * 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.
 *  Plugin Support [Syde Niklas](https://wordpress.org/support/users/niklasinpsyde/)
 * (@niklasinpsyde)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15698151)
 * 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/](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](https://woocommerce.com/document/woocommerce-paypal-payments/#subscription-flow).
 * 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.
 * Kind regards,
    Niklas
 *  Thread Starter [scrapheap](https://wordpress.org/support/users/scrapheap/)
 * (@scrapheap)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15698730)
 * 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.
 *  Plugin Support [Syde Niklas](https://wordpress.org/support/users/niklasinpsyde/)
 * (@niklasinpsyde)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15700395)
 * Hi [@scrapheap](https://wordpress.org/support/users/scrapheap/),
 * 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](https://www.paypal.com/in/smarthelp/article/how-do-i-cancel-a-billing-agreement-faq2254).
   
   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](https://holest.com/forum/general-product-support/5370-could-not-process-order-because-it-was-not-possible-to-save-the-payment-on-paypal.html)(
   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](https://drive.google.com/uc?export=download&id=1K0pIqUdr6bNHkLJCJWh4TDxQFeR6uKHj).
   
   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.
 * Kind regards,
    Niklas
 *  Thread Starter [scrapheap](https://wordpress.org/support/users/scrapheap/)
 * (@scrapheap)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15706971)
 * HI Niklas,
 * 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/](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.
 *  Thread Starter [scrapheap](https://wordpress.org/support/users/scrapheap/)
 * (@scrapheap)
 * [4 years ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15716545)
 * BUMP. Any updates or info Niklas?
 *  Plugin Support [Syde Niklas](https://wordpress.org/support/users/niklasinpsyde/)
 * (@niklasinpsyde)
 * [3 years, 12 months ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15736309)
 * Hi [@scrapheap](https://wordpress.org/support/users/scrapheap/),
 * 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/](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](https://woocommerce.com/document/woocommerce-paypal-payments/#multiple-and-pre-existing-subscriptions)
   because the integration isn’t doing it.
 * Kind regards,
    Niklas
 *  Plugin Support [Syde Niklas](https://wordpress.org/support/users/niklasinpsyde/)
 * (@niklasinpsyde)
 * [3 years, 11 months ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15775207)
 * Hi [@scrapheap](https://wordpress.org/support/users/scrapheap/),
 * 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. Thank you!

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Plugin Cancelling Subscription Orders’ is closed to new replies.

 * ![](https://ps.w.org/woocommerce-paypal-payments/assets/icon-256x256.png?rev=
   3234615)
 * [WooCommerce PayPal Payments](https://wordpress.org/plugins/woocommerce-paypal-payments/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/woocommerce-paypal-payments/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/woocommerce-paypal-payments/)
 * [Active Topics](https://wordpress.org/support/plugin/woocommerce-paypal-payments/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/woocommerce-paypal-payments/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/woocommerce-paypal-payments/reviews/)

 * 9 replies
 * 2 participants
 * Last reply from: [Syde Niklas](https://wordpress.org/support/users/niklasinpsyde/)
 * Last activity: [3 years, 11 months ago](https://wordpress.org/support/topic/plugin-cancelling-subscription-orders/#post-15775207)
 * Status: resolved