Maison  >  Article  >  développement back-end  >  Analyse de l'idée du diagramme de flux de paiement PHP WeChat

Analyse de l'idée du diagramme de flux de paiement PHP WeChat

PHPz
PHPzoriginal
2023-04-12 13:53:13928parcourir

Avec la popularité du paiement mobile, le paiement WeChat, en tant que moyen de paiement tiers le plus populaire du marché, est devenu de plus en plus courant dans notre vie quotidienne. Dans le domaine du commerce électronique en particulier, le taux d'utilisation du paiement WeChat a considérablement augmenté et il est devenu un moyen de paiement indispensable pour de nombreux commerçants. Cet article présentera le processus de base et les principes techniques du paiement WeChat pour aider les développeurs PHP à mieux comprendre et appliquer le paiement WeChat. Jetons d’abord un coup d’œil au processus de base du paiement WeChat.

Processus de base du paiement WeChat

Le processus de base du paiement WeChat peut être divisé en quatre étapes : l'utilisateur passe une commande sur l'APP ou la page H5 du commerçant, le commerçant appelle l'API de paiement WeChat pour payer, WeChat renvoie les résultats de la transaction. , et le commerçant reçoit la notification de paiement.

Plus précisément, lorsqu'un utilisateur passe une commande sur une application marchande ou une page H5, le commerçant doit transmettre les informations de commande à la plateforme de paiement WeChat et, après traitement du paiement par la plateforme de paiement WeChat, renvoyer le résultat du paiement. Lorsque le résultat du paiement est renvoyé, le commerçant effectue un traitement commercial correspondant sur la base du résultat de la transaction et affiche le résultat de la transaction à l'utilisateur.

Organigramme de paiement WeChat :

  1. L'utilisateur sélectionne le produit et soumet la commande ;
  2. Le système du commerçant reçoit la demande de commande de l'utilisateur et appelle l'API de paiement WeChat pour soumettre la demande de transaction ;
  3. Après avoir reçu la demande du commerçant, la plateforme de paiement WeChat vérifie l'identité de l'utilisateur et le montant du paiement, lance une demande de paiement de commande à l'utilisateur.
  4. L'utilisateur confirme le paiement et saisit le mot de passe de paiement
  5. La plateforme de paiement WeChat renverra le résultat du paiement au système marchand et informera l'utilisateur que le paiement a réussi.

Principe de la technologie de paiement WeChat

Le principe de la technologie de paiement WeChat se compose principalement de trois parties : l'API de paiement WeChat, la plateforme de paiement WeChat et le système marchand. Jetons d'abord un coup d'œil à l'API de paiement WeChat.

API de paiement WeChat

Lorsque le système marchand lance une demande de paiement via WeChat Pay, il doit envoyer la demande de paiement à la plateforme de paiement WeChat via l'API de paiement WeChat. L'API de paiement WeChat est un ensemble d'interfaces RESTful hautement lisibles et faciles à utiliser. Elle comprend principalement des interfaces telles que la passation de commande unifiée, la requête de commande, la clôture de commande, la demande de remboursement et la demande de remboursement. Ci-dessous, nous présentons principalement l'utilisation de l'interface de commande unifiée.

Étapes d'utilisation de l'interface de commande unifiée

  1. Obtenez le numéro de commande prépayée
    Dans le système marchand, les développeurs soumettent des demandes de paiement à la plateforme de paiement WeChat en appelant l'interface de commande unifiée de l'API de paiement WeChat. Après réception de la demande, la plateforme de paiement WeChat vérifie les informations de commande soumises par le commerçant, puis renvoie un numéro de commande de prépaiement pour identifier de manière unique la commande. Le développeur doit enregistrer le numéro d'ordre de paiement anticipé et l'utiliser comme paramètre important dans le processus de paiement ultérieur.

Exemple d'appel de l'interface de commande unifiée :

<?php
require_once "WxPay.Api.php";

$input = new WxPayUnifiedOrder();
$input->SetBody("test");
$input->SetOut_trade_no(WxPayConfig::MCHID . date("YmdHis"));
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetNotify_url("http://www.example.com/wxpay/notify.php");
$input->SetTrade_type("APP");
$order = WxPayApi::unifiedOrder($input);
print_r($order);
?>
  1. Obtention des paramètres de paiement
    Après avoir reçu le numéro de commande de prépaiement renvoyé par la plateforme de paiement WeChat, le système marchand doit appeler à nouveau l'interface de commande unifiée de l'API de paiement WeChat pour obtenir les paramètres de paiement. Les paramètres de paiement incluent l'APPID, l'horodatage, la chaîne aléatoire, la méthode de signature, la signature de paiement, etc. La signature de paiement est le résultat du cryptage par le système marchand ou un agent de paiement tiers des paramètres de paiement, qui identifie de manière unique la transaction. Le système marchand doit enregistrer ces paramètres de paiement et les renvoyer au terminal mobile, qui appelle le SDK WeChat pour terminer le processus de paiement.

Exemple d'appel d'interface de commande unifiée :

$parameters = [
    'appid' => $app_id,
    'partnerid' => $mch_id,
    'prepayid' => $prepay_id,
    'package' => 'Sign=WXPay',
    'noncestr' => $nonce_str,
    'timestamp' => $timestamp,
];
ksort($parameters);
$string = '';
foreach ($parameters as $key => $value) {
    $string .= $key . '=' . $value . '&';
}
$string .= 'key=' . $key;
$parameters['sign'] = strtoupper(md5($string));

Plateforme de paiement WeChat

La plateforme de paiement WeChat est une plateforme de services de paiement de WeChat, qui est principalement composée de modules de paiement, de règlement, de compensation et autres. Le module de paiement est responsable de la réception et du traitement des demandes de paiement émises par les commerçants, ainsi que de la réception et du traitement des notifications de résultat de paiement ; le module de règlement est responsable du règlement des commerçants, y compris les demandes de règlement des commerçants, la configuration de la stratégie de règlement et la génération de listes de règlement, etc. ; le module de liquidation est responsable de la liquidation et de la gestion régulières des affaires financières de chaque module fonctionnel de la plateforme de paiement WeChat.

Système marchand

Le système marchand est le client du paiement WeChat, chargé de recevoir et de traiter diverses demandes de paiement initiées par la plateforme de paiement WeChat, et d'effectuer les opérations de paiement correspondantes. Le système marchand mentionné dans cet article fait principalement référence au système marchand PHP, qui transfère les informations de commande, obtient les numéros de commande de prépaiement, obtient les paramètres de paiement et d'autres opérations de paiement de base en appelant l'API de paiement WeChat.

Résumé

Avec la popularité et la promotion de WeChat Pay sur le marché intérieur, ses principes techniques et ses méthodes d'utilisation sont devenus de plus en plus matures. Les développeurs doivent comprendre les principes de base et l'utilisation de WeChat Pay afin de mieux appliquer la technologie WeChat Pay pour répondre aux besoins de paiement des utilisateurs. Cet article présente principalement le processus de base et les principes techniques du paiement WeChat, dans l'espoir d'être utile aux développeurs PHP.

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