このシリーズをご覧になっている方は、カスタム支払い方法用にバックエンドに設定するファイル構造の種類についてよくご存知のはずです。このシリーズの前の部分をまだ読んでいない場合は、このシリーズを続ける前に読んでおくことを強くお勧めします。
フロントエンド部分にも同様のファイル設定を使用します。
次に、catalog/controller/payment/custom.php
にコントローラー ファイルを作成します。次の内容を、新しく作成したコントローラー ファイル custom.php
に貼り付けます。
ご覧のとおり、2 つの異なる方法があります。 index
メソッドは、フォームがサードパーティの支払いゲートウェイに送信されるときにデータを設定する役割を果たします。一方、callback
メソッドは、サードパーティの支払いゲートウェイからの応答データを処理するために使用されます。パーティー支払いゲートウェイ。そうは言っても、支払いゲートウェイで必要な場合は、さらに多くのメソッドを定義できます。この例では、プロセスを可能な限り単純にしています。
各部分を詳しく理解しましょう。 index
メソッドから始めます。
まず、言語ファイルをロードし、確認ボタンの値を設定します。また、支払い送信フォームで使用される action
属性も設定します。支払いゲートウェイに応じてこの設定を変更する必要があります。
次に、ユーザーのアクティブなセッションから注文情報を読み込みます。
リーリー 注文情報が利用可能な場合は、フォームを支払いゲートウェイ URL に送信するために使用される隠し変数のデータの設定に進みます。コードに細心の注意を払うと、カスタム パラメータ text_config_one
と text_config_two
も使用していることがわかります。これらは、この前の部分の管理設定フォームで設定しました。シリーズ。
ここで注意すべきもう 1 つの重要な変数は callbackurl
です。これは、支払いプロセス後にユーザーをストアにリダイレクトするために支払いゲートウェイによって使用される URL を保持します。はい、URL payment/custom/callback
を見ると、この時点でわかるように、callback
メソッドを呼び出すことがわかります。
最後に、カスタム テンプレート ファイル custom.tpl
を割り当て、ビューをレンダリングします。
callback
メソッドのコードを確認してみましょう。このメソッドは、ユーザーが支払いゲートウェイ サイトからストアに戻ったときに呼び出されます。
まず、続行する前に orderid
変数が使用できるかどうかを確認します。利用できない場合は、それ以降の処理を停止します。
次に、データベースから注文情報を読み込みます。最後に、支払いゲートウェイの応答に success
インジケーターがあるかどうかを確認します。その場合、当社はそれに応じて注文ステータス情報を更新し続けます。
これはコントローラーの設定です。とてもシンプルですね。
ご存知かと思いますが、OpenCart には、ストアの内部動作を扱うための独自の規則と標準のセットがあります。これは、支払方法検出のためのモデル設定の場合に当てはまります。規則に従って設定するだけで、自動的に取得されます。
次に、モデル ファイルを catalog/model/payment/custom.php
に作成します。次の内容を新しく作成したモデル ファイル custom.php
に貼り付けます。
OpenCart は、チェックアウト プロセス中に有効な支払い方法をリストするときにこのクラスを使用します。このプロセス中に、OpenCart はバックエンドから有効な支払い方法のリストを収集し、メソッドごとに、適切なモデル クラスが利用可能かどうかを確認します。支払い方法は、関連するモデル クラスが利用可能な場合にのみリストされます。
この設定で最も重要なのは、code
変数の値です。この例では、custom
として定義しました。これは、支払い方法を選択して Continue を押すと、最終的に設定する payment/custom
内部 URL を呼び出します。支払いゲートウェイのフォーム。
つまり、これはフロントエンドの支払い方法の検出と通常の動作に必須のファイルであると言えます。
あとは、言語を作成してファイルを表示するだけです。 catalog/ language/english/payment/custom.php
に言語ファイルを作成してください。次の内容を新しく作成した言語ファイル custom.php
に貼り付けます。
非常に簡単に理解できます。チェックアウト時にフロントエンドで使用されるタグを設定するだけです。
次に、catalog/view/theme/default/template/payment/custom.tpl
にテンプレート ファイルを作成します。次の内容を新しく作成したテンプレート ファイル custom.tpl
に貼り付けます。
ご想像のとおり、これはユーザーが [注文を確認] ボタンをクリックしたときに送信されるフォームです。コントローラーの index メソッドで以前に定義した隠し変数とその値を設定しました。
プロセス全体を簡単に見てみましょう:
payment/custom
を呼び出します。 URL。最終的に index
メソッドを呼び出し、6 番目のタブに custom.tpl
ファイルをレンダリングします。 隠し変数により、ユーザーは当社の Web サイトにリダイレクトされます。もちろん、すべてが期待どおりに動作する場合、注文ステータスは
callback メソッドの一部として更新されます。
以上がOpenCart でのパーソナライズされた支払いオプションの設計: パート 3の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。