Ruby on rails Paypal REST API在转入生产时出现401错误
我们正在尝试在RubyonRails中使用Paypal的RESTAPI,它在沙箱中工作得非常好。 当我们开始生产时,它突然不起作用了。以下是heroku的日志:Ruby on rails Paypal REST API在转入生产时出现401错误,ruby-on-rails,ruby,heroku,paypal,Ruby On Rails,Ruby,Heroku,Paypal,我们正在尝试在RubyonRails中使用Paypal的RESTAPI,它在沙箱中工作得非常好。 当我们开始生产时,它突然不起作用了。以下是heroku的日志: Started POST "/transfer/payments/start_payment" for 77.127.249.103 at 2015-12-09 21:05:37 +0000 2015-12-09T21:05:37.709999+00:00 app[web.1]: Request[post]: https://api.p
Started POST "/transfer/payments/start_payment" for 77.127.249.103 at 2015-12-09 21:05:37 +0000
2015-12-09T21:05:37.709999+00:00 app[web.1]: Request[post]: https://api.paypal.com/v1/oauth2/token
2015-12-09T21:05:38.383206+00:00 app[web.1]: Response[401]: Unauthorized, Duration: 0.673s
2015-12-09T21:05:38.396230+00:00 app[web.1]:
2015-12-09T21:05:38.396233+00:00 app[web.1]: PayPal::SDK::Core::Exceptions::UnauthorizedAccess (Failed. Response code = 401. Response message = Unauthorized. Response debug ID = 9287826b548af.):
2015-12-09T21:05:38.396234+00:00 app[web.1]: app/controllers/transfer/payments_controller.rb:23:in `start_payment'
2015-12-09T21:05:38.396234+00:00 app[web.1]:
2015-12-09T21:05:38.396235+00:00 app[web.1]:
2015-12-09T21:05:38.394396+00:00 app[web.1]: Completed 500 Internal Server Error in 1020ms (ActiveRecord: 23.9ms)
2015-12-09T21:05:38.394396+00:00 app[web.1]: Completed 500 Internal Server Error in 1020ms (ActiveRecord: 23.9ms)
我们的守则是:
def start_payment
@payment = Payment.new(payment_params)
@paypal_payment = PayPal::SDK::REST::Payment.new({
:intent => "sale",
:payer => {
:payment_method => "paypal" },
:redirect_urls => {
:return_url => root_url + transfer_payments_path,
:cancel_url => "https://devtools-paypal.com/guide/pay_paypal/ruby?cancel=true" },
:transactions => [ {
:amount => {
:total => sprintf('%.2f', @payment.amount),
:currency => "USD"
},
:description => "Bounty Balance"
} ]
})
@paypal_payment.create
index = @paypal_payment.links.find_index {|item| item.rel == "approval_url"}
link = @paypal_payment.links[index]
redirect_to link.href
end
我们在paypal.com上查过,在paypal的相关服务旁边有绿色的复选标记——我们唯一没有的是直接信用卡、未来付款和付款
有人知道问题出在哪里吗?Paypal在API方面确实很难使用。我的公司最终改为只花了一个小时就实现了。以前没有使用Paypal API,但是你已经关掉了URL了吗?有时,API有一个用于开发的url和一个用于生产的url。API密钥也是如此。此外,请检查您的
config/development.rb
,并确保所有必要的Paypal API配置也在config/production.rb
中。不。。。不是问题,你在Heroku中设置了所有环境变量吗?当你切换到Live时,你是否也将凭据更改为Live?错误似乎来自令牌的端点。