在成功页面检索条带会话 ID
Retrieve stripe session id at success page
我在 django 中使用 stripe,我想将从结帐会话收到的一些信息传递到成功页面。
看完文档https://stripe.com/docs/payments/checkout/custom-success-page#modify-success-url我修改成功url为
MY_DOMAIN = 'http://127.0.0.1:8000/orders'
success_url=MY_DOMAIN + '/success?session_id={CHECKOUT_SESSION_ID}',
cancel_url=YOUR_DOMAIN + '/cancel/',
metadata={
"price_id": price_id,
}
)
def Success(request):
session = stripe.checkout.Session.retrieve('session_id')
return render(request, 'orders/success.html')
但这给了我一个错误:
无效checkout.session ID:session_id
如果我手动输入 url 中打印的实际 ID 而不是“session_id”,一切正常。
所以我的问题是我应该写什么而不是 'session_id' 来检索会话?
使用预建的结帐页面时,您向 Stripe 提供成功 url 以在用户成功完成付款时将其发送至。这是这样做的:
checkout_session = stripe.checkout.Session.create(
line_items=[{'price': price, 'quantity': 1}],
payment_method_types=['card'],
mode='payment',
success_url="http://yoursite.com/order/success?session_id={CHECKOUT_SESSION_ID}"
cancel_url=domain + cancelURL,
)
return redirect(checkout_session.url)
这将创建一个 Stripe 结帐会话并将用户发送给它。
一旦用户成功付款,Stripe 会将它们发送到您提供的 success_url 并输入正确的结帐会话 ID。
你将不得不使用webhooks获取你想要的数据,将其保存到你的数据库中,然后在成功页面视图中查询数据库。从成功页面 URL 获取结帐会话 ID 将取决于您使用的是像上面示例中的 GET 还是作为 URL 的一部分,例如 https://yoursite.com/order/12345. If you use the GET method, see here 以获取更多信息。
我在 django 中使用 stripe,我想将从结帐会话收到的一些信息传递到成功页面。
看完文档https://stripe.com/docs/payments/checkout/custom-success-page#modify-success-url我修改成功url为
MY_DOMAIN = 'http://127.0.0.1:8000/orders'
success_url=MY_DOMAIN + '/success?session_id={CHECKOUT_SESSION_ID}',
cancel_url=YOUR_DOMAIN + '/cancel/',
metadata={
"price_id": price_id,
}
)
def Success(request):
session = stripe.checkout.Session.retrieve('session_id')
return render(request, 'orders/success.html')
但这给了我一个错误:
无效checkout.session ID:session_id
如果我手动输入 url 中打印的实际 ID 而不是“session_id”,一切正常。
所以我的问题是我应该写什么而不是 'session_id' 来检索会话?
使用预建的结帐页面时,您向 Stripe 提供成功 url 以在用户成功完成付款时将其发送至。这是这样做的:
checkout_session = stripe.checkout.Session.create(
line_items=[{'price': price, 'quantity': 1}],
payment_method_types=['card'],
mode='payment',
success_url="http://yoursite.com/order/success?session_id={CHECKOUT_SESSION_ID}"
cancel_url=domain + cancelURL,
)
return redirect(checkout_session.url)
这将创建一个 Stripe 结帐会话并将用户发送给它。 一旦用户成功付款,Stripe 会将它们发送到您提供的 success_url 并输入正确的结帐会话 ID。
你将不得不使用webhooks获取你想要的数据,将其保存到你的数据库中,然后在成功页面视图中查询数据库。从成功页面 URL 获取结帐会话 ID 将取决于您使用的是像上面示例中的 GET 还是作为 URL 的一部分,例如 https://yoursite.com/order/12345. If you use the GET method, see here 以获取更多信息。