我正在尝试使用Stripe API来允许通过我的网站付款,但我在将Stripe添加到项目中时遇到了问题。
我为项目使用了create-react-app
结构,并将Stripe添加到index.html
中的/public/index.html
文件中,如下所示:
<body>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.39.0.min.js"></script>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
<script>
window.AWSCognito = window.AWS
</script>
<script src="https://gitcdn.xyz/repo/aws/amazon-cognito-identity-js/master/dist/amazon-cognito-identity.min.js"></script>
<div id="root"></div>
</body>
然而,当我测试时,我收到一个错误:
/src/api/stripe.js
2:5 error 'Stripe' is not defined no-undef
我的stripe.js文件:
export const getStripeToken = (card) => new Promise((resolve, reject) => {
Stripe.card.createToken(card, (status, {error, id}) => {
if (error) {
reject(error.message);
} else {
resolve(id);
}
});
});
提前致谢!
答案 0 :(得分:12)
我明白了!我有点像个笨蛋。
我在代码中将Stripe
更改为window.Stripe
,现在可以正常使用了!
谢谢大家。
答案 1 :(得分:0)
这只是编译它的问题。解决该问题的正确方法是要求编译器不要寻找Stripe
,它将在全球范围内可用。在初始化/* global Stripe */
之前,先添加以下评论Stripe
:
/* global Stripe */
const stripe = Stripe('STRIPE_KEY');