2

支払いをキャンセルするためだけに、' cmd ' パラメータ (受信した値とともにcmd=_notify-validateを送信して IPN 応答を検証するために使用される)に対して Paypal によって定義された値はありますか? cmd=_notify-ignore のようなものですか?

これが必要な理由は、構成ファイルを維持していて (私は PHP を使用しています)、"Allow_Payments" の値を"Yes"または"No"に設定できるためです。そのため、Paypal での支払いを時々有効または無効にするのは、面倒な解決策のようなものです。もう 1 つの問題は、[今すぐ購入] ボタンが別のサイトに配置されていますが、すべてのサイトで同じ IPN リスナーが使用されていることです。そのため、IPN リスナー内で使用できるソリューションを探しています。そのため、このシナリオでは「cmd」パラメーターが役立つと考えました。

前もって感謝します。

4

2 に答える 2

4

あなたはIPNについて間違った考えを持っていると思います.

PayPal IPN は単なるリスナーまたはハンドラーです。支払いが正常に行われると、 IPN がトリガーされます。

IPN から発せられるキャンセル コマンドを実装するのは間違っていると思います。これは、支払いを受け取った後にキャンセルされ、この支払いを行ったばかりのユーザーにとって迷惑だからです。

より良い代替手段は、PayPal 支払いページの前にキャッチオール処理ページを使用することです。すべての [今すぐ購入] ボタンは、IPN と同じドメインでホストされているこのドキュメントに移動します (チェックアウト スタイル フローの作成)。不正を防止するために支払いデータ (支払い金額や business_email など) を検証する必要があります。その後、「Allow_Payments」フラグがチェックされます。支払いが許可され、有効な支払いデータがある場合は、PayPal 支払いに進みます。このようにして、ユーザーは支払いを行う前に停止され、キャンセルや返金の手間がなくなります。

于 2012-07-03T10:09:20.840 に答える
3

サーバー (ショップ) が購入した商品の数量と価格を PayPal に通知するために、サーバーは通常、HTTP リダイレクトを顧客のブラウザに送り返します。これにより、顧客のブラウザは支払いが行われる PayPal にリダイレクトされます。

このリダイレクトには脆弱性があります。買い物客がブラウザを制御できる場合、このリダイレクトを傍受し、製品の価格を 0$ に設定できます。

これが起こっていないことを正確に確認できる唯一の機会は、IPN の段階です。価格/数量に予期しない事態が発生したことが判明した場合は、その時点で取引をキャンセルする必要があります (後払い)。

于 2012-09-20T09:32:48.537 に答える