美文网首页Web前端之路IT修真院-前端
前端微信公众号中微信支付问题

前端微信公众号中微信支付问题

作者: 阿布_0caf | 来源:发表于2017-11-15 21:53 被阅读139次

主要分3步:
第一步:详见产品id发给后端,生成预订单;后端会把请求微信接口来生成签名,订单id等;
第二步:根据后端返回信息,将微信需要的appid,签名,订单id,随机字符串,签名方式,订单详情发给支付接口;
第三步:手机端支付完后,后端会收到微信提供的是否支付成功的信息,前端来请求后端,查询订单是否完成,然后进行后续操作;

第一步代码:
//微信购买某年级单词,调用微信支付接口
$scope.buyWords = function () {
$http({
method: 'post',
url: pathProject.postProductId, //接口参数
params: {
productId: $rootScope.wordsGradeId //要购买的产品id
}
}).then(function successCallback(res) {
if (res.data.code == 0) {
var respanse = res.data.data; //后端请求微信的参数返回给前端
$scope.pay(respanse); //调用微信支付接口函数
}
}, function errorCallback(res) {
$scope.wordsActivationcode = true; //点击维信支付的链接是个单独的form表单,请求失败的话要保留该表单,使用户能继续操作
alert('请求超时,请稍后重新提交信息。')
});
};
第二步代码:注意微信支付接口不支持在微信开发者工具里面调试,必须部署线上环境然后用手机微信测试,appId,timeStamp这些参数名称都要用“”包含,
不然有可能丢失参数,后端注意返回签名不是微信给的签名,是需要后端根据appId等参数自己来拼接并加密生成的;
//微信支付,微信开发者API,固定格式
$scope.pay = function(respanse){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": respanse.appid, //必填,公众号名称
"timeStamp": respanse.timestamp, // 必填,时间戳,秒数
"nonceStr": respanse.nonce_str, // 必填,随机字符串,
"package": "prepay_id=" + respanse.prepay_id, //必填,订单详情扩展字符串
"signType": "MD5", // 必填,微信签名方式:
"paySign": respanse.sign //必填,微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
$scope.wordsActivationcode = false; //支付成功后将表单隐藏
$scope.searchPay(respanse.purchaseId) //查询订单是否完成函数
} else {
alert("支付失败")
}
}
);
};
第三步代码:
//订单查询,判断客户是否购买成功,订单处理都是后端操作的,直接根据后端返回数据来判断即可
$scope.searchPay = function (id) {
wxServices.getPay(id).then(function (response) {
if (response.data.code == 0) {
alert('购买成功');
$scope.reloadRoute()
} else {
alert(response.data.message)
}
})
};

相关文章

  • 前端微信公众号中微信支付问题

    主要分3步:第一步:详见产品id发给后端,生成预订单;后端会把请求微信接口来生成签名,订单id等;第二步:根据后端...

  • 微信支付

    公众号支付是指在微信app中访问的页面通过js直接调起微信支付; 一:设置域名 登录微信公众平台; 微信支付中设置...

  • 微信公众号支付

    微信公众号支付使用的是JSAPI支付,后端调用微信支付demo中统一下单的接口获取支付参数返回给前端,在公众号中直...

  • 微信H5支付申请相关问题

    之前的文章「微信支付申请相关问题」里说过微信公众号和 APP 申请微信支付,今天来说下微信 H5 支付的申请。 一...

  • PHP微信公众号支付开发总结

    微信公众号开发是很常见的开发,其中微信支付占有很大的比重。微信公众号分为服务号和订阅号,服务号支持微信支付。 前期...

  • 微信公众号网页支付summer版

    该文仅对于中间这种支付方式有参考价值哟 一、开发背景 在微信公众号中,需要进行微信支付且为微信公众号网页支付。 二...

  • 关注公众号领红包常见问题解答

    一、关注领红包对公众号的要求: 公众号必须开通“微信支付”和“现金红包”功能权限 登录微信公众平台 – 微信支付(...

  • 微信公众号二次开发须知

    一、微信公众号接支付和红包 1.申请微信公众号 2.申请微信商户 3.将微信公众号绑定到微信开放平台 4.微信商户...

  • 微信支付前端开发指南

    使用场景 微信公众号内嵌H5网页调用微信支付 在微信浏览器中的网页唤起微信支付界面 详情可以查阅微信支付官方文档 ...

  • 微信公众号配置

    微信支付 - 商户平台 商户号 支付证书 微信公众号 appid & appscret 开发 > 基本配置 > ...

网友评论

    本文标题:前端微信公众号中微信支付问题

    本文链接:https://www.haomeiwen.com/subject/ruxkvxtx.html