首先很感谢云开发提供的生态以及示例代码,安耐不住内心的激动,在这一刻实现了小程序内微信支付,在3年前做过基于公众号的微信支付以及企业红包当时玩的很溜,动不动就给群里的小伙伴定向推送红包
本次微信支付参考以下官方开源项目
https://github.com/TencentCloudBase/mp-book
https://github.com/TencentCloudBase/tcb-demo-basic
具体交互截图如下所示:
我总结以下几点把,以下3点不全,但是对于一个有云开发经验的同学,这足够了。
1、在微信企业支付后台 进行相应的设置
2、在上面源代码的基础上,配置,appi d,商户 号,安全 密钥以及api证书
module.exports = {
ENV: 'xxx', // TCB环境ID
MCHID: 'xxx',//商户id
KEY: '0123456789abcdefghijklmnopqrstuv',
CERT_FILE_CONTENT: fs.existsSync(CERT_PATH) ? fs.readFileSync(CERT_PATH) : null,
TIMEOUT: 10000 // 毫秒
};
3、云开发数据库新增goods、orders两个集合,并赋予所有可读写权限,这一点很重要。
开发过程中遇到的问题:
1、云函数执行失败
这是由于在之前没有在数据库里面创建goods集合和orders集合
2、签名错误
这是在正确配置之后还报这个错误,这个时候不要慌,首先核对自己的配置有没有问题,在确保配置没问题的前提下,相信自己,重新运行下就好了。
备注:想了解更多关于微信支付的逻辑流转,请别走开,继续阅读,下面是腾讯云课堂,有视频有文档,不容错过。
附几个微信支付实现的文档
https://cloud.tencent.com/developer/team/tcb/courses
上一周调通了一个商户的微信支付,这一周同样的逻辑又花了一周时间,可见这个细节还是太多了。