使用带有条纹 Firebase 扩展的运行付款时,条纹产品元数据未返回到 Firebase 的经过身份验证的用户实例

Posted

技术标签:

【中文标题】使用带有条纹 Firebase 扩展的运行付款时,条纹产品元数据未返回到 Firebase 的经过身份验证的用户实例【英文标题】:Stripe Product metadata not returning to Firebase's authenticated user instance when using Run Payments with Stripe Firebase Extension 【发布时间】:2021-12-31 02:51:37 【问题描述】:

我正在使用Run Payments with Stripe Firebase Extension。

我在 Stripe Product 中设置了一个元数据字段:userRole: premium

Webhook 在 Firestore 中的 Users >> subscriptions >> metadata.userRole 下返回 userRole: premium

但我希望 webhook 将 userRole 附加到 Firebase 的 auth.currentUser 实例。我打算使用下面的函数查询。

如何让 webhook 将此元数据返回给 auth.currentUser

import  auth  from '../src/utils/init-firebase';

export default async function isUserPremium() 
    await auth.currentUser?.getIdToken(true);

    const decodedToken = await auth.currentUser?.getIdTokenResult();
    console.log(decodedToken);

    return decodedToken?.claims?.userRole ? true : false;
    // return decodedToken?.claims?.stripeRole ? true : false;

【问题讨论】:

【参考方案1】:

我已将元数据名称更改为 userRole

必须是firebaseRole,用户才能获得自定义声明角色,以便在订阅特定产品时允许他们访问某些数据。

【讨论】:

以上是关于使用带有条纹 Firebase 扩展的运行付款时,条纹产品元数据未返回到 Firebase 的经过身份验证的用户实例的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 扩展:使用 Stripe 运行订阅付款不会返回 sessionId

使用 Stripe Firebase 扩展 Webhook 运行订阅付款未触发

带有 Apple Watch 扩展的条纹

条纹结帐:出了点问题

带有 PaymentIntents 的条纹。订阅后产生新费用

我可以在 Rails 4 应用程序中通过带有条纹的活跃商人传递不同的货币吗?