【发布时间】: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