【问题标题】:Laravel Cashier - Prevent duplicated Payment MethodsLaravel Cashier - 防止重复的付款方式
【发布时间】:2021-11-27 03:43:07
【问题描述】:

我正在尝试更新订阅的付款方式。我使用 Stripe 的 js 收集卡片信息(使用提供的设置意图)。然后我将 Stripe 的 js 提供的付款方式 id 发送到 Laravel 以实际更新用户的默认付款方式。

现在,问题是我想阻止用户插入重复的卡,而防止这种情况的唯一方法是检索所有用户当前的付款方式 ($user->paymentMethods();),并检查其中是否有与我默认添加的指纹相同。

要获取新支付方式的指纹,我需要获取 Stripe js 提供的 ID 的 Stripe PaymentMethod 对象。执行此操作的 Cashier 方法是 $user->findPaymentMethod(id)

问题是付款 ID 尚未添加到用户付款方式中,因此 $user->findPaymentMethod($request->payment_method); 失败,因为该付款方式不属于 $user。

我能想到的唯一解决方案是首先添加新的付款方式,然后检查重复并删除它们?

【问题讨论】:

    标签: laravel stripe-payments laravel-cashier


    【解决方案1】:

    您似乎已经找到了将方法添加到用户然后查看是否有任何重复指纹的最佳方法,即使这有点不方便。

    查看 Cashier 文档并没有显示任何在 PaymentMethod 附加到用户之前访问它的明显方法。可能值得联系 Laravel 开发人员,看看是否有功能可以让这个流程更容易完成。

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 2021-02-27
      • 1970-01-01
      • 2021-02-14
      • 2020-12-14
      • 2012-07-30
      • 2020-06-09
      • 1970-01-01
      • 2012-05-08
      相关资源
      最近更新 更多