如何解决未处理的拒绝TypeError:stripe.redirectToCheckout不是函数
我正在尝试为网站实施Stripe Checkout。不幸的是,Stripe文档非常不完整。我有:
import React from 'react';
import { loadStripe } from '@stripe/stripe-js';
const stripe = loadStripe('pk_test_key');
const handleClick = async (event) => {
stripe.redirectToCheckout({
lineItems: [
{price: 'price_something',quantity: 1},],mode: 'subscription',successUrl: 'https://example.com/success?session_id={CHECKOUT_SESSION_ID}',cancelUrl: 'https://example.com/cancel',}).then(function(result){
alert(result);
});
};
export default function Stripe(){
return (
<button role="link" onClick={handleClick}>
Checkout
</button>
);
}
我单击按钮,然后收到错误消息:Unhandled Rejection (TypeError): stripe.redirectToCheckout is not a function
我的钥匙是正确的,但是我无法在他们的文档或其他任何地方找到任何信息来解决此问题。谢谢!
解决方法
据我了解,loadStripe
返回了Promise
,因此请等待它解决:
const handleClick = async (event) => {
const stripe = await loadStripe('pk_test_key');
stripe.redirectToCheckout({
// ...
})
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。