0

タスクの完璧なロジックについて考えています。PHPで書かれたページは全部で3ページあります。product_select、cart_summary、thank_you

制御フロー:

  1. ユーザーは最初のページから製品を選択し、[続行] ボタンをクリックします
  2. 「cart_summary」ページに合計金額と選択した商品の一覧が表示されます。ユーザーは「paypalで支払う」ボタンをクリックします
  3. ユーザーはペイパルのページに移動します。取引を行います。その後、paypal ユーザーから thank_you ページにリダイレクトされます
  4. thank_you ページで、製品の詳細に関連するメールがユーザーと管理者に送信されます

コーディングを行いました。ユーザーが手順 1 で [続行] ボタンをクリックすると、選択したすべての製品がセッションに保存されます。ユーザーが thank_you ページに到達すると、セッションの値がメールとして送信されます。

この方法の問題: 1. ユーザーが 100 米ドル相当の製品を選択します。PayPal ページにアクセスして取引を行います。現在、ユーザーはペイパルページにいます。2. その時点で、ユーザーは別のタブに移動し、product_select ページに移動します。次に、300 米ドル相当の商品を選択し、[続行] ボタンをクリックします。現在、セッションの値は 300 米ドルです。 3. 最初のタブで、ユーザーが 100 米ドルの支払いを行った後にペイパルから戻ると、セッションには 2 番目の注文の詳細が含まれているため、2 番目の注文の購入の詳細が記載されたメールが送信されます。

私の主張を明確にすることができれば幸いです。この状況に取り組むための正しいロジックを教えてください。

4

1 に答える 1

0

最良の方法は、購入されたもの と金額を正確に確認する PayPal の IPN を使用することです: https://www.paypal.com/ipn PayPal にアクセスした後、カートに何が行われたかは問題ではありません。

または、PayPal にリダイレクトする時点で、ショッピング カートの内容をデータベースに保存し、ユーザーがサイトに戻ってきたときにそれらを復元してから、メールを処理することもできます。復元されたコンテンツは、その間に発生した変更を上書きします。

于 2012-10-23T14:51:28.423 に答える