PayPal API not assigning Membership Levels
Hello dear @Anton L
After Payment confirmation, Paypal API doesn't automatically assign membership levels. This problem occurs with both membership with Trial and without trial.
What am I missing in my settings?
First of all, in both cases (membership levels with trial and without trial), the subscription price is shown as $0.00 on the Paypal checkout page which is something I've found very weird.
Secondly, I have a store set up in my Paypal sandbox account with an App creaded, Webhook added, Auto Return URL set up and the Payment data transfer enabled.
Although the price is always $0.00 on the Paypal checkout page (in both cases: membership levels with trial and without trial), the payment is successfully made, the user returns automaticcally to my website (Auto Return URL works) and the subscription is successfully created in both side: Paypal Sandbox account and UNA. (Billing cyle, normal price etc.). On UNA, the status is: Unpaid and the membership level is not assigned to user, no matter if it's a trial or not.
When I cancel that subscription on UNA, it automatically cancels it in my PayPal Sandbox account, meaning there is a communication between the two through API.
So my question is why are all my membership levels prices (whether they are with trial or not) showing as $0.00 on Paypal checkout page? And why aren't they automaticcally assigned after payment confirmation?
Also do I have to manually create Subcription plans in my PayPal account for recurring payments, the way we do it with Stripe? Susbcription plans in the PayPal, aren't they automatically created through PayPal API when the users subscribe to them?
I am having this issue with subscriptions only. Single time payments (e.g. buying credit packages) are working fine with PayPal API. Credits are automatically being assigned after payment.
Please help,
Thanks
-
-
·
Anton L
- ·
Hello.
Unfortunately, you are right. I tried to configure the PayPal API and pay for the subscription. I've got the same results: https://github.com/unacms/UNA/issues/5021 Looks like something was changed on PayPal end and we need to update our integration.
Also do I have to manually create Subcription plans in my Paypal Sandbox account for recurring payments, the way we do it with Stripe?
No, you shouldn't create a subscription manually on PayPal end. At least it was so, when we created the integration.
Thanks for the report!
-
·
Anton L
-
- · OneEagle
-
·
In reply to Anton L
- ·
You are welcome. Thank you for opening a ticket to fix this issue.
-
-
·
Anton L
- ·
Hello @OneEagle
I did more close investigation of the problem and found out that PayPal Subscriptions can use previously created product + plan (on PayPal end) which is different from your current paid membership level. Association it performed by Name
and if PayPal can find something then it will use exised 'product + plan' otherwise it will create new one.
So, I tried to purchase Premium ($10 monthly w\o trial) but got the following on PayPal end
Then I've changed the name from Premium to something unique (PremiumToday) and got the correct product on PayPal end.
Try to check it on your end.
-
·
Anton L
-
- · OneEagle
-
·
In reply to Anton L
- ·
Hi dear @Anton L
Thanks for your reply. I've tried to reproduce your test serveral times with different products (levels) but I couldn't get a successfully result. Whenever I tried to change the level name to a unique name and change the price value, the price on the PayPal checkout page was still $0.00.
After many attempts, I succeed once and the price $10.00 got displayed on the PayPal checkout page. It was the only time that worked.
I have searched into my PayPal sandbox and developer accounts, I couln't find any product or subscription previously created that is being used by PayPal.
I have also search the internet, and came accross some people saying Paypal keeps its REST API cache and the only way to clear it is to delete your sanbox account. Well, I don't know if that information is accurate. But I am still searching about it.
Thanks.
-
-
·
Anton L
-
·
In reply to OneEagle
- ·
Hello. I fixed the problem. Now system should check if the product on PP end has appropriate data and if so, the payment will be processed.
But if I'm right you are using UNA 13. It means that your version of Payments module may have some other issues in PayPal API integration in comparizon with the newest one.
I have also search the internet, and came accross some people saying Paypal keeps its REST API cache and the only way to clear it is to delete your sanbox account. Well, I don't know if that information is accurate. But I am still searching about it.
I didn't hear naything about cache in REST API.
-
·
Anton L
-
- · OneEagle
-
·
In reply to Anton L
- ·
Thank you for your dedication and for the fixing it. Yeah, I am going to upgrade to UNA 14 soon.
-
- · OneEagle
- ·
@Anton By the way, just for the sake of curiosity. from the Pricing plan, can a website that already offers a trial, remove it and put it back later? Will it affect how Stripe 3D and PayPal API work and existing susbcription plans? I am considering removing the trail option temporarily. I would like to offer plans without trials for now and then put the trail option back later for future users. Is ok to add and remove the trail option to plans anytime? Thanks
-
-
·
Anton L
-
·
In reply to OneEagle
- ·
Hello. If you are selling subscriptions (it doesn't matter with or without trial) and have some number of subscribers then you cannot remove current Pricing plans because they are needed to accept recurring payments from existed subscribers. So, you need to create new plans saving the existing ones.
-
·
Anton L
-
-
·
Anton L
-
·
In reply to OneEagle
- ·
Thanks for the report: https://github.com/unacms/UNA/issues/5027
-
·
Anton L