1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php h5微信公众号支付接口 微信公众号H5支付接口调用方法

php h5微信公众号支付接口 微信公众号H5支付接口调用方法

时间:2022-07-11 05:42:46

相关推荐

php h5微信公众号支付接口 微信公众号H5支付接口调用方法

本文实例为大家分享了 微信内h5调用支付接口的具体代码,供大家参考,具体内容如下

官方文档

微信公众号h5接口调用

// 判断微信版本是否在5.0以上

// window.navigator.useragent 属性包含了浏览器类型,版本,操作系统类型,浏览器引擎等信息

var ua = window.navigator.useragent.tolowercase()

// 通过正则表达式匹配 ua 中是否含有 micromessenger 字符串

if (ua.match(/micromessenger/i) != 'micromessenger') {

return false

}

var appid = 'wx123456789'

// 微信h5接口调用准备

// 1,时间戳

var timestamp = new date()

timestamp = timestamp.gettime()/1000

console.log('时间戳', timestamp)

// 2,生成32位随机字符串

function randomstring(len) {

len = len || 32

// 默认去掉了容易混淆的字符ooll,9gq,vv,uu,i1

var chars = 'abcdefghjkmnpqrstwxyzabcdefhijkmnprstwxyz2345678';

var charslen = chars.length;

var pwd = '';

for (var i=0;i

pwd += chars.charat(math.floor(math.random() * charslen))

}

return pwd

}

console.log('noncestr,32位随机字符串', randomstring())

// 3,package,统一下单接口返回的prepay_id 参数值

// 4,paysign:微信签名

function wxsignfunc() {

// 4.1,将参数改写成 key=value&key2=value2 形式,需要按照参数名ascii字典序排序

var stringa = 'appid=' + appid

+'&noncestr=' + randomstring()

+'&package=prepay_id=u802345jgfjsdfgsdg888'

+'&signtype=md5'

+'&timestamp=' + timestamp

/ 4.2,拼接api 密钥

var stringsigntemp = stringa + '&key=19250b4c09247ec02edce69f6a2d' //注:key为商户平台设置的密钥key

var sign = hex_md5(stringsigntemp).touppercase()

return sign

}

console.log(wxsignfunc())

微信接口实例

function onbridgeready(){

weixinjsbridge.invoke(

'getbrandwcpayrequest', {

"appid": appid, //公众号名称,由商户传入

"timestamp": timestamp, //时间戳,自1970年以来的秒数

"noncestr": randomstring(), //随机串

"package":"prepay_id=u802345jgfjsdfgsdg888", // 统一下单接口返回的prepay_id 参数值

"signtype":"md5", //微信签名方式:

"paysign": wxsignfunc() //微信签名

},

function(res){

if(res.err_msg == "get_brand_wcpay_request:ok" ){

// 使用以上方式判断前端返回,微信团队郑重提示:

// res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。

console.log(111)

}

}

)

}

// 调用微信接口

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();

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。