从产品框架搭建到页面设计,从数据库建立到核心功能实现,知晓云(cloud.minapp.com)为小程序开发者提供了不少的便捷,例如常用的电商数据表模版和简单好用的 API,省去了后端数据接口的设计和开发时间,快速开发自己的小程序。
回过头来,我们再一次分析下「北江纺织牛仔新时尚」小程序,在商品展示再到购物下单的流程中,是否还缺少我们常见的支付环节呢?
实际上「北江纺织牛仔新时尚」的交易业务属于线下操作,并不涉及到在线支付。而对于线上业务,就需要接入支付才能完成整个交易环节,今天就给大家演示如何快速在小程序里实现在线支付功能。
小程序微信支付
小程序开发文档已经提供了微信支付的 API:wx.requestPayment(OBJECT)
从开发文档上看,想要成功调用微信支付 API 的必需参数有 5 个:timeStamp,nonceStr,package,signType,paySign。其中 nonceStr、package、paySign 的值是需要通过算法或调用接口后才能获取的。
nonceStr 值可通过随机数生成算法生成;
package 值所包含的 prepay_id 参数值是调用统一下单接口后的返回值(调用微信支付前需要调用微信统一下单API);
paySign 的值需要通过一定的规则生成,点击小程序支付接口文档,我们可以看到 paySign 签名所需字段列表,再根据签名算法生成 paySign 值。
paySign 签名必需字段也是 5 个:appId,timeStamp,nonceStr,package,signType。除了 appId 参数,其余 4 个参数名都与微信支付 API 参数一样。
但需要注意的是,这里的签名方式 signType 需要与统一下单的签名类型一致,而不是与「微信支付 API」的签名类型一致。详细签名算法请参考签名算法 ?
知道每个参数值如何获取之后,就可以调用微信支付 API 了。
// 示例代码
wx.requestPayment({
‘timeStamp’