我正在使用带firebase扩展的stripe,最近在Stripe上从测试模式切换到了实时模式。我已经重新创建了产品,并修改了我的firebase扩展上的webhook和API密钥。但是,当我尝试创建 checkout 会话时,会话返回以下错误:
无此类客户:'cus_OIR5UsvZncTECx.测试模式中存在类似的对象,但使用了实时模式密钥来发出此请求。
const checkoutSessionRef = doc(sessionRef, checkoutSessionId);
onSnapshot(checkoutSessionRef, async (snap) => {
console.log(snap.data())
const { sessionId } = snap.data();
console.log(snap.data().sessionId)
console.log(sessionId)
if (snap.exists()) {
const stripe = await getStripe();
stripe.redirectToCheckout( {sessionId});
}
});
字符串
我正在测试条纹付款的数据与我的实时数据相同,所以我知道客户重复存在一些问题。然而,我想知道是否有一种方法可以绕过这个问题,我可以自动切换我的客户数据和实时数据。
1条答案
按热度按时间hc8w905p1#
您正面临这种情况,因为尝试使用在测试模式下创建的客户ID,而现在使用的是实时模式。客户ID(和其他对象ID)在测试模式和实时模式之间是分开的,因此您不能在实时模式下使用测试客户ID(所有其他Stripe对象都是如此)。
您需要在您的实时模式中创建新客户。您可以使用元数据来链接测试和实时模式对象,或者在firestore中跟踪它们。