繁体   English   中英

贝宝返回URL GET而不是POST-Rails

[英]Paypal return URL GET instead of POST - Rails

我正在使用贝宝付款。 除了返回URL之外,其他一切都正常。 贝宝使用POST返回我的Rails应用程序,如何强制他使用GET呢?

def paypal_url(return_path, token_id, pack_id, amount)
    values = {
        business: "#{Rails.application.secrets.paypal_account}",
        cmd: "_xclick",
        upload: 1,
        return: "#{Rails.application.secrets.app_host}#{return_path}",
        invoice: id,
        amount: amount,
        item_name: Purchase.packs[pack_id].description,
        quantity: 1, # 1 pack
        notify_url: "#{Rails.application.secrets.app_host}/hook"
    }
    "#{Rails.application.secrets.paypal_host}/cgi-bin/webscr?" + values.to_query
  end

这是错误

Started POST "/users/1" for 90.62.1.250 at 2014-11-06 20:58:46 +0000
ActionController::RoutingError (No route matches [POST] "/users/1")

尽管这不是您可能想要的答案,但是如果您想使用发送的给定发帖请求,请添加到您的route.rb文件中(在config中)

#routes.rb
post "/hook" => "modelname#hook"

然后在模型控制器中,定义一个新方法(名为hook)来处理发布请求

#modelname_controller.rb
protect_from_forgery except: [:hook]
def hook
  params.permit! # Permits the pay
  status = params[:payment_status]
  if status == "Completed"
    # Process the data
  end
  render nothing: true
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM