Stripe payments Python+;Stripe.js payment integration提供错误无效的payment_页面id

Stripe payments Python+;Stripe.js payment integration提供错误无效的payment_页面id,stripe-payments,Stripe Payments,我正在尝试使用Stripe Checkout将付款集成到我的Web应用程序中。我遵循了上的指南,当我调用stripe.checkout.Session.create时,它会将我重定向到付款页面,但不会加载。我已经用Chrome的F12阅读了网络请求,现在我得到了这些信息 {错误:{消息:“无效付款\页面id:test123”,键入:“无效请求\错误”} 条带文档说明在重定向到签出时必须包含id。然后我刚刚设置了一个名为“test123”的临时字符串,但它似乎不是一个有效的字符串。我将如何从这里继

我正在尝试使用Stripe Checkout将付款集成到我的Web应用程序中。我遵循了上的指南,当我调用
stripe.checkout.Session.create时,它会将我重定向到付款页面,但不会加载。我已经用Chrome的F12阅读了网络请求,现在我得到了这些信息

{错误:{消息:“无效付款\页面id:test123”,键入:“无效请求\错误”}

条带文档说明在重定向到签出时必须包含
id
。然后我刚刚设置了一个名为
“test123”
的临时字符串,但它似乎不是一个有效的字符串。我将如何从这里继续下去

我的当前代码(Python)

我的html页面上的js代码

<script src="https://js.stripe.com/v3/"></script>
<script>
var stripe = Stripe(
  'pk_test_xxxxxxxxxxxx',
  {
    betas: ['checkout_beta_4']
  }
);
</script>

<script>
stripe.redirectToCheckout({
  sessionId: "test123",
}).then(function (result) {
  // Diplay result.error.message to your customer
});
</script>

var stripe=stripe(
“pk_测试_uxxxxxxxx”,
{
betas:['checkout\u beta\u 4']
}
);
stripe.redirectToCheckout({
sessionId:“test123”,
}).然后(函数(结果){
//向您的客户显示result.error.message
});
无限加载循环的屏幕截图,我在网络选项卡中发现了错误。

编辑:我还注意到,当以下脚本位于我的HTML中时,它会立即将用户重定向到条带签出。我如何才能阻止它这样做,并且只能在按下提交/付款按钮时发生

edit2我发现我需要创建一个事件处理程序/侦听器。我会亲自研究的,不需要回答这部分,尽管我非常感激

<script>
    stripe.redirectToCheckout({
      sessionId: "test123",
    }).then(function (result) {
      // Diplay result.error.message to your customer
    });
    </script>

stripe.redirectToCheckout({
sessionId:“test123”,
}).然后(函数(结果){
//向您的客户显示result.error.message
});

打印(payment.id)
从stripe返回响应id。我保存了这个变量,并将其作为上下文添加到HTML中作为变量使用。页面现在已完全加载。

您正在通过
test123
而不是
重定向到checkout
中的会话id,而您应该在
条带.checkout.session.create中通过返回的会话id。dan klasson如何在
条带.checkout.session.create中获取会话id?我还不是编码方面的专家,如果你能给我一个想法或什么的话,我会在谷歌上搜索和研究一下。我猜你是从stripe.checkout.Session.create
返回的内容中得到这个id的。然后把它传递给你的模板,然后用JS抓取它并发送给Stripe你是对的。我刚刚在python-I中编写了我的代码,它返回了一个ID。我将尝试找出如何检索它。谢谢
<script>
    stripe.redirectToCheckout({
      sessionId: "test123",
    }).then(function (result) {
      // Diplay result.error.message to your customer
    });
    </script>
payment = stripe.checkout.Session.create(
  success_url="https://mypage.com/success",
  cancel_url="https://mypage.com/cancel",
  payment_method_types=["card"],
  line_items=[
    {
      "amount": 2000,
      "quantity": 2,
      "name": "Blue banana",
      "currency": "usd",
    }
  ]
)   
context = payment.id