条纹重定向到结帐在带有火基条纹扩展的 React 中不起作用..!有什么建议吗?



我正在使用firebase条纹扩展"使用stripe运行订阅";。在这个扩展集成中,我无法重定向签出页面(redirectToCheckout函数不起作用(。。你知道我该怎么做吗???

这是我的条纹webhook事件:

customer.subscription.updated
customer.subscription.deleted
customer.subscription.created
checkout.session.completed
price.updated
price.deleted
price.created
product.updated
product.deleted
product.created

这是我的第一个屏幕代码,用户正在其中创建。。。!

import firebase from 'firebase';
// import getStripe from './stripe';
import { loadStripe } from '@stripe/stripe-js/pure';
import '@stripe/stripe-js';
import redirectToCheckout from '@stripe/stripe-js';

const firestore = firebase.firestore();
firebase.auth().onAuthStateChanged((user) => {
if (user) {
console.log(user.uid)        
// User logged in already or has just logged in.
} else {
// User not logged in or has just logged out.
}
});


export async function createCheckoutSession(){

let uid = "static uid";
const checkoutSessionRef =  await firestore.collection('stripe').doc(uid).collection('checkout_sessions').add(

{price : 'price id',
success_url : 'https://localhost:3000/success',
cancel_url: 'https://localhost:3000/fail',
});
checkoutSessionRef.onSnapshot(async (snap) => {
const {error , sessionId} = snap.data();
if (error) {
// Show an error to your customer and 
// inspect your Cloud Function logs in the Firebase console.
alert(`An error occured: ${error.message}`);
}
if (sessionId) {
const stripe =  await loadStripe('pk_test_1234');
stripe.redirectToCheckout({ sessionId });
}
});
}

我正在使用相同的代码,它运行得很好。我在这里看到的唯一区别可能是你的问题的原因是你从@stripe/stripe-js/pure导入loadStripe,这可能需要从"@stripe/stripe-js"导入,我认为你不需要任何其他条带导入,例如,你的导入应该像

import firebase from 'firebase';
import { loadStripe } from '@stripe/stripe-js';

我有这些进口产品,它们运行良好

相关内容

  • 没有找到相关文章

最新更新