WeChat-Zahlungsentwicklung JS API-Zahlung

高洛峰
Freigeben: 2017-02-25 17:38:50
Original
2018 Leute haben es durchsucht

1. JS-API-Zahlungsschnittstelle (getBrandWCPayRequest)

Die WeChat JS-API kann nur im integrierten Browser von WeChat verwendet werden und Aufrufe von anderen Browsern sind ungültig. WeChat stellt die getBrandWCPayRequest-Schnittstelle zum Aufrufen der Front-End-Webseite des Händlers bereit. WeChat identifiziert die Zahlungsautorität des Händlers. Wenn der Händler berechtigt ist, die Zahlung einzuleiten, beginnt der Zahlungsvorgang. In diesem Abschnitt werden hauptsächlich die Schnittstellenaufrufregeln vor der Zahlung vorgestellt. Bitte beachten Sie den unten stehenden Benachrichtigungsmechanismus für Zahlungsstatusmeldungen. Zu beachten ist die Schnittstelle: Alle eingehenden Parameter sind vom Typ String!

getBrandWCPayRequest-Parameter sind in Tabelle 6-5 aufgeführt.


参数

名称

必填

格式

说明

appId

公众号id

字符串类型

商户注册具有支付权限的公众号成功后即可获得;

timeStamp

时间戳

字符串类型,32个字节以下

商户生成,从1970年1月1日00:00:00至今的秒数,即当前的时间,且最终需要转换为字符串形式;

nonceStr

随机字符串

字符串类型,32个字节以下

商户生成的随机字符串;

package

订单详情扩展字符串

字符串类型,4096个字节以下

商户将订单信息组成该字符串,具体组成方案参见接口使用说明中package组包帮劣;由商户按照规范拼接后传入;

signType

签名方式

字符串类型,参数取值"SHA1"

按照文档中所示填入,目前仅支持SHA1;

paySign

签名

字符串类型

商户将接口列表中的参数按照指定方式迚行签名,签名方式使用signType中标示的签名方式,具体签名方案参见接口使用说明中签名帮劣;由商户按照规范签名后传入;

Parameter


Name

Erforderlich

Format

Beschreibung

appId

Offizielle Konto-ID

返回值

说明

err_msg

get_brand_wcpay_request:ok  支付成功
 get_brand_wcpay_request:cancel 支付过程中用户取消
 get_brand_wcpay_request:fail 支付失败

ist

String-Typ td>

Der Händler kann es erhalten, nachdem er erfolgreich ein öffentliches Konto mit Zahlungserlaubnis registriert hat;

timeStamp

Zeitstempel

ist

String-Typ, weniger als 32 Bytes

Merchant Generieren Sie die Zahl von Sekunden vom 1. Januar 1970 um 00:00:00 Uhr bis zur Gegenwart, der aktuellen Zeit, und müssen letztendlich in eine Zeichenfolgenform umgewandelt werden:

nonceStr

Zufällige Zeichenfolge

Ja

String-Typ, weniger als 32 Bytes

Vom Händler generierte zufällige Zeichenfolge ;

Paket

Bestelldetails erweiterte Zeichenfolge

Ja

String-Typ, weniger als 4096 Bytes

Der Händler fügt die Bestellinformationen in dieser Zeichenfolge zusammen. Das spezifische Kompositionsschema finden Sie in der Hilfe zur Paketgruppierung in den Schnittstellenanweisungen. Der Händler fügt sie dann gemäß den Spezifikationen zusammen in;

signType

Signaturmethode

Ja

String-Typ, Parameterwert „SHA1“

Füllen Sie es wie im Dokument gezeigt aus, derzeit wird nur SHA1 unterstützt;

paySign

Signatur

ist

String-Typ td>

Der Händler signiert die Parameter in der Schnittstellenliste gemäß der angegebenen Methode. Die Signaturmethode verwendet die markierte Signaturmethode in signType. Das spezifische Signaturschema entnehmen Sie bitte der Signaturhilfe in den Schnittstellenanweisungen; der Händler wird es gemäß den Spezifikationen signieren und übergeben; Tabelle 6-5 getBrandWCPayRequest-Parameter Der Rückgabewert von getBrandWCPayRequest ist in Tabelle 6-6 dargestellt.

err_msg

Rückgabewert Beschreibung

get_brand_wcpay_request :ok Zahlung erfolgreich get_brand_wcpay_request:cancel Der Benutzer hat während des Zahlungsvorgangs abgebrochen get_brand_wcpay_request:fail Zahlung fehlgeschlagen


Tabelle 6-6 getBrandWCPayRequest-Rückgabewert

JS-API-Rückgabeergebnis get_brand_wcpay_request:ok wird nur zurückgegeben, wenn der Benutzer die Zahlung erfolgreich abschließt. Aufgrund der Komplexität der Front-End-Interaktion get_brand_wcpay_request:cancel oder get_brand_wcpay_request:fail kann einheitlich behandelt werden, wenn der Benutzer auf einen Fehler stößt oder freiwillig aufgibt, ohne eine detaillierte Unterscheidung vorzunehmen.

2. JS-API-Zahlungsimplementierung

Der folgende Code ist die offiziell von WeChat bereitgestellte JS-API-Zahlungsdemo

<?php
include_once("WxPayHelper.php");


$commonUtil = new CommonUtil();
$wxPayHelper = new WxPayHelper();


$wxPayHelper->setParameter("bank_type", "WX");
$wxPayHelper->setParameter("body", "test");
$wxPayHelper->setParameter("partner", "1900000109");
$wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr());
$wxPayHelper->setParameter("total_fee", "1");
$wxPayHelper->setParameter("fee_type", "1");
$wxPayHelper->setParameter("notify_url", "htttp://www.baidu.com");
$wxPayHelper->setParameter("spbill_create_ip", "127.0.0.1");
$wxPayHelper->setParameter("input_charset", "GBK");


?>
<html>
<script language="javascript">
function callpay()
{
    WeixinJSBridge.invoke(&#39;getBrandWCPayRequest&#39;,<?php echo $wxPayHelper->create_biz_package(); ?>,function(res){
    WeixinJSBridge.log(res.err_msg);
    alert(res.err_code+res.err_desc+res.err_msg);
    });
}
</script>
<body>
<button type="button" onclick="callpay()">wx pay test</button>
</body>
</html>
Nach dem Login kopieren

Stellen Sie die WeChat-Zahlung ein Parameter darin Ändern Sie es entsprechend Ihren Anforderungen, laden Sie dann die Webseite in das WeChat-Zahlungsverzeichnis hoch und antworten Sie mit der Webseitenadresse auf das Testkonto. Benutzer können eine JS-API-Zahlung implementieren.

3. Effektdemonstration

Das Folgende ist das Seitenbild der offiziellen DEMO-Modifikation zum Einleiten der Zahlung.

微信支付开发 JS API支付

Transaktion bestätigen

微信支付开发 JS API支付

Zahlungspasswort eingeben

微信支付开发 JS API支付

Transaktion erfolgreich

微信支付开发 JS API支付

Weitere Artikel zur WeChat-Zahlungsentwicklung und JS-API-Zahlung finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage