1

PayPal 開発者ドキュメントを読んで (これは多くのドキュメントです)、IPN が必須なのか、単純に無視できるのかわかりません。

もちろん、支払いが正しかったかどうかを知るために、他のメカニズムを実装する必要があります。私はこのようなことを考えました:

  • returnUrl と cancelUrl の両方に異なるコードを使用して、(Web サービス経由で) 新しい支払いを作成します。このコードは、支払いごとにランダムに生成され、DB に保存されます。

  • ユーザーが支払いを完了すると (OK または KO)、PayPal はそのページを私のサイトにリダイレクトし、コードが正しいかどうかを知ることができます。

  • 問題が発生した場合 (ユーザーがウィンドウを閉じる、応答が届かない、コードが一致しないなど) は、PayPal サイトでトランザクションを調べて手動で処理されます。

これでいいと思いますか?

ありがとう。

4

2 に答える 2

1

いいえ、それはひどいと思います。

ユーザーは支払い手順をスキップして、必要な URL を一緒に編集し、ブラウザのアドレス バーに貼り付けることができます。それは彼らに無料の製品を与えるでしょう.

URL を受け取ったら、PayPal SOAP API を使用してトランザクションを検証できます。その URL を受け取った瞬間に盲目的に信頼することはできません。

ユーザーが他人の支払いの URL をあなたに送信し、その支払いに対して製品を 2 回受け取ることを許可しないように注意する必要があります。(本物の受取人に 1 回、詐欺師に 1 回...)

正しい金額が支払われたことを確認することが重要です。(正しい金額が支払われたことを気にかけていると仮定します。)

一般に、PayPal とやり取りするときは、どの方法を使用する場合でも、ソフトウェアのセキュリティと脅威のモデリングを理解することが重要です。そうしないと、詐欺から守られる可能性はほとんどありません。

于 2010-08-11T15:25:18.597 に答える
1

Paypal は、可能な限り論理的に安全なシステムを設計しました。彼らが長い時間をかけて開発し、考えてきたシステムの再設計を始めるつもりはありません。あなたの利益のためにそこにある非常に多くのセキュリティ機能を無視しているだけです.

1つは、これら2つのキーがいつでも生の形式のクライアント側でアクセスできる場合、簡単にハッキング可能なシステムになります. Paypalへの支払いページをクリックして、実際に支払うことなくブラウザに返品先住所を入力するだけで、商品を発送する前に自分で手動で確認しない限り、システムはそれを有効な取引として扱います(egoodsの場合は手遅れになります)けれど)。

または、ハッカーはリターン キーを推測できます。それは長く、高度にランダム化する必要があります。それがインクリメントキーの場合、非常に簡単にハッキング可能なシステムが再び得られます。

支払いを確認するには、IPN が不可欠です。近道をするのではなく、お金が関係するときに正しく実行してください。

于 2010-08-11T15:25:39.067 に答える