ホームページ  >  記事  >  バックエンド開発  >  OpenCart でのパーソナライズされた支払いオプションの設計: パート 3

OpenCart でのパーソナライズされた支払いオプションの設計: パート 3

王林
王林オリジナル
2023-09-03 10:41:07890ブラウズ

このシリーズをご覧になっている方は、カスタム支払い方法用にバックエンドに設定するファイル構造の種類についてよくご存知のはずです。このシリーズの前の部分をまだ読んでいない場合は、このシリーズを続ける前に読んでおくことを強くお勧めします。

フロントエンド部分にも同様のファイル設定を使用します。

コントローラー設定

次に、catalog/controller/payment/custom.php にコントローラー ファイルを作成します。次の内容を、新しく作成したコントローラー ファイル custom.php に貼り付けます。

リーリー

ご覧のとおり、2 つの異なる方法があります。 index メソッドは、フォームがサードパーティの支払いゲートウェイに送信されるときにデータを設定する役割を果たします。一方、callback メソッドは、サードパーティの支払いゲートウェイからの応答データを処理するために使用されます。パーティー支払いゲートウェイ。そうは言っても、支払いゲートウェイで必要な場合は、さらに多くのメソッドを定義できます。この例では、プロセスを可能な限り単純にしています。

各部分を詳しく理解しましょう。 index メソッドから始めます。

まず、言語ファイルをロードし、確認ボタンの値を設定します。また、支払い送信フォームで使用される action 属性も設定します。支払いゲートウェイに応じてこの設定を変更する必要があります。

リーリー

次に、ユーザーのアクティブなセッションから注文情報を読み込みます。

リーリー

注文情報が利用可能な場合は、フォームを支払いゲートウェイ URL に送信するために使用される隠し変数のデータの設定に進みます。コードに細心の注意を払うと、カスタム パラメータ text_config_onetext_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 メソッドで以前に定義した隠し変数とその値を設定しました。

フロントエンドを見てみましょう:

在 OpenCart 中设计个性化支付选项:第 3 部分

プロセス全体を簡単に見てみましょう:

  • まず、支払い方法のモデル ファイルを設定して、ステップ 5: 支払い方法 タグにリストできるようにする必要があります。
  • 次に、ユーザーが 5 番目のタブで カスタム支払い方法 を選択し、続行 ボタンをクリックすると、OpenCart は内部で payment/custom を呼び出します。 URL。最終的に index メソッドを呼び出し、6 番目のタブに custom.tpl ファイルをレンダリングします。
  • 最後に、ユーザーが [注文を確認] ボタンをクリックすると、フォームが送信され、ユーザーは支払いゲートウェイ Web サイトに移動し、そこで支払いプロセスが開始されます。支払いプロセスが完了すると、callbackurl 隠し変数により、ユーザーは当社の Web サイトにリダイレクトされます。もちろん、すべてが期待どおりに動作する場合、注文ステータスは callback メソッドの一部として更新されます。

  • ###結論は###
このシリーズでは、独自の支払い方法モジュールを作成して、ほぼすべての支払い方法を設定する方法を説明します。このシリーズを楽しんでいただき、役立つことを学んでいただければ幸いです。

どんなフレームワークでもカスタム コンテンツを作成するのはいつも楽しいですよね。以下のコメント フォームを使用していつでもコメントや質問を残すことができます。

以上がOpenCart でのパーソナライズされた支払いオプションの設計: パート 3の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。