【问题标题】:Stripe laravel cashier duplicated payment method条纹 laravel 收银员重复付款方式
【发布时间】:2021-01-03 23:54:14
【问题描述】:

我遇到了 laravel 收银员的问题,当我订阅产品时,取消订阅然后再次订阅,它会创建一个新的付款方式(相同)并将其设为默认值。但是为什么要对同一张卡进行两次分条存储呢?如果我取消并再次订阅,我收到了 3 次支付卡。 如何检查付款方式是否已经存在?

谢谢

这是我的订阅:

$user->newSubscription($plan_name, $request->plan)->create($request->token

这是我的 javascript:

const stripe = Stripe('{{ config('cashier.key') }}')

    const elements = stripe.elements()
    const cardElement = elements.create('card', {
        hidePostalCode: true
    })

    cardElement.mount('#card-element')

    const form = document.getElementById('payment-form')
    const cardBtn = document.getElementById('card-button')
    const cardHolderName = document.getElementById('card-holder-name')

    form.addEventListener('submit', async (e) => {
        e.preventDefault()

        cardBtn.disabled = true
        const { setupIntent, error } = await stripe.confirmCardSetup(
            cardBtn.dataset.secret, {
                payment_method: {
                    card: cardElement,
                    billing_details: {
                        name: cardHolderName.value
                    }
                }
            }
        )

        if(error) {
            cardBtn.disable = false
        } else {
            let token = document.createElement('input')

            token.setAttribute('type', 'hidden')
            token.setAttribute('name', 'token')
            token.setAttribute('value', setupIntent.payment_method)

            form.appendChild(token)
            form.submit();
        }
    })

【问题讨论】:

    标签: laravel stripe-payments laravel-cashier


    【解决方案1】:

    您可以使用fingerprint of the new card inside the Payment Method 与现有的付款方式进行比较,看看它是否重复,然后选择不(重新)添加它。

    【讨论】:

    • 我应该在哪里比较?
    • 您必须在此处更改流程,并创建可用于比较的付款方式客户端;但是,比较必须在服务器端进行,因为您看不到带有可发布密钥的指纹。因此,您必须创建付款方式,将其发送到服务器端,以便再次检索它进行比较,比较它,然后将决定(确认或跳过)返回到您的客户端代码。
    猜你喜欢
    • 2021-05-11
    • 2022-11-18
    • 2021-07-02
    • 2013-10-04
    • 2023-02-03
    • 2015-11-22
    • 2021-11-27
    • 2015-01-03
    • 1970-01-01
    相关资源
    最近更新 更多