h5调取微信支付

1.在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。
注意:WeixinJSBridge内置对象在其他浏览器中无效
2.点击微信支付图标调取微信支付 使用jq包、调取公司的接口获取网页端接口请求参数列表(参数需要重新进行签名计算,参与签名的参数为:appId、timeStamp、nonceStr、package、signType,参数区分大小写。)

$('.Albumlit').on('click', function() {
				var url = "";
				$.ajax({
					type: 'post',
					url: url,
					async: false,
					jsonp: 'jsoncallback',
					success: function(data) {
						prepay_id = data.prepay_id;
						paySign = data.paySign;
						appId = data.appId;
						timeStamp = data.timeStamp;
						nonceStr = data.nonceStr;
						packageStr = data.packageStr;
						signType = data.signType;
						orderNo = data.orderNo;
						callpay();
					},
					error: function() {

					}
				});
			})

第三步调取微信支付

function callpay() {
				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();
				}
			}
			function onBridgeReady() {
				WeixinJSBridge.invoke(
					'getBrandWCPayRequest', {
						"appId": appId, //公众号名称,由商户传入
						"timeStamp": timeStamp, //时间戳,自1970年以来的秒数
						"nonceStr": nonceStr, //随机串
						"package": packageStr,
						"signType": signType, //微信签名方式:
						"paySign": paySign //微信签名
					},
					function(res) {
						if (res.err_msg == "get_brand_wcpay_request:ok") {
							alert("交易成功");
							//  window.location.href="${base}/test/paySuccess";
							history.go(-1);
						}
						if (res.err_msg == "get_brand_wcpay_request:cancel") {
							alert("交易取消");
							//  window.location.href="${base}/test/cancel";
						}
						if (res.err_msg == "get_brand_wcpay_request:fail") {
							alert("支付失败");
							//  window.location.href="${base}/test/fail";
						}
					}
				);
			}

版权声明:本文为li_ge_DD原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。