Ruby on rails Paypal REST API在转入生产时出现401错误

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

我们正在尝试在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.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?错误似乎来自令牌的端点。