【发布时间】:2021-02-25 01:32:01
【问题描述】:
我正在尝试使用 Stripe 预建的结帐页面来捕获关注此documentation 的用户的付款详细信息。
我认为我编写的代码是正确的,但不知何故我的应用程序没有将用户重定向到 Stripe 结帐页面。我的代码如下:
在我的 Express 后端:
router.get("/create-check-out", async (req, res, next) => {
const session = await stripe.checkout.sessions.create({
payment_method_types: ['card'],
mode: 'setup',
customer: req.body.id,
success_url: 'http://localhost:5000/ll_profile?session_id={CHECKOUT_SESSION_ID}',
cancel_url: 'http://localhost:5000/ll_profile',
});
res.send (session.id);
});
在我的 JavaScript 客户端:
$.get("/create-check-out", { id: stripe_customer_id}, async (sessionId) => {
console.log(sessionId)
stripe.redirectToCheckout({
sessionId: sessionId,
name: "Yugue"
}).then(function(result) {
console.log(result)
});
控制台日志不显示sessionId 或result。
问题是在发送 get 请求后,web URL 变为:http://localhost:5000/ll_profile?name= from http://localhost:5000/ll_profile(上面所有代码所在的 URL),并且应用程序卡在同一页面而没有任何重定向操作。我认为它应该像这样重定向到 Stripe 内置结帐页面:
我做错了什么?
【问题讨论】: