ホームページ  >  記事  >  バックエンド開発  >  PHPとEasyWeChat:WeChatミニプログラム決済機能の実践開発

PHPとEasyWeChat:WeChatミニプログラム決済機能の実践開発

王林
王林オリジナル
2023-07-19 09:15:181702ブラウズ

PHP と EasyWeChat: WeChat Mini プログラムの支払い機能の実践的な開発

WeChat Payment は最も一般的に使用されているモバイル支払い方法の 1 つであり、WeChat Mini プログラムはますます多くの企業や開発者のプラットフォームで選択されるようになりました。 。決済機能を WeChat ミニ プログラムに統合すると、企業により多くのビジネス チャンスと利便性がもたらされます。この記事では、PHPとEasyWeChatを使用してWeChatミニプログラムの決済機能を開発する方法を紹介します。

1. 準備作業
開発を開始する前に、次の資料を準備する必要があります:

  1. WeChat 決済加盟店番号 (mch_id)
  2. WeChat 決済加盟店Secret Key
  3. WeChat Pay のアプリ ID (appid) とアプリ シークレット (appsecret)
  4. 法的証明書ファイル
    上記の資料は、WeChat Pay 開発者プラットフォームに申請することで取得できます。

2. EasyWeChat をインストールする
EasyWeChat は、WeChat 公式アカウントやミニ プログラムと対話するプロセスを簡素化できる PHP ベースの WeChat 開発ツールキットです。 Composer を使用して EasyWeChat をインストールし、次のコマンドを実行します:

composer require overtrue/wechat

3. EasyWeChat を構成する
インストールが完了したら、プロジェクトに新しいファイル config.php を作成し、次に従って EasyWeChat を構成します。例:

<?php

return [
    'payment' => [
        'sandbox'    => false,
        'app_id'     => 'YOUR_APPID',
        'mch_id'     => 'YOUR_MCHID',
        'key'        => 'YOUR_KEY',
        'cert_path'  => 'CERT_PATH',
        'key_path'   => 'KEY_PATH',
    ],
];

YOUR_APPID、YOUR_MCHID、YOUR_KEY を実際の値に置き換えます。 CERT_PATH と KEY_PATH は、証明書ファイルへのパスです。

4. 支払い関数の実装
EasyWeChat を使用して WeChat アプレット支払いクラスをカプセル化すると、支払い関数を簡単に実装できます。これは、以下の手順に従って行うことで実現できます。

  1. 支払いリクエストの受信
    アプレットで、ユーザーが支払いボタンをクリックすると、支払いリクエストがサーバーに送信されます。支払いリクエストを受信するためのインターフェイスを作成し、このインターフェイスの URL をミニ プログラムのバックグラウンドに設定する必要があります。
  2. 支払いリクエストの処理
    支払いリクエストを受信した後、次のコードを使用して支払いリクエストを処理し、ミニ プログラムが WeChat 支払いを呼び出すために前払い情報をミニ プログラムに返すことができます。支払いを開始するインターフェース:

    <?php
    require 'vendor/autoload.php';
    $config = require 'config.php';
    
    use EasyWeChatFactory;
    
    $options = [
     // ...
    ];
    
    $app = Factory::miniProgram($options);
    
    $response = $app->payment->prepare([
     'openid' => 'USER_OPENID',
     'out_trade_no' => 'YOUR_ORDER_ID',
     'total_fee' => 'ORDER_TOTAL_FEE',
     'body' => 'PAYMENT_DESCRIPTION',
     'spbill_create_ip' => $_SERVER['REMOTE_ADDR'],
     // ... 可选参数
    ]);
    
    if ($response->return_code === 'SUCCESS' && $response->result_code === 'SUCCESS') {
     // 返回预支付信息给小程序
     echo json_encode($app->payment->configForPayment($response->prepay_id));
    }

    USER_OPENID、YOUR_ORDER_ID、ORDER_TOTAL_FEE、PAYMENT_DESCRIPTION を実際の値に置き換えます。

  3. 支払いコールバックの処理
    ユーザーが支払いを完了すると、WeChat はサーバーに非同期でコールバックします。成功した支払いのコールバックを処理し、対応する処理を実行するインターフェイスを作成する必要があります。事務処理です。サンプル コードは次のとおりです。

    <?php
    use EasyWeChatPaymentNotify;
    
    $options = [
     // ...
    ];
    
    $app = Factory::miniProgram($options);
    
    $payment = $app->payment;
    $notice = $payment->notify();
    
    $notice->setAttr('sub_appid', 'SUB_APPID');
    
    $notice->handle(function ($notify, $successful) {
     // 处理支付成功的业务逻辑
     $outTradeNo = $notify->out_trade_no;
     // ...
    
     return true; // 返回 true 表示已处理完成,不会再异步通知
    });
    
    $response = $notice->reply();
    
    $response->send();

    SUB_APPID をアプレットのアプリ ID に置き換えます。

これまでに、WeChat ミニプログラムの支払い機能の開発が完了しました。 EasyWeChat のパッケージ化により、決済機能を簡単に実装できるため、開発プロセスが大幅に簡素化されます。この記事が、WeChat ミニプログラムの決済機能を開発されている方のお役に立てれば幸いです。

以上がPHPとEasyWeChat:WeChatミニプログラム決済機能の実践開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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