Home  >  Article  >  WeChat Applet  >  WeChat payment development JS API payment

WeChat payment development JS API payment

高洛峰
高洛峰Original
2017-02-25 17:38:501963browse

1. JS API payment interface (getBrandWCPayRequest)

WeChat JS API can only be used in WeChat’s built-in browser, and calls from other browsers are invalid. WeChat provides the getBrandWCPayRequest interface for the merchant's front-end web page to call. WeChat will identify the merchant's payment authority before calling it. If the merchant has the authority to initiate payment, the payment process will begin. This section mainly introduces the interface calling rules before payment. Please refer to the payment status message notification mechanism below. The interface needs to be noted: all incoming parameters are string types!

getBrandWCPayRequest parameters are shown in Table 6-5.


Public account idtimeStamp is the string type, less than 32 bytes generated by the merchant Random string; is a string type, less than 4096 bytes The merchant composes the order information into this string, please refer to the specific composition scheme The package group package in the interface usage instructions is passed in by the merchant after splicing according to the specifications; is a string type of , and the parameter value is "SHA1" as per Fill in as shown in the document, currently only supports SHA1; is Table 6-5 getBrandWCPayRequest parameters

parameter name

Required

##Format

Description

##appId

is

string type

The merchant successfully registered a public account with payment permissions Then you can get it;

##Timestamp
It is a

string type, less than 32 bytes, generated by

merchant, from January 1, 1970 00:00:00 to the present The number of seconds, that is, the current time, and ultimately needs to be converted into a string form;

nonceStr

##random The string

package

Order details extended string

signType

The signature method

##paySign

Signature

String type

The merchant will sign the parameters in the interface list according to the specified method. The signature method Use the signature method marked in signType. For the specific signature scheme, please refer to the signature help in the interface instructions; the merchant will sign in accordance with the specifications and then pass it in;

The return value of getBrandWCPayRequest is shown in Table 6-6.


return value


Description


Table 6-6 getBrandWCPayRequest return value

JS API return result get_brand_wcpay_request:ok is only returned when the user successfully completes the payment. Due to the complexity of front-end interaction, get_brand_wcpay_request:cancel or get_brand_wcpay_request:fail can be treated uniformly as the user encounters an error or gives up voluntarily, without making a detailed distinction.

2. JS API payment implementation

The following code is the JS API payment demo provided by WeChat official

<?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>

Modify the WeChat payment parameters into Get what you applied for, then upload the webpage to the WeChat payment directory, and reply the webpage address to the test account. Users can implement a JS API payment.

3. Effect Demonstration

The following is the page picture of initiating payment after the official DEMO has been modified.

微信支付开发 JS API支付

Confirm transaction

微信支付开发 JS API支付

Enter payment password

微信支付开发 JS API支付

Transaction successful

微信支付开发 JS API支付

For more articles related to WeChat payment development JS API payment, please pay attention to the PHP Chinese website!

##err_msg

##get_brand_wcpay_request:ok Payment successful

get_brand_wcpay_request:cancel User cancellation during payment process get_brand_wcpay_request:fail Payment failed

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn