Méthode d'implémentation PHP liée au paiement du mini-programme WeChat

WBOY
Libérer: 2023-05-31 21:12:02
original
2841 Les gens l'ont consulté

Avec l'utilisation généralisée des mini-programmes WeChat, le paiement par mini-programme WeChat est devenu un moyen de paiement nécessaire pour de plus en plus de commerçants. Afin de faciliter l'accès des commerçants à la fonction de paiement de l'applet WeChat, cet article présentera une méthode d'implémentation basée sur PHP.

1. Préparation
Avant d'accéder au paiement du mini programme WeChat, vous devez préparer les étapes suivantes :

1.1 Obtenir le numéro de commerçant et l'API du paiement WeChat La clé #🎜 🎜Le numéro de commerçant est l'identifiant unique appliqué par le commerçant sur la plateforme de paiement WeChat. La clé API est la clé de paiement générée lors de la demande du commerçant et est utilisée pour la vérification de la signature.
1.2 Configurer le certificat de paiement WeChat
Le commerçant doit placer le certificat de paiement WeChat dans le répertoire de sécurité du serveur et fournir le chemin du certificat.
1.3 Créer un serveur HTTPS
WeChat Pay exige que les commerçants utilisent le protocole HTTPS pour la transmission des données, un certificat HTTPS doit donc être configuré sur le serveur.

2. Processus de paiement du mini-programme WeChat

Le processus de paiement du mini-programme WeChat comprend généralement les étapes suivantes :

2.1 Les utilisateurs passent des commandes

Les utilisateurs passent des commandes via le mini programme Le programme sélectionne les produits et passe une commande, et le mini programme envoie les informations de commande au serveur marchand pour traitement.
2.2 Commande du serveur marchand
Après avoir reçu la demande de commande de l'utilisateur, le serveur marchand génère une commande prépayée et la renvoie au mini programme.
2.3 Le mini programme active le paiement
Après réception de l'ordre de prépaiement, le mini programme active la fonction de paiement via l'API de paiement WeChat.
2.4 Notification du résultat du paiement
Une fois le paiement terminé, le serveur WeChat informera le serveur marchand du résultat du paiement et le serveur marchand enverra une réponse au serveur WeChat après avoir traité la commande.

3.Méthode d'implémentation PHP

Ce qui suit est la méthode d'implémentation de paiement de l'applet WeChat basée sur PHP :

3.1 Commandes du serveur marchand

Le serveur marchand reçoit après l'utilisateur passe une demande de commande, il doit générer une commande de prépaiement et renvoyer les informations de commande de prépaiement au mini-programme. Voici l'implémentation du code PHP pour passer une commande :

<?php
public function unifiedOrder($data)
{
    $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
    $data['appid'] = $this->appId;
    $data['mch_id'] = $this->mchId;
    $data['nonce_str'] = $this->getNonceStr();
    $data['notify_url'] = $this->notifyUrl;
    $data['trade_type'] = 'JSAPI';
    $data['openid'] = $openid;
    $data['spbill_create_ip'] = $_SERVER['REMOTE_ADDR'];
    $data['sign'] = $this->sign($data);

    $xml = $this->arrayToXml($data);
    $response = $this->postXmlCurl($xml, $url);
    $result = $this->xmlToArray($response);
    return $result;
}
Copier après la connexion

3.2 Le mini-programme appelle le paiement

Une fois que le mini-programme a reçu la commande de prépaiement, il doit appeler l'API de paiement WeChat pour paiement. Voici l'implémentation du code PHP de l'appel de paiement :

<?php
public function getPayParams($prepayId)
{
    $data['appId'] = $this->appId;
    $data['timeStamp'] = time();
    $data['nonceStr'] = $this->getNonceStr();
    $data['package'] = 'prepay_id=' . $prepayId;
    $data['signType'] = 'MD5';
    $data['paySign'] = $this->sign($data);

    return $data;
}
Copier après la connexion

3.3 Notification du résultat du paiement

Une fois le paiement WeChat terminé, le serveur WeChat informera le serveur marchand du résultat du paiement. Voici l'implémentation du code PHP de la notification du résultat du paiement :

<?php
public function notify()
{
    $xml = file_get_contents("php://input");
    $data = $this->xmlToArray($xml);

    if ($this->checkSign($data)) {
        //处理支付结果
        $orderNo = $data['out_trade_no'];
        $transactionId = $data['transaction_id'];
        //返回成功信息
        return $this->arrayToXml(['return_code' => 'SUCCESS', 'return_msg' => 'OK']);
    } else {
        return $this->arrayToXml(['return_code' => 'FAIL', 'return_msg' => '签名验证失败']);
    }
}
Copier après la connexion

4 Résumé

Grâce à la mise en œuvre des étapes ci-dessus, nous pouvons facilement accéder à la fonction de paiement du mini programme WeChat pour offrir plus de commodité. pour les utilisateurs du mini programme, mode de paiement. Il convient de noter que la sécurité et l’exactitude des données doivent être garanties pendant le processus de paiement, tandis que les risques potentiels liés au paiement doivent être évités.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal