【发布时间】:2021-04-28 09:19:25
【问题描述】:
我正在构建一个电子商务网站,其中包含 next.js 和条带结帐功能。当我要结帐时,我一直遇到这个错误。我也在使用use-shopping-cart 包,我开始认为它可能会导致来自stripe-checkout 的以下响应错误
"error": {
"message": "Invalid API Key provided: undefined",
"type": "invalid_request_error"
}
}
超级令人困惑的是结帐会话以及购物车和付款意图(我知道这是真的,因为我可以通过条纹仪表板验证此信息)。目前,条带仪表板也未指示有错误。
有没有人遇到过这种情况,有没有人知道如何解决它?
提前致谢!
【问题讨论】:
-
正如错误所说,您没有为要进行条带化的请求提供任何 api 密钥。不知道你是如何打电话的,就无法知道你的问题出在哪里
-
哦,当然。所以我做了一些挖掘,并认为错误来自密钥,结果证明是导致问题的公钥。我有这个 getStripe util 函数:` import { Stripe, loadStripe } from '@stripe/stripe-js' let stripePromise: Promise
const getStripe = () => { if (!stripePromise) { stripePromise = loadStripe( ${process.env.STRIPE_PUBLIC_KEY!}as string) } return stripePromise } export default getStripe ` 公钥变量未定义,所以当它传递给我的购物车提供商时,我得到了错误。 -
对这种糟糕的格式感到抱歉。奇怪的是,当我控制台记录公钥时,它会登录我的终端,但在我的客户端控制台中未定义。我目前正在使用 Next.js 和 .env.local 文件。
标签: javascript reactjs stripe-payments next.js vercel