【微信】微信支付订单开发小结(前端部分)

上一篇 服务端 nodejs https://blog.csdn.net/ihtml5/article/details/87938992

这篇说下前端部分,流程上一篇已经介绍了,第3部是调用微信端的支付方法

这里再把详细的步骤通俗一下:
1、首先前端选择商品下单 调用自己服务器的接口
2、服务端收到后,生成自己订单id并保存, 在服务端请求 微信的下单接口,
3、微信下单接口返回之后 再通知到前端,package字段,调用微信的支付方法
4、微信支付成功或失败进入各自业务流程
5、成功之后会通知的自己的服务接口,携带自己的订单id 用语更新状态。

WeixinJSBridge.invoke(
   'getBrandWCPayRequest', {
       "appId" : json["appId"],     //公众号名称,由商户传入     
       "timeStamp": json["timeStamp"], //时间戳,自1970年以来的秒数     
       "nonceStr" : json["nonceStr"], //随机串     
       "package" : json["package"], // 下单接口返回的"prepay_id="+rst["prepay_id"][0]
       "signType" :json["signType"], //微信签名方式:     
       "paySign" : json["paySign"] //微信签名 
   }, callback)

callback

function callback(res) {
	if(res.err_msg == "get_brand_wcpay_request:ok" ) {
		支付成功
	} else {
		支付失败
	}
}

整体代码

$.ajax({
	url: "/epay/pay",
	contentType: "application/json",
	data: JSON.stringify({
		openid: openid,
		classname: classname,
		schoolid: schoolid,
		username: username,
		grade: grade,
		subjects: subjects.join(",")
	}),
	type: "POST",
	error: error_method,
	success: function(data) {
		if (data.code == 0) {
			var json = data["data"]
			WeixinJSBridge.invoke(
				'getBrandWCPayRequest', {
					"appId": json["appId"], //公众号名称,由商户传入     
					"timeStamp": json["timeStamp"], //时间戳,自1970年以来的秒数     
					"nonceStr": json["nonceStr"], //随机串     
					"package": json["package"],
					"signType": json["signType"], //微信签名方式:     
					"paySign": json["paySign"] //微信签名 
				},
				function(res) {
					if (res.err_msg == "get_brand_wcpay_request:ok") {
						var $loadingToast = $('#toast');
						$loadingToast.fadeIn(100);
						setTimeout(function() {
							$loadingToast.fadeOut(100);
						}, 1500);
					} else {
						location.href = "跳转";
					}
				}
			);
		} else {
			$("#iosDialog2").show();
			$("#dacon").html("支付失败,请稍候重试!");
			location.reload();
		}
	}
})
  • h5发起支付
    签名注意
    1、时间戳记得转换成字符串 ios会提示有问题
    2、记得加上key

最后祝大家工作顺序,身体健康~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值