Ruby on rails 为什么不允许使用PayPal::SDK::Core::Exceptions::Method?

Ruby on rails 为什么不允许使用PayPal::SDK::Core::Exceptions::Method?,ruby-on-rails,ruby,paypal,paypal-rest-sdk,Ruby On Rails,Ruby,Paypal,Paypal Rest Sdk,尽管有以下不折不扣的错误,我还是不断遇到以下错误: PayPal::SDK::Core::Exceptions::MethodNotAllowed in SiteController#execute_payment Failed. Response code = 405. Response message = Method Not Allowed. 这是一条令人不快的线: @payment.execute( :payer_id => params[:PayerID] ) 我做错了什么?

尽管有以下不折不扣的错误,我还是不断遇到以下错误:

PayPal::SDK::Core::Exceptions::MethodNotAllowed in SiteController#execute_payment
Failed. Response code = 405. Response message = Method Not Allowed.
这是一条令人不快的线:

@payment.execute( :payer_id => params[:PayerID] )
我做错了什么?(这是我的控制器):

class SiteController“销售”,
:付款人=>{
:payment_method=>“贝宝”},
:重定向\u URL=>{
:return\u url=>execute\u payment\u url,
:取消\u url=>“https://devtools-paypal.com/guide/pay_paypal/ruby?cancel=true" },
:交易=>[{
:金额=>{
:total=>“12”,
:货币=>“美元”},
:description=>“创建付款”}]})
payment.transactions[0]。项目列表。项目[0]={
数量:1,
名字:'便便',
价格:12,
货币:美元
}
如果付款。创建
会话[:payment\u id]=payment.id
将_重定向到payment.links[1]。href
结束
结束
def执行付款
@payment=PayPal::SDK::REST::payment.new({
:payment\u id=>会话[:payment\u id]})
@payment.execute(:payer\u id=>params[:PayerID])
结束
结束

您应该使用find.而不是创建新付款。。更改:

    @payment = PayPal::SDK::REST::Payment.new({
        :payment_id => session[:payment_id]})

这解决了我的代码副本中的问题

    @payment = PayPal::SDK::REST::Payment.new({
        :payment_id => session[:payment_id]})
    @payment = PayPal::SDK::REST::Payment.find(session[:payment_id])