【发布时间】:2021-10-06 15:06:12
【问题描述】:
使用 React 制作电子商务应用。这是一个“handleSubmit”函数,每次我尝试结帐时都会返回错误。
我已导入“db”并声明“paymentIntent”。它仍然在浏览器中出现此错误。
const handleSubmit = async (event) => {
//do fancy stripe stuff
event.preventDefault()
setProcessing(true)
// const payload = await stripe
const payload = await stripe.confirmCardPayment(clientSecret, {
payment_method: {
card: elements.getElement(CardElement)
}
}).then(({ paymentIntent }) => {
//paymetnIntent = payment Confirmation
db
.collection('users')
.doc(user?.uid)
.collection('orders')
.doc(paymentIntent?.id)
.set({
basket: basket,
amount: paymentIntent.amount,
created: paymentIntent.created,
})
setSucceeded(true);
setError(null)
setProcessing(false)
dispatch({
type: 'EMPTY_BASKET'
})
history.replace('/orders')
})
}```
【问题讨论】:
-
能否请您在正文开头的行后添加console.log(paymentIntent)
-
@Tatiana 结果是“未定义”
-
表示没有paymentIntent。您应该考虑如何处理这种情况。尝试找出您从 confirmCardPayment 中得到了什么以及为什么没有 paymentIntent
-
我应该控制台记录“payload”还是“confirmCardPayment”以了解发生了什么?
标签: javascript reactjs react-native react-hooks stripe-payments