【发布时间】:2014-08-03 19:45:44
【问题描述】:
我正在尝试设置 WePay API 以通过嵌入式结帐在我的网站上接受付款,但遇到了一些问题。该网站目前托管在我的本地机器上进行测试,并使用 Ruby on Rails(ruby 1.9.3p545 和 Rails 3.2.13)创建。我有自己的购物车系统,所以当用户点击购物车中的“结帐”按钮时,我在下一个控制器操作中添加了以下代码:
# set _use_stage to false for live environments
wepay = WePay.new(CLIENT_ID, CLIENT_SECRET, USE_STAGE)
# create the checkout
response = wepay.call('/checkout/create', ACCESS_TOKEN, {
:account_id => ACCOUNT_ID,
:amount => '24.95',
:short_description => 'Software',
:type => 'SERVICE'
})
我这样做是因为用户点击“结帐”后加载的页面将显示 WePay iframe,我需要在显示 iframe 之前接收一个 checkout_id 和一个 checkout_uri。所有大写字母的变量都在 config\environments\development.rb 文件中定义,并且基于我的 WePay 帐户中它们各自的值。单击“结帐”按钮后,我发现对 /checkout/create 的调用失败。我收到以下错误消息:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
WePay 调用和对象已被识别,因为我在 Gemfile 中包含了正确的 WePay gem。
WePay嵌入式结账的官方文档可以参考:https://www.wepay.com/developer/process_payments/iframe-checkout
编辑:
我按照以下链接中第一个答案的说明解决了这个问题:SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed on WINDOWS
【问题讨论】:
-
你能通过 CURL 进行同样的调用吗?看来您的开发环境可能有问题。对于使用 WePay 的示例 Rails 应用程序-github.com/wepay/wefarm
-
@ScottFeinberg 感谢您的回复。我不确定如何通过 CURL 进行相同的调用,所以我不知道它是否有效,但我查看了所有 WePay 支持文档以尝试解决此问题,但没有任何效果。我还尝试了这个 SO 链接上的解决方案,但无济于事:stackoverflow.com/questions/25108440/… WePay 支持已经忽略了我的票超过两周,而这个实现就是我完成我的网站所需要的。任何帮助将不胜感激!
-
遵循以下 SO 主题的答案中的建议:stackoverflow.com/questions/14719670/…
-
建议添加认证作品了吗?
-
是的!我所做的只是将“认证”gem 添加到我的 Gemfile 并运行“捆绑安装”。问题后来解决了!感谢您的跟进。
标签: iframe ruby-on-rails-3.2 certificate ssl-certificate checkout