我有一个订阅计划的应用程序路径,我想阻止访问它的客户谁没有确认带条纹付款,例如我有一个10美元的计划,任何人在24小时内支付10美元可以访问该页面< / p>
@app.route('/plan10', methods=['POST'])
def plan10():
customer = stripe.Customer.create(
email=request.form['stripeEmail'], source=request.form['stripeToken'])
charge = stripe.Charge.create(
customer=customer.id,
amount=1000,
currency='usd',
description='The Product'
)
return redirect(url_for('basicplan'))
我们的想法是停止访问页面basicplan而无需使用python和flask键入www.example.com/basicplan付费
我们可以登录
@app.route(/plan)
@login_required
def plan():
return render_template(plan.html)
现在我想停止使用条纹付费的客户访问任何使用python和flask的帮助
答案 0 :(得分:1)
您可以在plan10
方法中保存从Stripe获得的费用ID [0],并将其与您登录的用户类[1]一起存储。然后,当有人登录时,您可以检查他们是否收费(显示他们已付款)。
您还可以使用Stripe API检查费用状态以进行额外检查:
charge = stripe.Charge.retrieve(user.savedChargeId)
if(charge.status == "succeeded"){
# allow access
}else{
# deny access
}
[0] - https://stripe.com/docs/api/python#charge_object-id
[1] - https://flask-login.readthedocs.io/en/latest/#your-user-class
[2] - https://stripe.com/docs/api/python#charge_object-status