微信小程序之支付

2,376 阅读2分钟

转自IMWeb社区,作者:结一,原文链接

微信小程序为支付提供了一个 API,那就是 wx.requestPayment。打眼一看还是比较简单的,就是传入几个参数呗,但是实际要搞定这几个参数还是需要一些流程的。

参数说明

wx.requestPayment 的参数如下:

首先 nonceStr 和 package 这两个参数是由另外一个统一下单 API 返回的。而该接口需要提供小程序appid、商户号,用户openid等。

然后 paySign 签名涉及到签名算法,需要参数:appid、商户号,nonceStr、package、商户秘钥和一个时间戳。

最后支付完成,还涉及到支付通知支付结果查询

支付流程总结

说了这么多,整个支付流程梳理起来就是如下:

1、准备好 appid、商户号及商户秘钥。

2、拿到 openid。

3、调用支付统一下单接口,拿到 nonceStr 和 package 这两个数据。

4、生成 paySign。

5、调用 wx.requestPayment 发起支付请求。

6、对成功或失败进行处理。

wx-js-utils

如果 2-4 都要自己动手的话,还是比较费劲的。这不微信又给我们提供了一些方便。这就是 wx-js-utils。它主要提供了如下四个基本能力:

  • 小程序用户(提供了获取 openid 和 accessToken 的方法)
  • 小程序模板消息
  • 小程序码
  • 微信支付(提供了统一下单、查询订单、撤销订单等一系列 API 接口)

具体使用请参考文档即可。

成功失败处理

  • 无论成功还是失败,更新数据提示成功或失败
  • 如果成功则调用查询订单 API,到微信支付侧查询是否存在该订单,并查询订单状态,看看是否已经支付成功了,确认成功后然后再向服务器提交成功信息,让服务更新订单状态为成功。

实战课程

说了这么多,其实还是要亲自实践下才好,这里推荐一门课程(免费的),可以跟着操作。