Stripe invalid_request_error:令牌不能作为源传入



我正试图在我的电子商务网站上设置支付方式,但条纹出现了以下错误:令牌可能无法作为源传入。您可以使用/v1/sources将您的代币转换为Source,其中card[token]=MYTOKEN。

API侧:

const router = require("express").Router();
const stripe = require("stripe")(process.env.STRIPE_KEY);
router.post("/payment",(req,res)=> {
stripe.paymentIntents.create({
source:req.body.tokenId,
amount:req.body.amount,
currency: "usd",
},(stripeErr,stripeRes)=>{
if(stripeErr) {
res.status(500).json(stripeErr);
} else {
res.status(200).json(stripeRes);
}
})
});

module.exports = router;

客户端:

useEffect(()=>{
const makeRequest = async ()=> {
try {
const res = await userRequest.post("/checkout/payment",{
tokenId: stripeToken.id,
amount: cart.total*100,
});
history.push("/success",{data: res.data});
} catch{}
};
stripeToken && makeRequest();
},[stripeToken, cart.total, history]);

对于Stripe,Tokens和Sources都是遗留的,不推荐使用。您应该使用带有付款意向的付款方式。

您可以创建一种支付方式而不是令牌,然后使用payment_method属性将该支付方式传递给支付意向。

或者,更好的做法是,按照接受付款指南进行操作,该指南不需要您直接处理付款方式(Stripe.js将在确认付款意向客户端时为您处理(。

相关内容

  • 没有找到相关文章

最新更新