Как использовать платёжную ленту Python для подтверждения оплаты для доступа к веб-странице - PullRequest
0 голосов
/ 31 мая 2018

У меня есть приложение к маршруту подписки, и я хочу заблокировать доступ к нему для клиентов, которые, например, не подтвердили оплату чередой, например, у меня есть план на 10 долларов, любой, кто заплатил 10 долларов в течение 24 часов, может получить доступ к странице

@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'))

Идея состоит в том, чтобы остановить доступ к базовому плану страницы без оплаты, введя www.example.com/basicplan с использованием python и flask

Для входа в систему мы можем сделать

@app.route(/plan)
@login_required
def plan():
   return render_template(plan.html)

Теперь я хочу прекратить доступ для клиентов, которые не оплатили с помощью полос, любая помощь приветствуется с помощью Python и колба

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете сохранить идентификатор заряда [0], полученный от Stripe, в методе plan10 и сохранить его в своем классе пользователя, вошедшего в систему [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

...