实时模式条纹错误`无法与我们的付款处理器通信,因为API密钥无效。

时间:2016-11-12 22:26:26

标签: ruby-on-rails stripe-payments

我让我的应用程序在Stripe的测试模式下完美运行,但当我将切换开关切换到Stripe仪表板上的live并更改了我{{1}上的stripe_publishable_keystripe_secret_key时我一直收到错误:

  

Stripe Checkout无法与我们的付款处理器通信,因为   API密钥无效。请联系网站所有者或   support@stripe.com。

我甚至不确定在这里提供什么代码来帮助人们排除故障,因为一切都在测试模式下正常运行,但这是secrets.yml的结构:

secrets.yml

我查看了this one等其他帖子,但这些步骤都没有解决问题。任何人都可以添加任何见解吗?

通过评论部分中的编辑,错误消失了,但这些控制台错误(以及永恒的风车)仍然存在:

enter image description here

3 个答案:

答案 0 :(得分:1)

重新检查您的公钥,并确保您没有误将分号;放在密钥末尾。

答案 1 :(得分:0)

花了一段时间调试才意识到我是这样设置键的:

export PUBLISHABLE_KEY="pk_test_1234567"

不起作用的

export PUBLISHABLE_KEY=pk_test_1234567

正常工作(不要用引号引起来) 无论出于什么原因,我都没有注意到我马上就这样做了。

答案 2 :(得分:0)

反转键,因为这是错误的

  

stripe_secret_key: ENV['stripe_publishable_key']

在您的JavaScript中使用的秘密密钥,反转密钥,然后将可发布的密钥放入公共javascript

// sk_(test|live) = "Secret key"
stripe_publishable_key: 'sk_live_1234567890asdfg';

// pk_(test|live) = "Publishable key"
stripe_secret_key:      'pk_live_1234567890asdfg';

您的javascript(公开的,公开的)密钥中包含pk(公开密钥)。

如果您在JavaScript中使用sk(将它们取反),将无法使用。