2

ちょっと、そこ!私は Paypal の IPN システムを統合しており、その認証プロセスでは、Paypal から送信されたものとまったく同じパラメーター (文字列が追加されていますが) を使用して、サーバーが Paypal への POST で Paypal 要求に応答する必要があります。そのため、params ハッシュを文字列 (適切な形式) に変換して送り返しましたが、結果の文字列は元の POST パラメーターと同じ順序ではないようです (結果として認証が行われません)。

(params ハッシュとは対照的に) 実際の POST パラメーター自体にアクセスする方法を知っている人はいますか? 問題は、Paypal に送信するパラメーターの順序が、サーバーにヒットした要求とまったく同じである必要があることです。

それは理にかなっていますか?何かご意見は?前もって感謝します!

--ジャレッド

4

2 に答える 2

3

私の記憶が正しければ、Paypal の IPN は少し扱いに​​くいかもしれません (メッセージを追加して送信したものを正確に提供する必要があります。そうしないと、何も機能しません)。

おそらく、コントローラーで生の投稿データを取得し、それに文字列を追加し、生の投稿データを使用して何らかの HTTP 要求を作成してから、投稿する必要があります。前回ペイパルの IPN を使用したときに実行したことを覚えていますが、比較的うまく機能しました。

私はActionController#raw_postを使用し、リクエストをペイパルに送り返す前にそれを変更します。また、IPN 応答にはタイムアウトがあり (私が思うに)、paypal は、期待どおりに応答しない場合、まったく同じデータで複数の通知を送信する可能性があることに注意してください。あなたのコードは他のことをします。

于 2010-12-24T16:30:41.367 に答える
0

params ハッシュは使用できません。順序が失われます。request.request_uriまたは などの元の要求文字列を使用しますrequest.query_string

于 2010-12-24T16:13:17.803 に答える