javascript - firebase Stripe API 在第一次付款过程中失败
问题描述
我已经使用Run Subscription Payments with Stripe
.
这是流程:
当我单击注册时,它会将我带到条纹页面,使用此功能:
export async function createCheckoutSession(activtyStatus){
let user = firebase.auth().currentUser;
const checkoutSessionRef = firestore
.collection('customers')
.doc(userID)
.collection('checkout_sessions')
.add({
price: price,
success_url: "https://xxx/successPage",
cancel_url: "https://xxx/signin",
});
// Wait for the CheckoutSession to get attached by the extension
(await checkoutSessionRef).onSnapshot(function (snap) {
const { error, sessionId } = snap.data();
if (error) {
console.log(`An error occured: ${error.message}`);
}
if (sessionId) {
//live key
const stripe = window.Stripe('pk_livekeyxxxx');
stripe.redirectToCheckout({sessionId})
console.log("logged stripe")
}
});
}
如果成功,它会转到 my ,它只SuccessPage
检查订阅集合是否是在 firebase 中创建的。
所以发生的情况是,如果支付成功,它只会渲染/clients
路由,如果不是,它会重定向到createCheckoutSession
函数,返回允许客户再次支付。因此,当我在 Stripe 上输入付款详细信息时,有时它会转到客户并添加订阅,有时,它会重定向到 Stripe 页面,并让我再次输入 ti,然后它就可以在其中工作了。
这是我的代码中的一个错误,还是 firebase 和 stripe 只是挑剔?
解决方案
推荐阅读
- opencv - Raspberry PI4 - OpenVino - Open CV DNN - net.forward - 分段错误 - NCS2 - Myriad
- laravel - 一个 laravel 应用程序可以处理多个域吗?
- docker - 为什么找不到 chmod 和 doctl?
- java - OPTIONS、TRACE 和 HEAD 请求方法的用例
- user-interface - WAI-ARIA:为什么建议面包屑有指向当前页面的链接?
- javascript - 当我快速滚动时,Intersection Observer 有时会失败
- javascript - 将 JQuery 转换为 addEventListener 用于按键事件
- java - Spring JPA 使用规范作为其他选择
- python - 在 Django 中处理多个数据库
- php - 传递给表单的安全变量