Stripe Laravel:Api 键必须是字符串
Posted
技术标签:
【中文标题】Stripe Laravel:Api 键必须是字符串【英文标题】:Stripe Laravel : Api key must be a string 【发布时间】:2022-01-19 10:55:50 【问题描述】:我的应用是用 laravel 8、laravel Mix 6.0.39、vue js 2.6 和 vuex 3.0.1 构建的 我使用收银员支付模块 所以在支付组件中我有这个代码来初始化支付方式:
let apikey = process.env.MIX_STRIPE_KEY
this.stripe = await loadStripe(apikey)
const elements = this.stripe.elements()
...
.env 文件:
STRIPE_SECRET=sk_test_.....
STRIPE_WEBHOOK_SECRET =we_....
MIX_STRIPE_KEY ="$STRIPE_KEY"
但我在已安装的付款方式中出现以下错误:
IntegrationError: Missing value for Stripe(): apiKey should be a string.
我尝试在日志中显示变量process.env.MIX_STRIPE_KEY
,我有undefined
,但它在.env
file 中初始化
您有解决此问题的想法吗?
【问题讨论】:
等待你如何使用像process.env
这样的服务器端javascript代码?您提到了 Laravel 8(php;服务器端)和 Vue 2.6(js;客户端)
[coderedirect.com/questions/26662/…@Flame 看看
"$STRIPE_KEY"
到底是什么?看起来像某种变量?
【参考方案1】:
您为您的MIX_STRIPE_KEY
使用了STRIPE_KEY
值,但您是否真的在您的.env
中定义了STRIPE_KEY
的值?
我看到STRIPE_SECRET
和WEBHOOK_SECRET
,您还需要STRIPE_PUBLIC
(或STRIPE_KEY
在您的情况下)密钥。您可以在 Stripe 仪表板中找到公钥,就在您找到秘密的地方。
所以它应该是这样的:
STRIPE_SECRET=sk_test_.....
STRIPE_KEY=pk_test_.....
STRIPE_WEBHOOK_SECRET =we_....
MIX_STRIPE_KEY ="$STRIPE_KEY"
另外,更改.env
后不要忘记重新启动本地服务器
【讨论】:
以上是关于Stripe Laravel:Api 键必须是字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Stripe 的 JavaScript API 验证优惠券?