Python/Flask Stripe 错误:内置。属性错误 属性错误:类型对象'Subscription'没有属性'create'



我仅在生产中遇到此错误,并且在开发中(例如在本地服务器上(没有问题。我想知道我在生产中还需要改变什么,因为对于所有其他支付集成,我从未遇到过与开发模式不同的问题。它弹出条纹形式,然后出现绿色勾号,之后我收到此错误。

视图:

if request.method == 'POST':
            stripe_token = request.form['stripeToken']
            email = request.form['stripeEmail']
            try:
                customer = stripe.Customer.create(
                    email=email,
                    source=request.form['stripeToken']
                )
                subscription = stripe.Subscription.create(
                    customer=customer.id,
                    plan="monthly",
                )
                student_id = profile_data.id
                student.stripe_customer_id = customer.id
                student.stripe_subscription_id = subscription.id
                package = Package(
                    student_id=student_id,
                    stripe_id = customer.id,
                    student_email=request.form['stripeEmail'],
                    is_active=True,
                    package_type='monthly',
                    subscription_id=subscription.id
                )
                dbase.session.add(package)
                flash("You've successfully subscribed for monthly package.")
                dbase.session.commit()

            except stripe.error.CardError as e:
            # The card has been declined
                body = e.json_body
                err = body['error']
    return redirect(url_for('all_plans', key=key, amount=amount))

错误:

Traceback (most recent call last):
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask_restful/__init__.py", line 265, in error_router
    return original_handler(e)
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask_restful/__init__.py", line 265, in error_router
    return original_handler(e)
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/connect/myvenv/lib/python3.4/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/connect/GZ/server/views.py", line 1643, in monthly
    subscription = stripe.Subscription.create(
AttributeError: type object 'Subscription' has no attribute 'create'

此错误表示您的生产环境中安装了旧版本的 Stripe Python 库。订阅的创建方法已添加到 2016-05-04 发布的版本 1.33.0 上。您至少需要在生产环境中使用该版本。

最新更新