0

Paypal IPN リスナーを実装しようとしていますが、無効になり続けます。Python ピラミッド フレームワークとリクエスト ライブラリを使用しています。助けてください。

PP_URL = "https://www.sandbox.paypal.com/cgi-bin/webscr"
parameters = {}
parameters = request.POST.copy()
parameters['cmd']='_notify-validate'
params = urlencode(parameters)

status = requests.post(PP_URL, params=params)

status = status.text

print status

誰が私が間違っているのか教えてもらえますか?

また、https://developer.paypal.com/webapps/developer/applications/ipn_simulatorを使用しています

IPNリスナーをテストします。

4

1 に答える 1

0

発生する可能性が高いのは次のとおりです。

この行は、POSTリクエストをそのままコピーします。これは、すでにエンコードされています。

parameters = request.POST.copy()

次に、この行を呼び出します。これは、エンコードされた行をエンコードします。

params = urlencode(parameters)

これにより二重エンコーディングが発生し、問題が発生します。

params = urlencode(parameters)行を削除して、問題がないはずです。これが機能しない場合は、POSTリクエストをurldecodeし、notify-validateを追加してから、もう一度urlencodeします。

于 2013-03-13T16:07:56.327 に答える