【发布时间】:2017-03-01 12:02:08
【问题描述】:
我正在尝试从条纹网站作品中制作条纹结帐示例
https://stripe.com/docs/checkout/rails
,但当我尝试付款时,我收到此错误消息。
您没有设置有效的可发布密钥。称呼 Stripe.setPublishableKey() 与您的可发布密钥。如需更多信息, 见https://stripe.com/docs/stripe.js
在我的 JavaScript 控制台中,错误消息是
https://checkout.stripe.com/api/bootstrap?key=&locale=en-US 失败 加载资源:服务器响应状态为 400(错误请求)
在我的控制台中,错误消息是
在 2016-10-19 17:29:24 +0000 开始 GET "/" for 10.240.1.15 不能 从 10.240.1.15 渲染控制台!允许的网络:127.0.0.1, ::1, 127.0.0.0/127.255.255.255 ChargesController#new 处理为 HTML 布局/应用程序中呈现的费用/new.html.erb (0.5ms) 在 53 毫秒内完成 200 次 OK(查看次数:52.6 毫秒 | ActiveRecord:0.0 毫秒)
当我检查我的 html 源代码时,stripe-key 元标记没有任何内容?
条带示例使用他们自己的密钥和可发布的密钥,但我使用我的。
如果需要更多信息,请询问,以便我发帖。
application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>Workspace</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'https://js.stripe.com/v2/' %>
<%= csrf_meta_tags %>
<%= tag :meta, :name=> 'stripe-key', :content => ENV["STRIPE_PUBLIC_KEY"] %>
</head>
<body>
<%= yield %>
</body>
</html>
charges.html.erb
<head>
</head>
<body>
<%= yield %>
</body>
</html>
stripe.js
$(document).ready(function() {
Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'));
});
stripe.rb
Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
【问题讨论】:
-
您是从自己的服务器托管 Stripe.js 吗?
-
@Korben 我展示了我的 stripe.js 内容。我不知道更多
-
在 stripe.rb 中,您将可发布密钥设置为
ENV['PUBLISHABLE_KEY'],但在元标记中它是ENV["STRIPE_PUBLIC_KEY"]- 如果您使用<%= tag :meta, :name=> 'stripe-key', :content => ENV["PUBLISHABLE_KEY"] %>,会发生什么情况? -
@MikeH 我试过了,还是一样的错误
-
如果您将可发布密钥直接作为参数放入
Stripe.setPublishableKey(而不是从元标记中获取值),您会得到同样的错误吗?
标签: ruby-on-rails stripe-payments