5

CodeIgniterフレームワークを使用してクラウドファンディングサイト(Kickstarterと同様)を開発しています。

このライブラリを使用して、PayPalのアダプティブペイメントを「正常に」実装しました。

しかし、支払いの成功/失敗を正しく安全にチェックする方法がわかりません。データベースに保存するには、魔女のデータが重要です。

注:これは連鎖的な遅延支払いであり、私がプライマリレシーバーであり、セカンダリレシーバーがクラウドファンディングプロジェクトの作成者です。所定の期間が経過すると、お金はセカンダリレシーバーに送金されます。

私が今持っている流れは次のようになります:

  1. ユーザーがクリックして報酬を購入します。
  2. 'Pay' API操作を使用して支払いを要求し(一意のTrackingIDを含む)、その要求をデータベースに保存します。
  3. リクエストが成功した場合、セッションにいくつかの応答データ(TrackingID、PayKey、amountなど)を保存し、PayPalにリダイレクトします。
  4. このステップでは、ユーザーは次のことができます:支払いを受け入れる、キャンセルする、またはブラウザーを閉じるだけなので、ここで何が起こるのか本当にわかりません...(推奨事項?)
  5. ユーザーが支払いを受け入れると、彼は私のサイトにリダイレクトされ、セッションで保存したデータを使用して、支払いに関する情報を取得するための「PaymentDetails」API操作を要求します。
  6. 結果をデータベースに保存し、応答'amount'が要求'amount'と等しいかどうかを確認します(セキュリティのため)。
  7. すべてがうまくいったら、データベースを更新し、支払いTrackingIDをユーザーと彼が購入した報酬に接続します。
  8. 後で(数か月後になる可能性があります)、管理者から「ExecutePayment」API操作が要求され、そのお金がプロジェクトクリエーターに送金され、少額の手数料がかかります(クラウドファンディングの仕組み...)

今、私は多くのことを見逃していると確信していますが、私には何がわかりません:

  1. IPN APIはどうですか?それが必要?フローとチェックの中で遊ぶことになるのはどこですか?
  2. ユーザーがPayPay(私のサイトの外)にいるときにブラウザーウィンドウを閉じた場合の対処方法。
  3. PayKeyは3時間有効だと聞きましたが、数か月後に「ExecutePayment」を実行するにはどうすればよいですか?
  4. PayPal APIで膨大な量のエラータイプを処理するにはどうすればよいですか?
  5. 私が世話をする必要がある他のもののヒントや例はありますか?安全?エラー?その他?

どうもありがとうございました、私は本当にあなたの答えが必要です!

4

1 に答える 1

9
  1. IPNは、支払い後の手続きを自動化するために、データを「リスナー」(開発する必要があります)に自動的にPOSTします。たとえば、データベースを更新したり、サードパーティのWebサービスにアクセスしたり、IPN内で電子メールの領収書を生成したりして、PayPalアカウントでお金を受け取るたびにこれらのイベントが自動的に発生するようにすることができます。払い戻し、紛争、その他のイベントを処理するように設定することもできます。必須ではありませんが、多くの場合非常に便利です。

  2. これが、IPNが役立つ理由の1つです。IPNは、ユーザーがサイトに戻るかどうかに関係なくトリガーされます。サンキューページなどで後払い処理を行っている場合は、IPNソリューションに移行することをお勧めします。

  3. PayKeyは、トークンとして使用される場合、実際に3時間有効です。ただし、CREATEのActionTypeを使用してPayを呼び出すと、遅延支払いが設定され、PayKeyは最大90日間有効になります。

  4. エラー情報は、常に同じ形式で応答に返されます。この標準的な応答に基づいて、それに応じてエラーをログに記録または表示することができます。

  5. ほとんどの場合、あなたはほとんどすべての上にいるように聞こえます。

于 2012-02-04T03:29:46.477 に答える