stripe.error.AuthenticationError:未提供 API 密钥。(提示:使用 "stripe.api_key = <API-KEY>" 设置您的 API 密钥)



我在运行条带代码时遇到问题。代码按所示插入。它给出了如下所示的错误。stripe.api_key可用但仍然无法正常工作,我得到:

stripe.error.AuthenticationError:未提供 API 密钥。(提示:使用"stripe.api_key = "设置您的 API 密钥(。您可以从 Stripe 网页界面生成 API 密钥。 有关详细信息,请参阅 https://stripe.com/api,如果您有任何问题,请发送电子邮件 support@stripe.com。

import stripe
posts = Blueprint('posts',__name__)
STRIPE_PUBLIC_KEY = os.environ.get('STRIPE_PUBLIC_KEY')
STRIPE_SECRET_KEY = os.environ.get('STRIPE_SECRET_KEY')
stripe.api_key = STRIPE_SECRET_KEY

"""
posts.config['STRIPE_PUBLIC_KEY'] = 'pk_test_**********************'
posts.config['STRIPE_SECRET_KEY'] = 'sk_test_**********************'
stripe.api_key = posts.config['STRIPE_SECRET_KEY']
"""

@posts.route("/cart", methods=['GET','POST'])
def viewcart():
stripe.api_key = STRIPE_SECRET_KEY
session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price': 'prod_******',
'quantity': 1,
}],
mode='payment',
#success_url='https://example.com/success?session_id={CHECKOUT_SESSION_ID}',
#cancel_url='https://example.com/cancel',
#success_url=url_for('thanks', _external=True) + '?session_id={CHECKOUT_SESSION_ID}',
cancel_url=url_for('posts.viewcart', _external=True),
)

这个问题是你像这样声明stripe.api_key

stripe.api_key = STRIPE_SECRET_KEY

它应该是:

stripe.api_key = current_app.config['STRIPE_SECRET_KEY']

另外,请记住包括from flask import current_app.

最新更新