ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP で Alipay 支払いをリダイレクトする方法

ThinkPHP で Alipay 支払いをリダイレクトする方法

PHPz
PHPzオリジナル
2023-04-11 10:30:141403ブラウズ

ThinkPHP は、中国で最も人気のある PHP 開発フレームワークの 1 つです。 ECサイト制作において、決済機能は欠かせないものです。国内のオンライン支払いの重要な形式として、Alipay は電子商取引 Web サイトでも一般的な支払い方法になっています。この記事では、ThinkPHP を使用して Alipay 決済にジャンプする方法を紹介します。

1. 事前準備

  1. Alipay 開発者アカウントを取得する
    Alipay を使用して支払いを行う前に、開発者アカウントを登録し、アプリケーションを作成する必要があります。アプリケーションを作成した後、アプリケーションのAPPID、開発者秘密キー、Alipay公開キー、その他の情報を取得できます。
  2. Alipay SDK のインストール

Composer を使用して Alipay SDK をインストールします:

composer.json

<pre class="brush:php;toolbar:false">composer require alipay/easy-sdk</pre> または require追加:

"alipay/easy-sdk": "^3.3"
  1. 次の内容を含む新しい alipay.php 構成ファイルを config フォルダーに作成します:

    <?php
    return [
     // 应用ID
     &#39;app_id&#39; => '',
     // 支付宝公钥
     'ali_public_key' => '',
     // 开发者私钥
     'private_key' => '',
     // 支付宝网关
     'gatewayUrl' => 'https://openapi.alipay.com/gateway.do',
     // 签名方式
     'sign_type' => 'RSA2',
     // 异步通知地址
     'notify_url' => '',
     // 同步跳转地址
     'return_url' => '',
    ];

    このうち、app_idali_public_keyprivate_keynotify_urlreturn_url は、次のように入力する必要があります。開発者センターから取得した Alipay 情報。 notify_urlreturn_url は、それぞれ支払い後の非同期コールバックと同期コールバックのアドレスです。コールバックはアプリケーションで処理する必要があります。

2. Alipay の支払いジャンプ

Alipay は、統合された注文および支払いページのインターフェイスを提供しており、これを通じて支払いリンクを生成し、ユーザーを次のリンクに誘導できます。 Alipay ページで支払いを完了します。 EasySDK を使用して Alipay 支払いにジャンプする詳細な手順は次のとおりです。

  1. 支払い方法を定義する
    注文パラメーターを受け取る独自のコントローラーで pay メソッドを定義します。 、注文番号を Alipay のインターフェースに渡し、支払いリンクを取得して支払いページにジャンプします。
<?php

namespace app\index\controller;

use think\Controller;
use think\facade\Config;
use Alipay\EasySDK\Kernel\Factory;

class Order extends Controller
{
    // 支付方法
    public function pay($order_sn)
    {
        // 初始化SDK
        $config = Config::get(&#39;alipay&#39;);
        $client = Factory::payment($config);

        // 创建订单请求
        $request = array(
            &#39;out_trade_no&#39; => $order_sn,
            'total_amount' => '0.01',
            'subject' => '商品名称',
            'body' => '商品描述',
        );
        $response = $client->common()->createOrder($request);

        // 获取支付链接并跳转到支付宝页面
        $pay_url = $response->body->qrCode;
        header('Location:' . $pay_url);
    }
}
  1. ページ ジャンプ
    テンプレートで、支払いボタンを作成し、注文番号をコントローラー メソッドに渡し、支払いメソッドを呼び出して支払いのための Alipay ページにジャンプします。
<a href="{:url(&#39;Order/pay&#39;)}?order_sn={$order_sn}">去支付</a>

概要

この記事では、ThinkPHP を使用して Alipay 支払いにジャンプするプロセスを紹介します。開発者アカウントを登録してアプリケーションを作成し、Alipay SDK をインストールして追加する必要があります。設定ファイルに対応する情報を追加します。コントローラーで支払い方法を定義し、統合された注文インターフェイスを通じて支払いリンクを取得し、支払いを完了するためにユーザーを Alipay ページに誘導します。同時に、支払い完了後の注文ステータスの更新とビジネス ロジック処理を確実にするために、支払い後の非同期および同期コールバックをアプリケーションで処理する必要があります。

Alipay ペイメント ジャンプでは、ネットワークの安定性とセキュリティを確保すると同時に、対応するトランザクション ルールに従って、ユーザーにより良いトランザクション エクスペリエンスを提供する必要があることは注目に値します。

以上がThinkPHP で Alipay 支払いをリダイレクトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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