I was on Ghost 3.8 before and last week I updated to 3.13.4
Everything look fantastic until now. The only problem I have at the moment is in the complimentary Premium Plan. When I select a member, change the toggle and hit save it return this.
Internal server error, cannot edit a member. Cannot read property ‘id’ of undefined
But I’m able to add notes change the name and save just not a complimentary option.
Any idea what can I do? I’m open to give more information or help debug.
Hey! I’ve not been able to reproduce this issue on the same version of Ghost.
Complimentary plans only work when you have a Stripe account connected correctly. Have you successfully connected your publication with Stripe and double checked that your API keys are correct already?
@OZRay911 can you check your Stripe account for the complimentary plans? If you view the product with the same name as your site, you should then see a number of plans, with a complimentary plan for each currency you’ve used on your site:
Thanks for trying to help me, here is more information.
My currency is CAD.
Stripe is correctly connected and working.
In Stripe it automatically created both my paying subscription with CAD currency and both not zero.
Something strange, in Stripe the Complimentary plan has been automatically created but USD not CAD.
I’m currently testing all this with my Stripe test dev API key.
I didn’t know that the complimentary plan needed Stripe now I have more tests I can do.
I will come back soon to let you know what I tried.
My Stripe Live account didn’t contain any product I verified first.
I connected my Ghost to Stripe on the Live API not the Test API.
When connected Ghost created 3 products in my Stripe.
My monthly, Yearly with both price in CAD.
It also created the Complimentary plan at 0$ but in USD.
I create a brand new user, validated the account.
I tried to add the plan using the complimentary toggle, hit save and still have the error message…
I also tried to copy the product ID, delete the product, created a new product named Complimentary with the same ID that the one deleted and selected CAD as the currency.
What else I can try any idea? I can provide ssh account if needed or maybe there is a log with more details somewhere?
Created a brand new user with a brand new email.
Validated the account.
Subscribed to a plan (test mode)
Cancelled the plan
Also cancelled the plan in Stripe.
Confirmed that in Ghost the plan is no more active.
Tried to add the complimentary plan and still fail…
Why why why…
I was looking at the procedure for the log. I said to myself that it will be a good idea to have to error at the end of the log file so I clicked on one of my test users, changed the toggle to Complimentary plan hit save. What! Saved successfully! I tried with many other users that were not working last week and they are all working now. Near 20h on that problem and it’s now fixed! OK in case it can help someone. Since I tested a lots of stuff the only thing I have done last is switching to USD my currency (it was CAD first) save, tried one user and didn’t work. Switched back to CAD and now it’s working. So it look like switching to default USD and back to my CAD currency updated something that was first not initialized properly. Because when I upgraded from 3.8 to 3.13.4 my currency was CAD. So I hope that @mattcam will be able to also fix the issue by switching to USD, save, try complimentary for one user, failed, switch to his currency and try again. It worked for me. If you want I can still give you my DB queries if needed.
Issue since 3.4.0 onwards, tested on each new release and Internal server error, cannot edit a member. Cannot read property ‘id’ of undefined persisted throughout. Currently on 3.13.4. Note to support AUD prior to custom currency support for Member's plans in 3.10.0 had made a manual edit to database currency in settings.
Maybe this is a clue for Ghost team because prior to the official version supporting currencies other than USD I also manually modified the database. Probably that this is an isolated case for the one like us that have done this.