Maison > Article > développement back-end > PHP et EasyWeChat : développement pratique de la fonction de paiement du programme WeChat Mini
PHP et EasyWeChat : Développement pratique de la fonction de paiement du mini-programme WeChat
Le paiement WeChat est l'une des méthodes de paiement mobile les plus couramment utilisées, et le mini-programme WeChat est devenu la plateforme choisie par de plus en plus d'entreprises et de développeurs. L'intégration de fonctions de paiement dans les mini-programmes WeChat peut apporter davantage d'opportunités commerciales et de commodité aux entreprises. Cet article explique comment utiliser PHP et EasyWeChat pour développer la fonction de paiement du mini-programme WeChat.
1. Préparation
Avant de commencer le développement, nous devons préparer le matériel suivant :
2. Installez EasyWeChat
EasyWeChat est une boîte à outils de développement WeChat basée sur PHP qui peut simplifier le processus d'interaction avec les comptes officiels et les mini-programmes WeChat. Nous pouvons utiliser Composer pour installer EasyWeChat et exécuter la commande suivante :
composer require overtrue/wechat
3. Configurez EasyWeChat
Une fois l'installation terminée, créez un nouveau fichier config.php dans votre projet et configurez EasyWeChat selon l'exemple suivant :
<?php return [ 'payment' => [ 'sandbox' => false, 'app_id' => 'YOUR_APPID', 'mch_id' => 'YOUR_MCHID', 'key' => 'YOUR_KEY', 'cert_path' => 'CERT_PATH', 'key_path' => 'KEY_PATH', ], ];
Change. YOUR_APPID et YOUR_MCHID , YOUR_KEY remplacé par votre valeur réelle. CERT_PATH et KEY_PATH sont les chemins d'accès à vos fichiers de certificat.
4. Implémenter la fonction de paiement
En utilisant EasyWeChat pour nous aider à encapsuler la classe de paiement de l'applet WeChat, nous pouvons facilement implémenter la fonction de paiement. Ceci peut être réalisé en suivant les étapes ci-dessous.
Traitement de la demande de paiement
Après avoir reçu la demande de paiement, nous pouvons utiliser le code suivant pour traiter la demande de paiement et renvoyer des informations de prépaiement au mini programme pour que le mini programme appelle l'interface de paiement WeChat pour lancer le paiement :
<?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)); }
Les modifications USER_OPENID et YOUR_ORDER_ID , ORDER_TOTAL_FEE et PAYMENT_DESCRIPTION sont remplacées par les valeurs réelles.
Traitement des rappels de paiement
Une fois que l'utilisateur a terminé le paiement, WeChat rappellera notre serveur de manière asynchrone. Nous devons écrire une interface pour gérer le rappel d'un paiement réussi et effectuer le traitement commercial correspondant. Voici l'exemple de code :
<?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();
Remplacez SUB_APPID par l'ID d'application de votre mini programme.
À ce stade, nous avons terminé le développement de la fonction de paiement du mini programme WeChat. Grâce au packaging d'EasyWeChat, nous pouvons facilement implémenter la fonction de paiement, ce qui simplifie grandement le processus de développement. J'espère que cet article vous sera utile qui développe la fonction de paiement du mini-programme WeChat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!