微信内H5调起支付

更新时间:2025.03.21

在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。

注意:

WeixinJSBridge内置对象在其他浏览器中无效。

列表中参数名区分大小,大小写错误签名验证会失败。

getBrandWCPayRequest参数以及返回值定义如下:

网页端接口参数列表:参数需要重新进行签名计算,参与签名的参数为:appId、timeStamp、nonceStr、package、signType,参数区分大小写。

参数名

变量

类型

必填

描述

公众号id

appId

string(16)

商户注册具有支付权限的公众号成功后即可获得
示例值:wx8888888888888888

时间戳

timeStamp

string(32)

当前的时间,其他详见时间戳规则
示例值:1414561699

随机字符串

nonceStr

string(32)

随机字符串,不长于32位。推荐随机数生成算法
示例值:5K8264ILTKch16CQ2502SI8ZNMTM67VS

订单详情扩展字符串

package

string(128)

prepay_id=123456789

签名方式

signType

string(32)

签名类型,默认为MD5,支持HMAC-SHA256和MD5。注意此处需与统一下单的签名类型一致
示例值:MD5

签名

paySign

string(64)

签名,详见以下签名算法
示例值:C380BEC2BFD727A4B6845133519F3AD6

网页内支付接口err_msg返回结果值说明:

返回值

描述

get_brand_wcpay_request:ok

支付成功

get_brand_wcpay_request:cancel

支付过程中用户取消

get_brand_wcpay_request:fail

支付失败

:JS API的返回结果get_brand_wcpay_request:ok仅在用户成功完成支付时返回。由于前端交互复杂,get_brand_wcpay_request:cancel或者get_brand_wcpay_request:fail可以统一处理为用户遇到错误或者主动放弃,不必细化区分。

示例代码如下:

示例
1function onBridgeReady(){
2 WeixinJSBridge.invoke(
3   'getBrandWCPayRequest', {
4     "appId":"wx2421b1c4370ec43b",   //公众号名称,由商户传入     
5     "timeStamp":"1395712654",     //时间戳,自1970年以来的秒数     
6     "nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串     
7     "package":"prepay_id=u802345jgfjsdfgsdg888",     
8     "signType":"RSA",       //微信签名方式:     
9     "paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 
10    },
11    function(res){     
12       if(res.err_msg == "get_brand_wcpay_request:ok" ) {}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 
13       }
14   ); 
15}
16if (typeof WeixinJSBridge == "undefined"){
17   if( document.addEventListener ){
18    document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
19   }else if (document.attachEvent){
20    document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
21    document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
22   }
23}else{
24   onBridgeReady();
25}

 

 

About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2025 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global

Contact Us

Customer Service Tel

+86 571 95017

9:00-18:00 Monday-Friday GMT+8

Business Development

wxpayglobal@tencent.com

Developer Support

wepayTS@tencent.com

Wechat Pay Global

About Tenpay
Powered By Tencent & Tenpay Copyright© 2005-2025 Tenpay All Rights Reserved.