Maison  >  Article  >  développement back-end  >  Comment développer le paiement WeChat en PHP ?

Comment développer le paiement WeChat en PHP ?

王林
王林original
2023-05-12 08:39:211256parcourir

Avec la popularité des smartphones, le paiement mobile est devenu un outil essentiel dans la vie des gens. En tant que l'un des représentants, WeChat Pay possède une base d'utilisateurs et une part de marché importantes sur le marché intérieur. Par conséquent, le développement des paiements WeChat est devenu de plus en plus important pour certains développeurs souhaitant développer des applications de commerce électronique ou mobiles.

Cet article présentera principalement comment développer le paiement WeChat en PHP.

  1. Préparation

Avant d'utiliser WeChat Pay, nous devons créer un compte sur le site officiel de WeChat Pay et obtenir les informations nécessaires telles que l'identifiant de développeur, le numéro de commerçant, la clé API, etc. Dans le même temps, il est nécessaire de s'assurer que le compte marchand a ouvert avec succès le service de paiement WeChat, soumis les documents d'évaluation pertinents et réussi la certification de paiement WeChat.

  1. SDK intégré

WeChat Pay fournit de nombreux SDK pour le développement dans différentes langues, que nous pouvons télécharger directement depuis le site officiel et intégrer dans nos projets. Ici, nous prenons le langage PHP comme exemple pour présenter comment intégrer le SDK de paiement WeChat.

(1) Téléchargez le SDK de paiement WeChat

Nous pouvons télécharger la version PHP du SDK sur le site officiel et la décompresser pour obtenir le répertoire « lib » après le téléchargement. Le fichier "lib/WxPay.Api.php" est le fichier principal du SDK.

(2) Créer un fichier de paiement

Afin de faciliter l'utilisation du SDK, nous pouvons créer nous-mêmes un nouveau fichier "pay.php" pour traiter la logique liée au paiement WeChat. Dans ce fichier, nous devons référencer et initialiser les paramètres pertinents du SDK ci-dessus. Avant de faire cela, nous devons prêter attention aux points suivants :

—— Application de compte public, qui peut être obtenue via le site officiel de WeChat. Payer ;
—— Numéro de commerçant, qui peut être obtenu via le site officiel de WeChat Pay ;
—— Définissez la clé API, qui peut être obtenue via le site officiel de WeChat Pay ;
—— Définissez les paramètres nécessaires tels que la commande ; numéro de transaction, montant de la transaction de commande

Ensuite, nous pouvons utiliser le code suivant pour effectuer l'initialisation du SDK :

<?php
include_once "WxPay.Api.php";
include_once "WxPay.Data.php";

// 初始化SDK信息
WxPayConfig::$APPID = '您的公众账号APPID';
WxPayConfig::$MCHID = '您的商户号';
WxPayConfig::$KEY = '您的API密钥';

// 设置订单交易号、订单交易金额等必要的参数
$out_trade_no = '您的订单交易号';
$total_fee = '您的订单交易金额';

// ...
?>

(3) Générer une signature

Avant d'effectuer des transactions de paiement WeChat, nous devons générer une signature. Le code pour générer la signature est le suivant :

<?php
// 创建订单支付对象
$input = new WxPayUnifiedOrder();
$input->SetBody("test");                                       // 商品描述
$input->SetAttach("test");                                     // 附加数据
$input->SetOut_trade_no($out_trade_no);                        // 商户订单号
$input->SetTotal_fee($total_fee);                              // 标价金额
$input->SetTime_start(date("YmdHis"));                         // 交易起始时间
$input->SetTime_expire(date("YmdHis", time() + 60 * 5));        // 交易结束时间
$input->SetGoods_tag("test");                                  // 订单优惠标记
$input->SetNotify_url("http://localhost/pay/callback.php");    // 通知地址
$input->SetTrade_type("JSAPI");                                 // 交易类型
$input->SetOpenid("用户的openid");                              // 用户标识

// 生成签名
$order = WxPayApi::unifiedOrder($input);
$jsApiParameters = $tools->GetJsApiParameters($order);
?>

(4) Paiement JSAPI

Enfin, nous pouvons appeler la page de paiement WeChat via JSAPI pour implémenter la tâche de paiement WeChat. Le code est le suivant :

<input type="button" value="微信支付" onclick="callpay()" />
<script type="text/javascript">

// JSAPI调起微信支付
function callpay()
{
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        <?php echo $jsApiParameters; ?>,
        function(res){
            WeixinJSBridge.log(res.err_msg);
            if(res.err_msg == "get_brand_wcpay_request:ok" ){
                alert('支付成功');
            }else{
                alert('支付失败:' + res.err_msg);
            }
        }
    );
}
</script>
  1. Résumé

Ce qui précède est une introduction détaillée sur la façon de développer le paiement WeChat en PHP. Grâce aux étapes ci-dessus, nous pouvons rapidement mettre en œuvre la fonction de paiement WeChat et améliorer l'expérience utilisateur du site Web ou de l'application mobile. Bien entendu, en fonction de la situation spécifique, des questions connexes telles que la sécurité pendant le processus de paiement doivent également être prises en compte.

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