Inhaltsverzeichnis
Vorwort
Prozessimplementierung
1. OAuth2.0-Autorisierung
2. Einheitliche Zahlung
3. JS-API-Zahlung
4. Zahlungsbenachrichtigung
Heim WeChat-Applet WeChat-Entwicklung Detaillierte Erläuterung der von WeChat entwickelten JS-API-Zahlungsbeispiele

Detaillierte Erläuterung der von WeChat entwickelten JS-API-Zahlungsbeispiele

May 03, 2017 am 11:08 AM

Schlüsselwörter: WeChat-Zahlung WeChat-Zahlung v3 JSAPI-Zahlung Unified Payment Native Zahlung Prepay_ID

Dieser Artikel stellt den JSAPI-Implementierungsprozess unter WeChat-Zahlung vor

Vorwort

WeChat Die Zahlung ist jetzt in Version 2 und Version 3 unterteilt. Diejenigen, die sich vor dem 10. September 2014 beworben haben, erhalten die Version 2, und diejenigen, die sich danach beworben haben, erhalten die Version 3. Die V3-Version von WeChat Pay verfügt nicht über den Parameter paySignKey. Eine entsprechende Einführung in Version 2 finden Sie in anderen Artikeln von Fangbei Studio. In diesem Artikel wird WeChat Pay v3 vorgestellt.

Prozessimplementierung

1. OAuth2.0-Autorisierung

JSAPI muss die Anmeldeautorisierungsschnittstelle aufrufen, um die OpenID des Benutzers vor der Zahlung zu erhalten. Daher muss die Autorisierung einmal durchgeführt werden und das Bestätigungsfeld wird für diese Autorisierung nicht angezeigt.
Das Wesentliche besteht darin, zu

http://www.fangbei.org/wxpay/js_api_call.php
Nach dem Login kopieren

zu springen, wenn der Benutzer auf

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
Nach dem Login kopieren

zugreift, um den Codeparameter abzurufen und die Autorisierung, access_token und openid basierend auf dem Code zu erhalten

Den detaillierten Prozess der Implementierung finden Sie unter WeChat Public Platform Development (71) OAuth2.0 Web Authorization

In der Demo von WeChat Pay lautet der Code

 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 }
Nach dem Login kopieren

für diesen Schritt Das Endergebnis besteht darin, die OpenID des aktuellen Benutzers zu erhalten

ou9dHt0L8qFLI1foP-kj5x1mDWsM
Nach dem Login kopieren

2. Einheitliche Zahlung

Die einheitliche Zahlung besteht darin, Zahlungsaufträge unter verschiedenen Zahlungsszenarien von JSAPI/NATIVE zu generieren /APP und gibt die Schnittstelle für die Vorabzahlungsauftragsnummer zurück. Derzeit verwenden alle WeChat-Zahlungsszenarien diese Schnittstelle
Bei Unified Payment werden die folgenden Parameter aus der Konfiguration abgerufen oder automatisch von der Klasse generiert und müssen nicht ausgefüllt werden vom Benutzer eingegeben

$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);//签名
Nach dem Login kopieren

Bei der JSAPI-Zahlung geben Sie außerdem die folgenden Parameter ein

//统一支付接口中,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");//交易类型
Nach dem Login kopieren

Andere sind optionale Parameter

//非必填参数,商户可根据实际情况选填
//$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
Nach dem Login kopieren

Diese Parameter schließlich Bilden Sie solche XML-Daten,

<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>
Nach dem Login kopieren

Senden Sie diese Daten. Die folgenden Daten werden an die einheitliche Zahlungsschnittstelle zurückgegeben

https://api.mch.weixin.qq.com/pay/unifiedorder
Nach dem Login kopieren

<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>
Nach dem Login kopieren

, die die enthält wichtigster Vorauszahlungs-ID-Parameter, prepay_id, mit einem Wert von

wx201410272009395522657a690389285100
Nach dem Login kopieren

3. JS-API-Zahlung

Nachdem die vorherigen Vorbereitungen abgeschlossen sind, generiert die JS-API JSAPI-Zahlungsparameter basierend auf prepay_id
Der generierte Code lautet wie folgt

//=========步骤3:使用jsapi调起支付============$jsApi->setPrepayId($prepay_id);$jsApiParameters = $jsApi->getParameters();
Nach dem Login kopieren

Die generierten JSON-Daten lauten wie folgt

{
    "appId": "wx8888888888888888",
    "timeStamp": "1414411784",
    "nonceStr": "gbwr71b5no6q6ne18c8up1u7l7he2y75",
    "package": "prepay_id=wx201410272009395522657a690389285100",
    "signType": "MD5",
    "paySign": "9C6747193720F851EB876299D59F6C7D"
}
Nach dem Login kopieren

Debuggen Sie die js-Schnittstelle im WeChat-Browser, der Code lautet wie folgt

<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>
Nach dem Login kopieren

Wenn der Benutzer auf die Schaltfläche „Beitragen“ klickt, wird das WeChat-Zahlungs-Plug-in angezeigt und der Benutzer kann mit der Zahlung beginnen.

4. Zahlungsbenachrichtigung

Nachdem die Zahlung erfolgreich war, erhält die Benachrichtigungsschnittstelle auch eine XML-Benachrichtigung über die erfolgreiche Zahlung

<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>
Nach dem Login kopieren

Nach Erhalt der notification_url kehren Sie zu zurück Bestätigen Sie den Erfolg. Nachricht an den WeChat-Server

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code></xml>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der von WeChat entwickelten JS-API-Zahlungsbeispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wenn Sie Ihr WeChat-Zahlungspasswort vergessen haben, wie können Sie es abrufen? Wenn Sie Ihr WeChat-Zahlungspasswort vergessen haben, wie können Sie es abrufen? Feb 23, 2024 pm 09:40 PM

In WeChat können Benutzer ihr Zahlungspasswort eingeben, um Einkäufe zu tätigen. Aber wie können sie ihr Zahlungspasswort abrufen, wenn sie es vergessen? Benutzer müssen zu „Meine Dienste – Wallet – Zahlungseinstellungen“ gehen, um ihr Zahlungspasswort wiederherzustellen, wenn sie es vergessen. In dieser Einführung erfahren Sie, wie Sie Ihr Zahlungskennwort abrufen können, wenn Sie es vergessen haben. Im Folgenden finden Sie eine detaillierte Einführung. Schauen Sie also mal rein! Tutorial zur WeChat-Nutzung. Wie finde ich das WeChat-Zahlungspasswort? Antwort: „Meine Service-Wallet-Zahlungseinstellungen – Zahlungspasswort vergessen“: 1. Klicken Sie zunächst auf „Mein“. 2. Klicken Sie auf den Dienst darin. 3. Klicken Sie auf die darin enthaltene Brieftasche. 4. Suchen Sie nach den Zahlungseinstellungen. 5. Klicken Sie auf Zahlungspasswort vergessen. 6. Geben Sie Ihre eigenen Informationen zur Überprüfung ein. 7. Geben Sie anschließend das neue Zahlungspasswort ein, um es zu ändern.

So richten Sie die WeChat-Zahlung für Meituan Takeout ein. So richten Sie die WeChat-Zahlung ein So richten Sie die WeChat-Zahlung für Meituan Takeout ein. So richten Sie die WeChat-Zahlung ein Mar 12, 2024 pm 10:34 PM

In der Meituan-App zum Mitnehmen werden zahlreiche Lebensmittel- und Snackläden angeboten, und alle Mobiltelefonbenutzer melden sich über ihre Konten an. Fügen Sie Ihre persönliche Lieferadresse und Kontaktnummer hinzu, um den bequemsten Abholservice zu genießen. Öffnen Sie die Startseite der Software, geben Sie Produktschlüsselwörter ein und suchen Sie online, um die entsprechenden Produktergebnisse zu finden, um zu kaufen und eine Bestellung aufzugeben. Die Plattform empfiehlt Ihnen außerdem Dutzende nahegelegener Restaurants mit guten Bewertungen basierend auf der Lieferadresse Der Shop kann auch verschiedene Zahlungsmethoden einrichten, um die Bestellung sofort abzuschließen. Es gibt auch rote Umschläge zum Mitnehmen Verschiedene Beträge zur Nutzung. Jetzt ist der Editor im Detail für Meituan-Takeout-Nutzer verfügbar. Wir zeigen Ihnen, wie Sie die WeChat-Zahlung einrichten. 1. Nachdem Sie das Produkt ausgewählt haben, senden Sie die Bestellung ab und klicken Sie auf Jetzt

Kann Xianyu mit WeChat bezahlen? Wie wechselt man zur WeChat-Zahlungsmethode? Kann Xianyu mit WeChat bezahlen? Wie wechselt man zur WeChat-Zahlungsmethode? Mar 12, 2024 pm 12:19 PM

Wenn jeder nichts zu tun hat, wird er sich dafür entscheiden, die Xianyu-Plattform zu durchsuchen. Jeder kann feststellen, dass es auf dieser Plattform eine große Anzahl von Produkten gibt, die es jedem ermöglichen, verschiedene gebrauchte Produkte zu sehen Es gibt absolut kein Problem mit der Qualität dieser Produkte, sodass jeder sie mit Vertrauen kaufen kann. Die Preise sind sehr erschwinglich und es ist für Verkäufer dennoch durchaus möglich, sie persönlich kennenzulernen Solange alle ordnungsgemäß verhandeln, können Sie sich für die Durchführung von Transaktionen entscheiden, und wenn alle hier bezahlen, möchten sie die Zahlung über WeChat durchführen, aber es scheint, dass die Plattform dies nicht erlaubt um herauszufinden, wie die konkrete Situation ist. Xianyu

Teilen Sie uns die Schritte zur Beantragung einer Rückerstattung mit WeChat Pay mit Teilen Sie uns die Schritte zur Beantragung einer Rückerstattung mit WeChat Pay mit Mar 25, 2024 pm 06:31 PM

1. Zuerst müssen wir die WeChat-App auf dem Mobiltelefon öffnen und dann klicken, um uns beim WeChat-Konto anzumelden, um die WeChat-Homepage aufzurufen. 2. Klicken Sie auf die Schaltfläche [Ich] in der unteren rechten Ecke der WeChat-Startseite und wählen Sie dann die Option [Zahlung] aus. Wir klicken, um die Zahlungsseite aufzurufen. 3. Nachdem Sie die Seite [Zahlung] aufgerufen haben, klicken Sie auf die Option [Wallet], um sie aufzurufen, und klicken Sie dann auf [Rechnung] in der oberen rechten Ecke der Seite [Wallet].

So bezahlen Sie mit WeChat auf Alibaba_So bezahlen Sie mit WeChat auf Alibaba 1688 So bezahlen Sie mit WeChat auf Alibaba_So bezahlen Sie mit WeChat auf Alibaba 1688 Mar 20, 2024 pm 05:51 PM

Alibaba 1688 ist eine Einkaufs- und Großhandelswebsite, und die Artikel dort sind viel günstiger als bei Taobao. Wie nutzt Alibaba die WeChat-Zahlung? Der Herausgeber hat einige relevante Inhalte zusammengestellt, die Sie mit Ihnen teilen können. Freunde in Not können vorbeikommen und einen Blick darauf werfen. Wie nutzt Alibaba WeChat zum Bezahlen? Antwort: WeChat-Zahlung kann vorerst nicht verwendet werden gehen Sie zu [Alipay, gestaffelte Zahlung], Kassierer] kann ausgewählt werden;

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

So richten Sie die WeChat-Zahlung auf Didi Chuxing ein. So richten Sie die WeChat-Zahlung ein So richten Sie die WeChat-Zahlung auf Didi Chuxing ein. So richten Sie die WeChat-Zahlung ein Mar 13, 2024 pm 01:22 PM

Die Didi Chuxing-App bietet mehr Komfort für die tägliche Reise, und alle Didi-Fahrzeuge sind auf Abruf verfügbar. Dutzende roter Taxiumschläge sind schneller verfügbar. Öffnen Sie die Homepage der Software, geben Sie den Start- und Zielpunkt entsprechend Ihrer persönlichen Reiseroute ein und wählen Sie unten frei aus Fahrzeugen mit unterschiedlichen Preisen. Geben Sie mit einem Klick eine Bestellung auf und veröffentlichen Sie die Reiseroute in Sekundenschnelle So schnell wie möglich am angegebenen Standort. Überprüfen Sie einfach Ihre Mobiltelefonnummer, bevor Sie in den Bus steigen. Natürlich gibt es viele Möglichkeiten, den Fahrpreis zu bezahlen, einschließlich WeChat und Alipay Jetzt ist es ganz einfach, die Zahlung mit einem Klick einzurichten. Der Online-Editor erklärt den Benutzern von Didi Travel, wie man die WeChat-Zahlung einrichtet. 1. Wir telefonieren

Wie aktiviere ich WeChat Pay? Aktivierungseinstellungen für WeChat Pay Wie aktiviere ich WeChat Pay? Aktivierungseinstellungen für WeChat Pay Mar 14, 2024 am 10:00 AM

WeChat ist eine von Tencent eingeführte Instant-Messaging-Anwendung, die plattform- und betreiberübergreifendes Messaging und Empfang unterstützt. Sie verfügt über umfangreiche Funktionen, einschließlich Sprach-, Video-Chat und Teilen in Moments. WeChat Pay ist eine Zahlungsfunktion in WeChat Wallet, die Benutzern ein bequemeres Zahlungserlebnis bietet. Erfahren Sie, wie Sie WeChat Pay aktivieren. Wie aktiviere ich WeChat Pay? WeChat Pay-Aktivierungseinstellungen 1. Öffnen Sie WeChat auf Ihrem Mobiltelefon, klicken Sie unten rechts auf [Ich], um die persönliche Homepage aufzurufen, 2. Klicken Sie auf die Option [Service]. 3. Klicken Sie dann auf das Symbol [Wallet]. 4. Klicken Sie im Abschnitt [Wallet] auf [Zahlung aufteilen], um die Einführungsseite aufzurufen. 5. Klicken Sie unten auf der Zahlungseinführungsseite auf die Schaltfläche [Mein Zahlungslimit anzeigen]. 6. Lesen Sie die Verteilung sorgfältig durch

See all articles