Table des matières
Avant-propos
Mise en œuvre du processus
1. Autorisation OAuth2.0
2 Paiement unifié
3 Paiement API JS
Maison Applet WeChat Développement WeChat Explication détaillée des exemples de paiement API JS développés par WeChat

Explication détaillée des exemples de paiement API JS développés par WeChat

May 03, 2017 am 11:08 AM

Mots clés : Paiement WeChat Paiement WeChat v3 Paiement jsapi Paiement unifié Paiement natif prepay_id

Cet article présente le processus de mise en œuvre de jsapi sous le paiement WeChat

Avant-propos

WeChat Le paiement est désormais divisé en version v2 et version v3. Ceux qui ont postulé avant le 10 septembre 2014 seront en version v2, et ceux qui ont postulé après cela seront en version v3. La version V3 de WeChat Pay n'a pas le paramètre paySignKey. Pour une introduction pertinente à la v2, veuillez vous référer à d'autres articles de Fangbei Studio. Cet article présente WeChat Pay v3.

Mise en œuvre du processus

1. Autorisation OAuth2.0

JSAPI doit appeler l'interface d'autorisation de connexion pour obtenir l'Openid de l'utilisateur avant le paiement. Par conséquent, l’autorisation doit être effectuée une seule fois et la boîte de confirmation n’apparaîtra pas pour cette autorisation.
L'essence est de passer à

http://www.fangbei.org/wxpay/js_api_call.php
Copier après la connexion

lorsque l'utilisateur accède à

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8888888888888888&redirect_uri=http://www.fangbei.org/wxpay/js_api_call.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
Copier après la connexion

pour obtenir le paramètre de code et obtenir l'autorisation access_token et openid en fonction du code

Pour le processus détaillé de sa mise en œuvre, veuillez vous référer à WeChat Public Platform Development (71) OAuth2.0 Web Authorization

Dans la démo de WeChat Pay, le code est

 1 //使用jsapi接口 2 $jsApi = new JsApi_pub(); 3  4 //=========步骤1:网页授权获取用户openid============ 5 //通过code获得openid 6 if (!isset($_GET['code'])) 7 { 8     //触发微信返回code码 9     $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);10     Header("Location: $url"); 
11 }else12 {13     //获取code码,以获取openid14     $code = $_GET['code'];15     $jsApi->setCode($code);16     $openid = $jsApi->getOpenId();17 }
Copier après la connexion

pour cette étape Le résultat final est d'obtenir l'openid de l'utilisateur actuel

ou9dHt0L8qFLI1foP-kj5x1mDWsM
Copier après la connexion

2 Paiement unifié

Le paiement unifié consiste à générer des ordres de paiement sous différents scénarios de paiement de JSAPI/NATIVE. /APP et renvoie l'interface du numéro de commande de pré-paiement, actuellement tous les scénarios de paiement WeChat utilisent cette interface
Dans le paiement unifié, les paramètres suivants sont obtenus à partir de la configuration, ou générés automatiquement par la classe, et n'ont pas besoin d'être renseignés par l'utilisateur

$this->parameters["appid"] = WxPayConf_pub::APPID;//公众账号ID$this->parameters["mch_id"] = WxPayConf_pub::MCHID;//商户号$this->parameters["spbill_create_ip"] = $_SERVER['REMOTE_ADDR'];//终端ip        $this->parameters["nonce_str"] = $this->createNoncestr();//随机字符串$this->parameters["sign"] = $this->getSign($this->parameters);//签名
Copier après la connexion

Dans le paiement JSAPI, De plus, renseignez les paramètres suivants

//统一支付接口中,trade_type为JSAPI时,openid为必填参数!$unifiedOrder->setParameter("openid","$openid");//商品描述$unifiedOrder->setParameter("body","方倍工作室");//商品描述
//自定义订单号,此处仅作举例$timeStamp = time();$out_trade_no = WxPayConf_pub::APPID."$timeStamp";$unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商户订单号 $unifiedOrder->setParameter("total_fee","1");//总金额$unifiedOrder->setParameter("notify_url",WxPayConf_pub::NOTIFY_URL);//通知地址 $unifiedOrder->setParameter("trade_type","JSAPI");//交易类型
Copier après la connexion

Les autres sont des paramètres facultatifs

//非必填参数,商户可根据实际情况选填
//$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号  
//$unifiedOrder->setParameter("device_info","XXXX");//设备号 
//$unifiedOrder->setParameter("attach","XXXX");//附加数据 
//$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
//$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间 
//$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记 
//$unifiedOrder->setParameter("openid","XXXX");//用户标识
//$unifiedOrder->setParameter("product_id","XXXX");//商品ID
Copier après la connexion

Ces paramètres enfin former de telles données XML,

<xml>
  <openid><![CDATA[ou9dHt0L8qFLI1foP-kj5x1mDWsM]]></openid>
  <body><![CDATA[方倍工作室]]></body>
  <out_trade_no><![CDATA[wx88888888888888881414411779]]></out_trade_no>
  <total_fee>1</total_fee>
  <notify_url><![CDATA[http://www.fangbei.org/wxpay/notify_url.php]]></notify_url>
  <trade_type><![CDATA[JSAPI]]></trade_type>
  <appid><![CDATA[wx8888888888888888]]></appid>
  <mch_id>10012345</mch_id>
  <spbill_create_ip><![CDATA[61.50.221.43]]></spbill_create_ip>
  <nonce_str><![CDATA[60uf9sh6nmppr9azveb2bn7arhy79izk]]></nonce_str>
  <sign><![CDATA[2D8A96553672D56BB2908CE4B0A23D0F]]></sign></xml>
Copier après la connexion

Soumettre ces données Les données suivantes seront renvoyées à l'interface de paiement unifiée

https://api.mch.weixin.qq.com/pay/unifiedorder
Copier après la connexion

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>  
  <return_msg><![CDATA[OK]]></return_msg>  
  <appid><![CDATA[wx8888888888888888]]></appid>  
  <mch_id><![CDATA[10012345]]></mch_id>  
  <nonce_str><![CDATA[Be8YX7gjCdtCT7cr]]></nonce_str>  
  <sign><![CDATA[885B6D84635AE6C020EF753A00C8EEDB]]></sign>  
  <result_code><![CDATA[SUCCESS]]></result_code>  
  <prepay_id><![CDATA[wx201410272009395522657a690389285100]]></prepay_id>  
  <trade_type><![CDATA[JSAPI]]></trade_type> </xml>
Copier après la connexion

, qui contient le Paramètre d'ID de prépaiement le plus important, prepay_id, avec une valeur de

wx201410272009395522657a690389285100
Copier après la connexion

3 Paiement API JS

Une fois les préparations précédentes terminées, l'API JS génère des paramètres de paiement jsapi basés sur prepay_id<. 🎜>Le code généré est le suivant

//=========步骤3:使用jsapi调起支付============$jsApi->setPrepayId($prepay_id);$jsApiParameters = $jsApi->getParameters();
Copier après la connexion
Les données json générées sont les suivantes

{
    "appId": "wx8888888888888888",
    "timeStamp": "1414411784",
    "nonceStr": "gbwr71b5no6q6ne18c8up1u7l7he2y75",
    "package": "prepay_id=wx201410272009395522657a690389285100",
    "signType": "MD5",
    "paySign": "9C6747193720F851EB876299D59F6C7D"
}
Copier après la connexion
Déboguer l'interface js dans le navigateur WeChat, le code est le suivant

<html><head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    <title>微信安全支付</title>
    <script type="text/javascript">
        //调用微信JS api 支付
        function jsApiCall()
        {
            WeixinJSBridge.invoke(                &#39;getBrandWCPayRequest&#39;,                <?php echo $jsApiParameters; ?>,                function(res){
                    WeixinJSBridge.log(res.err_msg);                    //alert(res.err_code+res.err_desc+res.err_msg);                }
            );
        }        function callpay()
        {            if (typeof WeixinJSBridge == "undefined"){                if( document.addEventListener ){
                    document.addEventListener(&#39;WeixinJSBridgeReady&#39;, jsApiCall, false);
                }else if (document.attachEvent){
                    document.attachEvent(&#39;WeixinJSBridgeReady&#39;, jsApiCall); 
                    document.attachEvent(&#39;onWeixinJSBridgeReady&#39;, jsApiCall);
                }
            }else{
                jsApiCall();
            }
        }    </script></head><body>
    </br></br></br></br>
    <p align="center">
        <button style="width:210px; height:30px; background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer;  color:white;  font-size:16px;" type="button" onclick="callpay()" >贡献一下</button>
    </p></body></html>
Copier après la connexion
Lorsque l'utilisateur clique sur le bouton « Contribuer », le plug-in de paiement WeChat apparaîtra et l'utilisateur peut commencer le paiement.

4. Notification de paiement

Une fois le paiement réussi, l'interface de notification recevra également une notification XML de paiement réussi

<xml>
  <appid><![CDATA[wx8888888888888888]]></appid>  
  <bank_type><![CDATA[CFT]]></bank_type>  
  <fee_type><![CDATA[CNY]]></fee_type>  
  <is_subscribe><![CDATA[Y]]></is_subscribe>  
  <mch_id><![CDATA[10012345]]></mch_id>  
  <nonce_str><![CDATA[60uf9sh6nmppr9azveb2bn7arhy79izk]]></nonce_str>  
  <openid><![CDATA[ou9dHt0L8qFLI1foP-kj5x1mDWsM]]></openid>  
  <out_trade_no><![CDATA[wx88888888888888881414411779]]></out_trade_no>  
  <result_code><![CDATA[SUCCESS]]></result_code>  
  <return_code><![CDATA[SUCCESS]]></return_code>  
  <sign><![CDATA[0C1D7F2534F1473247550A5A138F0CEB]]></sign>  
  <sub_mch_id><![CDATA[10012345]]></sub_mch_id>  
  <time_end><![CDATA[20141027200958]]></time_end>  
  <total_fee>1</total_fee>  
  <trade_type><![CDATA[JSAPI]]></trade_type>  
  <transaction_id><![CDATA[1002750185201410270005514026]]></transaction_id> </xml>
Copier après la connexion
Après réception de notification_url, revenez à confirmez le succès. Message au serveur 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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Si vous oubliez votre mot de passe de paiement WeChat, comment le récupérer ? Si vous oubliez votre mot de passe de paiement WeChat, comment le récupérer ? Feb 23, 2024 pm 09:40 PM

Dans WeChat, les utilisateurs peuvent saisir leur mot de passe de paiement pour effectuer des achats, mais comment récupérer leur mot de passe de paiement s’ils l’oublient ? Les utilisateurs doivent accéder à Mes-Services-Wallet-Paramètres de paiement-pour récupérer leur mot de passe de paiement s'ils l'oublient. Cette introduction sur la façon de récupérer votre mot de passe de paiement si vous l'oubliez vous indiquera la méthode de fonctionnement spécifique. Ce qui suit est une introduction détaillée, alors jetez-y un œil ! Tutoriel d'utilisation de WeChat. Comment trouver le mot de passe de paiement WeChat si vous l'oubliez ? Réponse : Mon-Service-Wallet-Paramètres de paiement-Mot de passe de paiement oublié Méthode spécifique : 1. Tout d'abord, cliquez sur Mon. 2. Cliquez sur le service à l'intérieur. 3. Cliquez sur le portefeuille à l'intérieur. 4. Recherchez les paramètres de paiement. 5. Cliquez sur Mot de passe de paiement oublié. 6. Entrez vos propres informations pour vérification. 7. Saisissez ensuite le nouveau mot de passe de paiement pour le modifier.

Comment configurer le paiement WeChat pour Meituan Takeout Comment configurer le paiement WeChat Comment configurer le paiement WeChat pour Meituan Takeout Comment configurer le paiement WeChat Mar 12, 2024 pm 10:34 PM

Il existe de nombreux magasins d'alimentation et de collations proposés dans l'application de plats à emporter Meituan, et tous les utilisateurs de téléphones mobiles se connectent via leur compte. Ajoutez votre adresse de livraison personnelle et votre numéro de contact pour profiter du service de plats à emporter le plus pratique. Ouvrez la page d'accueil du logiciel, saisissez les mots-clés des produits et effectuez une recherche en ligne pour trouver les résultats des produits correspondants. Faites simplement glisser votre doigt vers le haut ou vers le bas pour acheter et passer une commande. La plateforme recommandera également des dizaines de restaurants à proximité avec des avis élevés en fonction de l'adresse de livraison. fourni par l'utilisateur. Le magasin peut également mettre en place différents modes de paiement. Vous pouvez passer une commande en un seul clic pour finaliser la commande. Le coursier peut organiser la livraison immédiatement et la vitesse de livraison est également très rapide. différents montants à utiliser. L'éditeur est désormais en ligne en détail pour les utilisateurs de plats à emporter Meituan. Nous vous montrons comment configurer le paiement WeChat. 1. Après avoir sélectionné le produit, soumettez la commande et cliquez sur Maintenant.

Xianyu peut-il payer avec WeChat ? Comment passer au mode de paiement WeChat ? Xianyu peut-il payer avec WeChat ? Comment passer au mode de paiement WeChat ? Mar 12, 2024 pm 12:19 PM

Quand tout le monde n'a rien à faire, ils choisiront de parcourir la plateforme Xianyu. Tout le monde peut constater qu'il existe un grand nombre de produits sur cette plateforme, ce qui peut permettre à chacun de voir divers produits d'occasion, même si ces produits sont d'occasion. produits, il n'y a absolument aucun problème avec la qualité de ces produits, donc tout le monde peut les acheter en toute confiance. Les prix sont très abordables, et ils permettent toujours à tout le monde de se retrouver en face-à-face avec ces produits. communiquer et mener certaines opérations de négociation de prix. Tant que tout le monde négocie correctement, vous pouvez choisir d'effectuer des transactions, et lorsque tout le monde paie ici, il veut effectuer un paiement WeChat, mais il semble que la plateforme ne soit pas autorisée. pour voir quelle est la situation spécifique. Xianyu

Partager les étapes pour demander un remboursement avec WeChat Pay Partager les étapes pour demander un remboursement avec WeChat Pay Mar 25, 2024 pm 06:31 PM

1. Tout d'abord, nous devons ouvrir l'application WeChat sur le téléphone mobile, puis cliquer pour nous connecter au compte WeChat, afin d'accéder à la page d'accueil de WeChat. 2. Cliquez sur le bouton [Moi] dans le coin inférieur droit de la page d'accueil de WeChat, puis sélectionnez l'option [Paiement] Nous cliquons pour accéder à la page de paiement. 3. Après avoir accédé à la page [Paiement], cliquez sur l'option [Porte-monnaie] pour entrer, puis cliquez sur [Facture] dans le coin supérieur droit de la page [Porte-monnaie].

Comment payer avec WeChat sur Alibaba_Comment payer avec WeChat sur Alibaba 1688 Comment payer avec WeChat sur Alibaba_Comment payer avec WeChat sur Alibaba 1688 Mar 20, 2024 pm 05:51 PM

Alibaba 1688 est un site Web d'achat et de vente en gros, et les articles y sont beaucoup moins chers que Taobao. Alors, comment Alibaba utilise-t-il le paiement WeChat ? L'éditeur a compilé du contenu pertinent à partager avec vous. Les amis dans le besoin peuvent venir y jeter un œil. Comment Alibaba utilise-t-il WeChat pour payer ? Réponse : Le paiement WeChat ne peut pas être utilisé pour le moment ; allez dans [Alipay, paiement échelonné], caissier] peut être sélectionné ;

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Apr 03, 2024 am 11:55 AM

La technologie de détection et de reconnaissance des visages est déjà une technologie relativement mature et largement utilisée. Actuellement, le langage d'application Internet le plus utilisé est JS. La mise en œuvre de la détection et de la reconnaissance faciale sur le front-end Web présente des avantages et des inconvénients par rapport à la reconnaissance faciale back-end. Les avantages incluent la réduction de l'interaction réseau et de la reconnaissance en temps réel, ce qui réduit considérablement le temps d'attente des utilisateurs et améliore l'expérience utilisateur. Les inconvénients sont les suivants : il est limité par la taille du modèle et la précision est également limitée ; Comment utiliser js pour implémenter la détection de visage sur le web ? Afin de mettre en œuvre la reconnaissance faciale sur le Web, vous devez être familier avec les langages et technologies de programmation associés, tels que JavaScript, HTML, CSS, WebRTC, etc. Dans le même temps, vous devez également maîtriser les technologies pertinentes de vision par ordinateur et d’intelligence artificielle. Il convient de noter qu'en raison de la conception du côté Web

Comment configurer le paiement WeChat sur Didi Chuxing Comment configurer le paiement WeChat Comment configurer le paiement WeChat sur Didi Chuxing Comment configurer le paiement WeChat Mar 13, 2024 pm 01:22 PM

L'application Didi Chuxing offre plus de commodité pour les déplacements quotidiens de chacun. Vous pouvez aller où vous voulez et tous les véhicules Didi sont de garde. Vous n'avez plus besoin d'attendre anxieusement. Des dizaines d'enveloppes rouges de taxi sont disponibles gratuitement. Ouvrez la page d'accueil du logiciel, saisissez le point de départ et la destination en fonction de votre itinéraire personnel, et choisissez librement parmi les véhicules de différents prix ci-dessous. Passez une commande en un clic et publiez l'itinéraire. Les chauffeurs Didi recevront la commande en quelques secondes et arriveront. à l'endroit désigné le plus rapidement possible. Pour l'emplacement, vérifiez simplement votre numéro de téléphone portable avant de monter dans le bus. Bien sûr, il existe de nombreuses façons de payer le tarif, notamment WeChat et Alipay, mais tout le monde utilise généralement WeChat It. Il est facile de configurer le paiement en un seul clic. Désormais, l'éditeur est en ligne et paie soigneusement pour Didi un par un. Les utilisateurs de Travel apportent la méthode de configuration du paiement WeChat. 1. Nous sommes sur le téléphone portable

Comment activer WeChat Pay ? Paramètres d'activation de WeChat Pay Comment activer WeChat Pay ? Paramètres d'activation de WeChat Pay Mar 14, 2024 am 10:00 AM

WeChat est une application de messagerie instantanée lancée par Tencent. Elle prend en charge la messagerie et la réception multiplateformes et multi-opérateurs. Elle possède de riches fonctions, notamment la voix, le chat vidéo et le partage dans Moments. WeChat Pay est une fonction de paiement de WeChat Wallet, offrant aux utilisateurs une expérience de paiement plus pratique. Apprenons comment activer WeChat Pay. Comment activer WeChat Pay ? Paramètres d'activation de WeChat Pay 1. Ouvrez WeChat sur votre téléphone mobile, cliquez sur [Moi] dans le coin inférieur droit pour accéder à la page d'accueil personnelle, 2. Cliquez sur l'option [Service]. 3. Cliquez ensuite sur l'icône [Portefeuille]. 4. Dans la section [Wallet], cliquez sur [Split Payment] pour accéder à la page d'introduction. 5. Au bas de la page d'introduction au paiement, cliquez sur le bouton [Afficher ma limite de paiement]. 6. Lisez attentivement la distribution

See all articles