【发布时间】:2016-04-26 18:01:43
【问题描述】:
我已经为我的 IPN 构建了一个监听器。我可以通过 IPN Simulator 接收请求,并且所有参数都是正确的,但是当我将其发送回 link for sending my request to make validations 时,它总是会返回 INVALID。
我尝试将我的 PayPal 帐户的编码更改为 UTF-8,但没有成功。
我没有为此使用任何 gem,我对此并不期待。
class PaymentNotificationController [:create] #否则来自 PayPal 的请求不会发送到控制器 定义创建 响应 = validate_IPN_notification(request.raw_post) 个案回应 当“验证” P'工作' 当“无效” p'没用' 别的 结尾 渲染 :nothing => true, :status => 200, :content_type => 'text/html' 结尾 受保护 def validate_IPN_notification(原始) uri = URI.parse('https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notify-validate') #uri = URI.parse('https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate') http = Net::HTTP.new(uri.host, uri.port) http.open_timeout = 60 http.read_timeout = 60 http.verify_mode = OpenSSL::SSL::VERIFY_NONE http.use_ssl = 真 响应 = http.post(uri.request_uri, raw, '内容长度' => "#{raw.size}", 'User-Agent' => "我的自定义用户代理" )。身体 结尾 结尾请帮帮我,我整个下午都被它困住了,无法弄清楚。
【问题讨论】:
标签: ruby-on-rails ruby paypal paypal-ipn paypal-sandbox