Hello, I was hoping someone can address why the subscription app doesn't work like a basic subscription normally works?

Normally it would work like this:
1. A user chooses their subscription plan.
2. They enter their credit card info directly into the site.
3. Upon succesful payment, the Subscription is activated and they are set to auto-renew.
4. If the user updates to a different plan on the site, the original is canceled and the auto-renew is enable for the new plan instead.
5. If a user cancels their plan completely on the site, the auto renew is also canceled and they will no longer be charged.

However, if you use the Paypal Gateway with the phpFox Subscription app, it appears to work like this:
1. A user chooses their subscription plan.
2. They are taken off the site to sign in to paypal (in order to activate the subscription).
3. Upon succesful payment, the Subscription is activated in Paypal and the subscription is set to auto-renew also in Paypal.
4. They hopefully are returned to the site where it may take a few minutes for the subscription to show up as active.
5. If the user updates to a different plan on the site, this info only appears to be updated on the site, but the new plan is actually added in addition to their existing plan in Paypal. They have to login to Paypal to cancel the previous subscription. Otherwise they will have multiple auto-renew charges.
6. If a user cancels their plan completely on the site, the auto renew remains active in Paypal. The subscription app does not communicate the cancelation to Paypal. There is a notice on the bottom of a popup that tells the user to remember to login to Paypal and cancel it there too (which the user may miss) otherwise, they will still be charged even though it says "Canceled" in the site.

If we use an alternate payment gateway (such as Stripe through YouNet's Advanced Payments App) it works like this:
1. A user chooses their subscription plan.
2. They enter their credit card info directly into the site.
3. Upon succesful payment, the Subscription is activated and they are set to auto-renew.
3. If the user updates or cancels their subscription, this app does not communicate with the gateway to update or cancel it there too. So it will show as updated in the site, and still charge the user for the first subscription they updated from, in addition to the one they updated to, resulting in multiple charges and potentially an angry customer.
4. If they cancel, it shows as canceled in phpFox only, and remains active in the gateway, so the user is charged for what they think is a canceled subscription. This could lead to negative reviews and chargebacks, as well as angry customers.

I contacted developers to see why they can't get their Gateways to work in a normal automated way with this Subscription App. I was told that the Subscription App does not support the cancelation function for third-party apps! Then why have a "Cancel" button on the site at all? If you are using any Gateway other than Paypal, the user can't cancel the subscription themselves because when they hit "cancel", it only does so for the site, but not the Gateway.

Not everyone wants to (or is able to) use Paypal. I prefer for my users to not have to leave the site. And I know they prefer to not have to cancel or update their subscription on the site, and then login to Paypal to update or cancel it there too. It should all be done directly within the site, but the site will not communicate changes or cancelations to the Gateways.

This unfortunately results in a convoluted way of doing things. The subscriptions should only be handled within the site itself. Not by using a Gateway's subscription functionality (if they even have one). Maybe a cron can be set to check for renewals every month? Or something similar on the website's side? Not in the Gateways! Gateways should only be invisble payment processors.

I just know if you go to any subscription sites like Netflix, Hulu, or even food subscriptions like HelloFresh, or cosmetic subscriptions like Birchbox, you NEVER have to setup the subscription through a third-party, and cancel/update in two places. It's always: sign up, subscribe, pay, update or cancel all within the same site!

Is there a reason for the Subscription App to work the way it does? Or is this something that phpFox plans to update/fix? I have been going back and forth with developers for almost a year trying to find a simple solution, and it always comes back to: "phpFox does not support the cancelation function for third-party apps". If it's not already planned, I am requesting that you please update this app, if only to allow the functionality so we can solve it ourselves if we want.

Thank you for your time. I look forward to any updates!

JohnJr

Normally it would work like this:
1. A user chooses their subscription plan.
2. They enter their credit card info directly into the site.
3. Upon succesful payment, the Subscription is activated and they are set to auto-renew.
4. If the user updates to a different plan on the site, the original is canceled and the auto-renew is enable for the new plan instead.
5. If a user cancels their plan completely on the site, the auto renew is also canceled and they will no longer be charged.

It doesn't work like that because the process you described above is a company doing its own internal processing of payments.  Those companies are usually very large and widely known with lots of money and are not software companies.  Plus those companies are processing their own payments.  Most if not all software companies do not process their client's financial stuff.  The reason is there are already software companies that do that like PayPal and Stripe that already have the trust and security processing of financial information.  No offense to phpfox but there is still a bug on the profile page that has been there for seven years that no one has caught as of yet and I have to fix it during each upgrade. So why would they get into the financial stuff and be responsible for that as well?

I have Netflix and Hulu set up through Paypal and it works the same with them.  When I downgraded my Netflix it created a new subscription so I had to go into my subscription area in Paypal and delete the old one.  I also found a bunch of other companies that were not charging actively but were still active so I delete all of those as well.  The issues with 3rd party software are real....I just don't know how phpfox could solve them...sorry.

I do think there is an issue where it should be on different screens where someone picks a subscription but does not go through with it with a payment that it remains on the screen with the active subscriptions...very confusing.

You brought up some good points and I am going to check them out this next week as it has been a while since I looked into whether improvement have been made with maybe their API.

Update:  I did find this with stripe on a different non-social software...looks good.

Recommended Payment Gateway: Stripe.com

 

Using PayPal as your payment gateway will mean you will likely collect fewer subscription payments from your members

 

With PayPal Free, every time a member's subscription comes due, they will have to log in to their account on your website, navigate to the Billing area, click on a link to PayPal, login to their PayPal account, and then pay for their subscription payment inside PayPal.

 

If a member wishes to purchase a lead, they will have to go through the same process of logging in to their account on your site, choosing the purchase the lead, navigating to PayPal, logging into their PayPal account, and then paying you there before being able to access the lead details.

 

As you can imagine, this can be very difficult and time consuming for your members, and many will likely choose to simply stop paying for their subscription for just this reason.

 

Among the many advantages that Stripe has over PayPal, the biggest advantage is that members will never have to leave your website in order to pay.  As soon as they sign up for a subscription, their credit card will be billed automatically every time their subscription is due, and they never have to go through all of the steps outlined above in order to pay for their subscription.

 

 

Stripe costs the same as the free version of PayPal

 

Best of all, Stripe costs exactly the same as PayPal Free - no monthly fee, and the exact same per-transaction fee.

 

We are not affiliated with Stripe in any way, but in our experience with thousands of users that have connected the different payment gateways that we have available, Stripe has proven to be the easiest to setup and use, most reliable, and provides the best experience for the members of your site.

Watch the video starting at about minute 3

https://youtu.be/3YKX_PAms-U?t=183

 

 

Hello! Thank you for the reply.

Yes, I definitely prefer to use Stripe because of it's simplicity. A lot of the larger companies that appear to be doing their own payment processing use it for the same reason. They get a seamless payment option without the cost of developing or managing it internally. The customer stays on their website (and doesn't need a Stripe account at all). That's exactly why I tried to integrate it with phpFox and keep hitting the same wall of when a customer clicks "Cancel" or updates to a different subscription package, the Subscription App does not tell Stripe, Paypal, or any other Gateway that anything has happened.

I don't use PayPal for services like Netflix and Hulu. I just go to their site, enter my payment info, and handle the subscription options in the same place. All my streaming services, utilities, and banking options are handled in a similar way. That was the point I was making. Most sites work that way if they don't want to over-complicate things. They will then offer additional payment options such as PayPal as a courtesy (some customers prefer their payment info for multiple accounts to remain only in PayPal) in order to broaden their potential reach.

I know this because I manage over 200 Wordpress and Shopify based sites. A couple dozen of them are subscription based (i.e. T-Shirt of the month, Coffee of the month, Vitamin Box, etc.) and they all use either PayPal or Stripe. None of them ever make the customer login to PayPal or any third-party site to manage the subscription options. It's always handled by the Subscription App/Plugin. The payment is only processed by PayPal or Stripe, and the Subscription options are always in the account section of the websites themselves.

I would like my phpFox site to work as simply and seamlessly with any Payment Gateway. My question is, why doesn't it by now? I have had my phpFox license for around 15 years, and have tried many ways to monetize. This was supposed to be one of the more simple options. Either way, in it's current state I can guarantee that anyone who actually tries to use the Subscription App with any Payment Gateway will run into angry customers at some point if they haven't already. And until this basic issue is addressed, it makes the current phpFox site I have been working on close to useless.

Is the lack of communication from the Subscription App to the Gateways a bug that needs to be reported? Is it a feature that needs to be requested? Is it a problem that is on their list of things to update already? Please understand that this is not a critique of phpFox. I love it, and always have. I just need to know which actions to take to have this resolved, because every third-party developer I have worked with on it has said the problem is in the Subscription App itself.

Thank you again. Looking forward to any useful information!

Last update on January 4, 2021 by Nativedragon11.
Be the first person to like this.
Hannah

Hi Nativedragon11,

Thank you for reporting this issue. Please note that we transferred this issue to development. We will re-check it and will keep you updated accordingly.

Regards,

Hannah

 

Thank you Hannah! I greatly appreciate that, and am eagerly awaiting any updates.

Last update on January 7, 2021 by Nativedragon11.
Be the first person to like this.
Hannah

Hi Nativedragon11,

Please noted that phpFox script has not supported to cancel subscriptions from phpFox site for the default payment gateway (PayPal). The user needs to go to PayPal to cancel it manually. 

However, we will check with Paypal and if Paypal having an API that receiving our cancel request, we will do this improvement in our future update.

Regarding third-party apps, we also will support a hook so that third-party developers can listen to the cancel request from the phpFox site, so then they can improve their app to send the cancel request to the payment gateway. This feature will be available in our next update of the core's Subscription app, which means that it will be released at the same time with phpFox v.4.8.3.

Let us know if you still have any concerns.

Regards,

Hannah

Hello,

Thank for the reply. This is wonderful news, and I am definitely looking forward to it!

Thank you so much Hannah, and everyone on the phpFox team! :grinning:

Be the first person to like this.