Login expired. Please log in again.

Feedback

0/300

Feedback

Submitted successfully

ok

Feedback

Network exception, please try again later

ok

微信内H5调起支付

最新更新时间:2020.2.18 版本说明


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

注意:

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

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

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

网页端接口参数列表:

参数名 变量 类型 必填 描述
公众号id appId String(16) 商户注册具有支付权限的公众号成功后即可获得
示例值:wx8888888888888888
时间戳 timeStamp String(32) 当前的时间,其他详见时间戳规则
示例值:1414561699
随机字符串 nonceStr String(32) 随机字符串,不长于32位。推荐随机数生成算法
示例值:5K8264ILTKch16CQ2502SI8ZNMTM67VS
订单详情扩展字符串 package String(128) prepay_id=123456789
签名方式 signType String(32) 签名类型,默认为RSA,该参数不参与签名
示例值:RSA
签名 paySign String(64) 签名,详见以下paySign生成规则
示例值:C380BEC2BFD727A4B6845133519F3AD6

paySign生成规则

参与签名的字段及格式:

公众号id
时间戳
随机字符串
订单详情扩展字符串

待签名串举例:

wx8888888888888888
1414561699
5K8264ILTKch16CQ2502SI8ZNMTM67VS
prepay_id=123456789

计算签名值

签名方式与请求数据签名一致,使用商户私钥对待签名串进行SHA256 with RSA签名,并对签名结果进行Base64编码得到签名值。

网页内支付接口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可以统一处理为用户遇到错误或者主动放弃,不必细化区分。

示例代码如下:


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


版本说明

关闭
V1.0
2020年3月18日
1. 微信内H5调起支付接口上线

About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2024 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global