Qiwi支払いゲートウェイを介した支払いの可能性を実現するには、ロシア語の開発者向けガイドを読むだけで十分です。 しかし、期限があり、開発に多くの時間を費やしたくない人のために、コードを使用して自分の計算で開発プロセスを促進しようとします。
初期データ-Node.js-0.12.4、Sails-v0.12.11
開発を開始するには、
https://ishop.qiwi.comで登録してアカウントの確認を待つ必要があり
ます 。 アカウントを確認したら、[設定]→[プロトコル]→[RESTプロトコル]に移動し、[認証データ]タブでプロジェクトID-ストアID(SHOP_ID)を確認してREST応答を確認する必要があります。 さらに、「新しいIDを生成」をクリックして、Qiwi APIへのRESTリクエストのAPI_IDを生成する必要があります。 パスワード(API_PWD)を書き留めておく必要があることに注意してください。そうすれば、それを見る場所がなくなります。
最初に、プログラマを混乱させ、QiwiにはPaypalなどのサンドボックスがないことを通知します。すべての作業は、最初は実際のお金とカードを使用してライブサーバーで行われます。
まず、請求書リクエストを送信する方法を学びます。 簡単に言うと、支払いプロセス全体は、請求、支払い用リンクの受信、クライアントがサービスの支払いを行うサイトへの移動、Qiwi IPNサーバーからの応答サーバーの待機で構成されます。
次に、アカウントを作成するリクエストを送信します-支払いのリンクを取得し、クライアントをQiwiウェブサイトに送信します。 クライアントがQiwi Webサイトで支払いを行った後、支払いの結果に応じて、クライアントは支払いリンクに示されたsuccessUrlまたはfailUrlページにリダイレクトします。 支払いの結果(キャンセル、成功、遅延、エラーなど)に関係なく、当社のサーバーはQiwi IPNサーバーからの応答を受信するために開いています。 回答はhttpsとhttpの両方にすることができます。 APIサーバーをhttpsに転送できる場合-このプロトコルを使用することをお勧めします-より安全です。
コードには、https経由で応答をチェックするコードの一部がありますが、検証されていません。このコードは、私の基礎として使用できます。 サーバーへのhttpまたはhttpsを介して支払いステータスに関する回答を受け取るには、Qiwi個人アカウント設定の「プル(REST)プロトコル設定」セクションを構成する必要があります。 通知を有効にし、通知のURLを提供する必要があります。 httpのポートは80のみ、httpsの場合は443です。他のポートを指定することはできません。 「通知パスワードの変更」をクリックして、通知用のパスワードを生成する必要があります。 その後、コードの記述を開始できます。
コードは複雑ではありませんが、いくつかの質問が発生する可能性があります。これについては、以下で予測して回答を示します。
Qiwi IPNサーバーは、応答が結果コード0とHTTPステータスコード200を返すまで、日中に間隔を空けてリクエストを繰り返します(試行回数50回のみ)。支払いの重複を避けるため、最初の通知を受け取ったときに、将来、トランザクションがアカウント番号でトランザクションを作成しますこのようなアカウントが存在する-私はリクエストをドロップします。 また、支払いと払い戻し、つまり「支払い済み」と「拒否済み」の支払いステータスにも興味があります。
リクエストのタイプを理解するために、アクションへのルートを投稿します。
これで私の短い最初の投稿は終わりです。 Qiwi APIのドキュメントでコードを読むことをお勧めします。すべてのエラー番号、ビジネスロジックなどが記述されています。 どんなコメントでも喜んでいます。 批判が大好きです。