Maison > Article > Applet WeChat > Explication détaillée des étapes clés du bac à sable pour le développement des paiements WeChat
1. Système de test de simulation
Afin d'abaisser le seuil de test pour les commerçants, l'équipe de paiement WeChat a développé un système de test de simulation indépendant. Le système renvoie différents messages de réponse en fonction de l'ampleur du cas d'utilisation d'acceptation afin de répondre aux besoins du commerçant en matière de tests de fonctionnement normal, de tests de sécurité/d'anomalies et de tests de performances.
Figure 1 Système de test de simulation de paiement WeChat
La figure 1 est un diagramme schématique simplifié du système de test de simulation de paiement WeChat (ci-après dénommé le système de simulation ). Le protocole API du système de simulation est exactement le même que l'API officielle. Les développeurs marchands n'ont qu'à ajouter un nouveau chemin sandbox à l'URL officielle de l'appel API pour se connecter au système de simulation.
Par exemple, l'URL de paiement par carte de crédit : api.mch.weixin.qq.com/pay/micropay
devient : api.mch.weixin.qq.com/sandboxnew/pay /micropaiement.
Le système de simulation est totalement indépendant de l'environnement de production, y compris de la couche de stockage. Toutes les transactions effectuées par les commerçants dans le système de simulation (telles que les commandes, les paiements, les requêtes) sont de fausses données sans flux de fonds, c'est-à-dire que les utilisateurs n'ont pas besoin de déduire de l'argent et les commerçants ne verront pas de fonds crédités. à leur compte. Il en va de même pour les bons. Dans l’environnement sandbox, les commerçants n’ont pas besoin de créer et d’émettre des bons, et il n’y aura pas de véritables déductions. La clé de vérification API pour le système de test de simulation d'acceptation doit être obtenue à partir de l'API :
Obtenir la clé de vérification API :
请求Url | api.mch.weixin.qq.com/sandboxnew/pay/getsignkey |
---|---|
是否需要证书 | 否 |
请求方式 | POST |
请求参数:
字段名 | 字段 | 必填 | 示例值 | 类型 | 说明 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
商户号 | mch_id | 是 | 1305638280 | String(32) | 微信支付分配的微信商户号 | ||||||||||||||||||||||||
随机字符串
|
nonce_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 随机字符串,不长于32位 | ||||||||||||||||||||||||
签名 | sign | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 签名值 |
Paramètres de retour :
字段名 | 字段 | 必填 | 示例值 | 类型 | 说明 |
---|---|---|---|---|---|
返回状态码 | return_code | 是 | SUCCESS | String(16) | SUCCESS/FAIL 此字段是通信标识,非交易标识 |
返回信息 | return_msg | 否 | 签名失败 | String(128) | 返回信息,如非空,为错误原因 ,签名失败 ,参数格式校验错误 |
Les champs suivants sont renvoyés lorsque return_code est SUCCESS.
字段名 | 字段 | 必填 | 示例值 | 类型 | 说明 |
---|---|---|---|---|---|
商户号 | mch_id | 是 | 1305638280 | String(32) | 微信支付分配的微信商户号 |
沙箱密钥 | sandbox_signkey | 否 | 013467007045764 | String(32) | 返回的沙箱密钥 |
Exemple de processus d'interaction permettant aux commerçants d'accéder au système de simulation :
1. Le commerçant initie une demande de paiement par carte et utilise la méthode POST pour appeler api.mch.weixin.qq.com/sandboxnew/pay/micropay 2. Les requêtes https avec
sandboxnew seront acheminées par nginx vers le système de simulation. Le système de simulation renvoie le message attendu au commerçant en fonction du montant du paiement (champ total_fee). En même temps, les données de la demande sont reçues ; 3. Le commerçant lance une requête de commande, en appelant api.mch.weixin.qq.com/
sandboxnew/pay/orderquery et en apportant la commande WeChat. numéro (transaction_id) ou numéro de commande interne du commerçant (out_trade_no) ; 4. Après avoir reçu la demande de demande de commande, le système de simulation renvoie le résultat de la demande de commande attendu au commerçant en fonction du numéro de commande et du montant
5. Le commerçant télécharge le relevé et appelle api.mch .weixin.qq.com/
sandboxnew/pay/downloadbill, le système de simulation renvoie un format de facture fixe au commerçant. Remarque : Le contenu de la facture n'est pas nécessairement exactement le même que la transaction générée par le commerçant dans le système de simulation.
interface, qui peut être implémentée avec quelques lignes de code
//1.5 沙箱密钥$obj = array();$obj['mch_id'] = MCHID;$url = 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey';$wxHongBaoHelper = new WxPay();$data = $wxHongBaoHelper->wxpay($url, $obj, false);$res = $wxHongBaoHelper->xmlToArray($data);Les résultats de retour sont les suivants
array(3) { ["return_code"]=> string(7) "SUCCESS" ["return_msg"]=> string(2) "ok" ["sandbox_signkey"]=> string(32) "4d827419cb511d8f6ccc35d574ff1f7b"}Système de test de simulationAfin d'abaisser le seuil de test des commerçants, l'équipe de paiement WeChat a développé un système de test de simulation indépendant. Le système renvoie différents messages de réponse en fonction de l'ampleur du cas d'utilisation d'acceptation afin de répondre aux besoins du commerçant en matière de tests de fonctionnement normal, de tests de sécurité/d'anomalies et de tests de performances. [Recommandations associées]1.
Téléchargement du code source de la plateforme de compte public WeChat
2.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!