-1

シナリオを考えてみましょう: e コマース Web サイトで、必要なすべての情報を入力した後、一部のユーザーが何らかの理由で注文を完了できませんでした (「支払い」のみが不足しています)。

習慣を失わないようにするために、Web サイトはこれらの各ユーザーに 24 時間以内に、注文の概要と取引を完了するための PayPal リンクを記載したリマインダー メールを送信したいと考えています。

  • このリンクはどのように構築できますか?
  • 何の落とし穴がありますか?
  • このリンクはどのように処理されますか?
4

1 に答える 1

1

単純な電子メールは最も安全な場所ではないため、単に送信しないことをお勧めします: - PayPal リンク - 完全な注文の詳細

しかし、できることは、セッションに関するすべての情報を保存し、安全なアプリケーションへの「単純なリンク」を介して取得することです。これにより、新しい Paypal トランザクション ページが生成されます。

<a href="https://yourapp.com/retrieve-transaction?id=ENCRYPTED_ID">...</a>

リンクをクリックした後、ユーザーのログインを要求する必要があります。トランザクション自体が危険にさらされていない場合でも (独立した支払いが必要です)、リンク自体がトランザクションの内容を公開します。薬やその他の機密または機密の購入を考えてください。これらの詳細をメールに送りたくないのと同じ理由で、クリックするだけでアクセスできるようにしたくありません。

次に、ログインから有効なセッションを作成すると、アカウント情報や注文履歴などにアクセスできるようになります。ENCRYPTED_ID からの情報を追加することで、「凍結された」購入セッションからのすべての情報をセッションに挿入できます。

これで、PayPal リンクを使用してクイック注文ページを再作成するために必要なものがすべて揃いました。

最後に、ユーザー (または他の誰か) が同じリンクを再度クリックした場合に備えて、事前設定された時間後およびトランザクションの完了後にもリンクの無効化を提供する必要があります。

可能なワークフロー

  • 最初の Paypal リンク提案の前に「凍結セッション」を準備します
  • 支払いが完了したら、凍結されたセッションを削除します

  • 1 時間ごと (たとえば)、48 時間以上経過した未解決の凍結セッションがあるかどうかを確認します。これらは有効期限が切れているため、削除します。

  • 24 時間より前であるが 48 時間より新しいセッションが他にある場合、"Sent mail!" はありません。フラグを設定するには、そのセッションへのリンクを含む電子メールを送信し、フラグを設定します。

  • そのリンクのクリックを受け取ったら、ログインを要求します (リンクが 24 時間以上経過している場合は、機能しないことに注意してください)。

  • ログインに成功したら、セッションが存在するかどうかを確認します。
  • そうでない場合は、「申し訳ありませんが有効期限が切れています。ショッピングを再開しますか?」
  • 存在する場合は、注文ページを再生成し、リストの先頭に戻ります。確かに、この方法でリンクをクリックして支払いをせずに立ち去った場合、別のメールが送信されますが、意図的に送信する必要があります。悪用の可能性 (たとえば、パスワードを知っている人を困らせる) が気になる場合は、凍結されたセッションにカウンターを追加します (「この注文を再開するのはこれで 3 回目です。悪用の可能性を避けるため、送信しません。これ以上のリマインダー」)。もちろん、無思慮や一時的な健忘症の治療法を販売している場合を除きます。
于 2012-11-14T08:22:25.303 に答える