Stripe.js未正确加载

时间:2018-01-17 09:08:04

标签: javascript stripe-payments

我正在将条带加载到我的付款页面中,如下所示:

<script src="https://js.stripe.com/v3/"></script>

这在我的本地测试环境中完美运行,但在生产中,出现以下控制台错误:

Uncaught Error: It looks like Stripe.js was not loaded correctly
    at new e (controller-84824401a25a5595fc578f767b4d5c27.js:1)
    at controller-84824401a25a5595fc578f767b4d5c27.js:1
    at Object.bnjt (controller-84824401a25a5595fc578f767b4d5c27.js:1)
    at t (shared-d3604a85e14ef273096e09821a0e4c2a.js:1)
    at Object.3 (controller-84824401a25a5595fc578f767b4d5c27.js:1)
    at t (shared-d3604a85e14ef273096e09821a0e4c2a.js:1)
    at window.webpackJsonp (shared-d3604a85e14ef273096e09821a0e4c2a.js:1)
    at controller-84824401a25a5595fc578f767b4d5c27.js:1

我无法解决可能导致错误的原因。我在生产中使用HTTPS,可以看到JS文件源下载成功。有小费吗?

1 个答案:

答案 0 :(得分:0)

解决了@NathanCasebolt的建议。 SO mods删除了他原来的答案:

  

“对我来说,这个错误的解决方法就像拼写检查一样简单   我的变数。在我的后端服务器代码中,我的一个变量是   错误地资本化。由于拼写错误的变量是其中的一部分   检索我的可发布密钥的函数,从中返回的密钥   server as null。反过来,这会中断Stripe对象的创建   并抛出此错误。如果我是你,我会检查以确保(1)那个   您前端的可发布密钥与可发布的密钥相匹配   你的仪表板,以及(2)你没有做任何可能的事情   中断向Stripe提供此密钥。“

     

StackOverflow mods觉得这没有回答问题   需要太多澄清。那么,澄清一下,问题对我而言   是这一行:

     

var stripe = Stripe('{PUBLISHABLE_KEY}');

     

我设置了从我的服务器检索我可发布的密钥到   让我在测试键和实时键之间切换时更加灵活。   由于我的一个服务器变量是错误的,我提供了Stripe   一个坏键(没有键,真的),这就是错误。这个   这就是为什么我建议你查看你用来创建的可发布密钥   Stripe对象,以确保您用于创建的对象   对象就在那里,它与你可发布的密钥相匹配   在条纹仪表板上。“

在我的情况下,这正是我做错了:在初始化Stripe时提供了一个空的可发布键。最终,一个非常简单的错误加剧了Stripe的钝错误消息。