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 programme WeChat Mini

王林
王林original
2023-07-19 09:15:181708parcourir

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 :

  1. Numéro du commerçant de paiement WeChat (mch_id)
  2. Clé du commerçant de paiement WeChat (clé)
  3. ID d'application de paiement WeChat (appid) et secret d'application ( appsecret)
  4. Un dossier de certificat légal
    Les documents ci-dessus peuvent être obtenus en postulant sur la plateforme de développement WeChat Pay.

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.

  1. Recevoir une demande de paiement
    Dans votre mini programme, après que l'utilisateur ait cliqué sur le bouton de paiement, une demande de paiement sera envoyée au serveur. Vous devez écrire une interface de réception des demandes de paiement et configurer l'URL de cette interface en arrière-plan du mini programme.
  2. 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.

  3. 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn