Web アプリケーション用にエクスプレス チェックアウト API を実装していますが、すべて正常に動作します。とはいえ、手術の流れには疑問が残ります。
よく理解すれば、ユーザーエクスペリエンスは次のとおりです。
- ユーザーがマーチャント サイトでいくつかのアイテムを注文する
- 支払う前に、ユーザーは PayPal サイトに送られます
- 認証後、ユーザーは、合計金額ではなく、発送注文などの取引に関する詳細を確認できます。
- ユーザーはマーチャントサイトにリダイレクトされ、そこで他の情報、特に注文の合計金額を確認できます
- 支払いが完了し、ユーザーはマーチャントから確認ページを受け取ります。
SetExpressCheckout
呼び出しは 1 と 2 の間、3 と 4 の間、最後に 4 と 5 の間で発生しGetExpressCheckoutDetails
ますDoExpressCheckoutPayment
。
ステップ 3 で合計金額を確認する機会がユーザーに与えられていないのは、この時点でマーチャントが送料に関する情報を持っていない可能性があるためです。実際、ドキュメンテーションでは、 への呼び出しと への呼び出しの間で金額が変わる可能性があると明示的に述べSetExpressCheckout
ていDoExpressCheckoutPayment
ます。
では、マーチャントがユーザーに嘘をついた場合はどうなるでしょうか? 20EUR の支払いを確認して、2000EUR を請求すると言うかもしれません。さて、それは詐欺であり、私は起訴される可能性がありますが、とにかく許可されるべきではありません.
ドキュメントでは、 への呼び出しによるトランザクションの詳細の取得はオプションであると主張していることにも注意してください。GetExpressCheckoutDetails
同様に、ユーザーが支払いの詳細を確認するステップ 4 は、完全にスキップすることができます。この場合、ユーザーは金額を確認しません。
私は何か間違っているのでしょうか、それともこの作業の背後にある理論的根拠はありますか?