Open amanca9999 opened 4 months ago
import stripe
def get_customer_id(email):
customers = stripe.Customer.list(email=email).auto_paging_iter()
for customer in customers:
return customer['id']
return None
def cancel_subscription(email):
customer_id = get_customer_id(email)
subscriptions = stripe.Subscription.list(customer=customer_id).auto_paging_iter()
for subscription in subscriptions:
if subscription['status'] != 'canceled':
if subscription['cancel_at_period_end']:
st.write(
f"Your subscription {subscription['id']} was already accepted to be canceled after the end of the period.")
else:
stripe.Subscription.modify(
subscription['id'],
cancel_at_period_end=True,
)
st.write(f"Subscription {subscription['id']} will be canceled at the end of the current period.")
email = st.session_state.email
if 'confirm' not in st.session_state:
st.session_state.confirm = False
if st.button('Cancel subscription'):
st.session_state.confirm = not st.session_state.confirm
if st.session_state.confirm:
if st.button('Are you sure you want to cancel sub?'):
cancel_subscription(email)
st.session_state.confirm = False
Make sure you add write permission on Subscriptions in Stripe API key.
Please advise, thank you!
Btw, is there an easy way to manage users like tracking users queries, etc. ?
getting this error, how did you approach this?
AttributeError: st.session_state has no attribute "email". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization
Please advise, thank you!
Btw, is there an easy way to manage users like tracking users queries, etc. ?