微信支付接口使用

885 阅读2分钟

微信支付开发流程

  • 申请微信支付

    • 填写相关的商户信息
    • 下载API证书、设置API密钥
  • 生成签名

    • 将所有参数按ASCII码从小到大排序拼接成字符串StringA
    • 在stringA最后拼接上key(key为商户平台设置的密钥key)得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
  • 生成随机数并转换为字符串作为nonce_str的值

  • 使用API证书

    • 使用该证书需要密码,密码为微信商户号(mch_id)
  • 设置商户回调接口使用HTTPS协议以保证数据传输的安全

  • 获取openid(通过微信网页授权)

    • 修改授权回调域名
    • 用户通过网页授权得到一个code
    • 通过code换取网页授权access_token(两种方式snsapi_base和snsapi_userinfo)
    • 通过access_token获取用户信息(如openid)
  • 业务代码实现:

    • 继承 WXPayConfig 类并将之前准备好的一些信息 set 到里面
    • 通过 sdk 封装的类将 config 对象通过构造方法传入,调用相关支付的方法即可。
  • 业务流程:用户点击缴费按钮——> 发到我们后台系统——> 后台生成订单——> 调用统一下单API提交到微信支付系统——> 微信这边会生成预付单给我们后台——> 生成JSAPI页面调用的支付参数并签名——> 返回支付参数给微信客户端——> 然后用户点击发起支付——>微信客户端发送JSAPI请求到微信支付系统——> 微信系统进行参数合法性校验——>微信支付系统返回验证结果到微信客户端——> 用户确认支付并输入密码——> 提交支付授权到微信支付系统——> 微信支付验证授权——>微信异步通知我们后台支付结果同时向用户展现支付信息——> 我们后台向微信查询订单信息,确认无误执行入库操作,并向客户端发送缴费情况

参考:pay.weixin.qq.com/wiki/doc/ap…