微信小程序开发之微信支付(一)

现在微信支付功能已经成为应用中一个必不可少的功能。要实现微信支付,阅读微信支付文档是必不可少的。可是复杂的支付流程和大量的参数让人头大。

接下来我来捋一捋开发流程(前:表示前端    后:表示后端)

1.微信登录

    前:wx.login{} 获取code ------> wx.request{} 向后台传送code

(为了方便阅读,只写出了最基本的代码)

//app.js
App({
  onLaunch: function() {
    wx.login({
      success: function(res) {
        if (res.code) {
          //发起网络请求
          wx.request({
            url: 'https://test.com/onLogin',     //向后台传code的地址
            data: {
              code: res.code
            }
          })
        } else {
          console.log('登录失败!' + res.errMsg)
        }
      }
    });
  }
})

   后:由code获取openID

(为了使小程序开发变得渐变,我使用了别人已写好的SDK,避免重复造轮子)

public String login(String code) {
    if (StringUtils.isEmpty(code)) {
        return "code is empty";
    }
    try {
        WxMaJscode2SessionResult sessionResult = wxMaService.getUserService().getSessionInfo(code);
        log.info("openid: openid={}", sessionResult.getOpenid());
        log.info("sessionKey: sessionKey={}", sessionResult.getSessionKey());
        return JsonUtil.toJson(sessionResult);
    } catch (WxErrorException e) {
        log.error(e.getMessage());
        return e.toString();
    }

}

2.微信下单

后:组合订单信息 -----> 调用统一下单接口(https://api.mch.weixin.qq.com/pay/unifiedorder)----->获取与处理信息prepay_id         ----->组合签名  ------>返回前端五个参数和签名

3.确认支付

前:调用wx.requestPayment{}发起支付

wx.requestPayment(
{
'timeStamp': '',
'nonceStr': '',
'package': '',
'signType': 'MD5',
'paySign': '',
'success':function(res){},
'fail':function(res){},
'complete':function(res){}
})
4.回调支付结果

  后:异步通知返回支付结果

  只是简单捋了一下支付步骤。接下来会详细介绍各个环节

  给大家推荐一个好用的SDK,它实现了微信小程序的各种接口,开发起来更便利

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值