飞道的博客

uniapp实现微信公众号支付

267人阅读  评论(0)

1、申请企业服务号(必须企业认证)

https://mp.weixin.qq.com

2、获取appid 和秘钥

菜单 开发-基本配置 获取秘钥 、设置ip白名单

 

4、安全域名设置

进入公众号设置-功能设置配置

5、代码实现

点击请求优先去请求后台订单支付接口数据

将获取到的数据放入以下请求数据里面 


  
  1. callPay: function(response) {
  2. if ( typeof WeixinJSBridge === "undefined") {
  3. if ( document.addEventListener) {
  4. document.addEventListener( 'WeixinJSBridgeReady', this.onBridgeReady(response), false);
  5. } else if ( document.attachEvent) {
  6. document.attachEvent( 'WeixinJSBridgeReady', this.onBridgeReady(response));
  7. document.attachEvent( 'onWeixinJSBridgeReady', this.onBridgeReady(response));
  8. }
  9. } else {
  10. this.onBridgeReady(response);
  11. }
  12. },
  13. onBridgeReady: function(response) {
  14. let that = this;
  15. if (!response.package) {
  16. return;
  17. }
  18. WeixinJSBridge.invoke(
  19. 'getBrandWCPayRequest', {
  20. "appId": response.appid, //公众号名称,由商户传入
  21. "timeStamp": response.timestamp, //时间戳,自1970年以来的秒数
  22. "nonceStr": response.noncestr, //随机串
  23. "package": response.package,
  24. "signType": response.signType, //微信签名方式:
  25. "paySign": response.sign //微信签名
  26. },
  27. function(res) {
  28. if (res.err_msg === "get_brand_wcpay_request:ok") {
  29. // 使用以上方式判断前端返回,微信团队郑重提示:
  30. //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  31. uni.showLoading({
  32. title: '支付成功'
  33. });
  34. setTimeout( function() {
  35. uni.hideLoading();
  36. uni.redirectTo({
  37. url: '../member/orderdetail?id=' + that.id
  38. });
  39. }, 1000);
  40. } else {
  41. uni.hideLoading();
  42. }
  43. WeixinJSBridge.log(response.err_msg);
  44. }
  45. );
  46. },

 


转载:https://blog.csdn.net/weixin_39706415/article/details/111588950
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场