2

angularjs を使用して Web 支払いを統合しています。

私の主な目標は

  1. ユーザーがペイパル経由でチャージまたは支払いできるようにする
  2. リダイレクトが成功すると、彼を私のサイトに戻します
  3. トランザクションが成功した場合は、データベース レコードを更新します。

2 日後、最初の 2 つのステップが完了したことを嬉しく思います。次に、PDT(Payment Data Transfer)の使用について読み、これを使用して支払人の取引の詳細を取得しましたが、PDTの使用は信頼性が低く、IPN(即時支払い通知)も使用する必要があるという多くの投稿を読みました. だから私はそれについてグーグルし、IPNに関するほとんどすべてのサンプル/チュートリアルはサーバー側のスクリプトを使用して作成されています. では、javascript だけを使用して IPN リスナーを実行することは可能ですか?

4

1 に答える 1

2

いいえ、クライアント側ではありません。これを行うには、サーバー側 Javascript (nodejs) を使用できます。IPN の目的は、支払いが完了したことをサーバーに知らせることです。IPN リクエストは、舞台裏で Paypal から直接、指定した URL に送信されます。クライアントが代わりにこの信号を受信する方法はありません。もし受信できたとしても、誰でも偽造できるため、大きなセキュリティ上の欠陥が発生します。

ただし、IPN を使用してバックエンドを更新し、socket.io (websockets) や long-polling (プレーンな古い ajax) などを使用して、支払いが成功したことをクライアントに知らせることができます。ロング ポーリングを使用すると、基本的に、支払いが成功したかどうかを 1 ~ 2 秒ごとにバックエンドに問い合わせることになります。ソケットを使用すると、より直接的な通信が可能になります。実際の Web ソケットが利用できない場合、長いポーリング (またはフラッシュ) にフォールバックするため、socket.io が好きです。

于 2013-09-19T15:22:20.823 に答える