字节最近也上线了类似微信小程序的云开发功能,这里整理并记录一下云函数实现小程序支付的具体步骤
和微信小程序云函数实现微信支付的总体流程一致,只是目前抖音还没有上线云支付这一功能,因此下单时要多一步请求加签

第一步:获取支付密钥
首先,请确保你的小程序开通了支付功能,然后打开小程序的控制台-能力-支付-支付方式管理-支付设置里,找到这个SALT,这个就是下单请求加签需要用到的支付密钥

第二步,创建抖音云函数:
附上抖音云地址:https://cloud.douyin.com
1.首先一定要用你小程序账号登录云函数控制台,这一步至关重要,这样你的小程序就可以走私有链路,该链路具有链路加速、DDoS安全防护等特性,即使你的小程序被反编译了,拿到了你的云环境和云函数Id,别人也没法调用你的云函数。
2.抖音云控制台-服务管理-服务列表,点击新建服务,选择自定义新建,服务类型选择函数,因为目前云函数刚刚上线不久,所以第一次创建需要申请白名单,按要求填写信息提交,基本上一个工作日就会审核通过
3.填写服务名称和服务简介(不要勾选TypeScript),点击确认,函数服务就创建完成了。

4.创建完成的函数服务目录中,有一个index文件,这个就是你云函数的代码,和微信云函数一样。这里每个函数服务里最多可以创建50个云函数

5.点击代码编辑器右上角的“如何调用”,即可获取你的云环境ID,云服务ID和云函数调用路径,官方还贴心的附上了参考代码

第三步:编写代码实现支付功能
这里和微信支付流程基本一致,都是先调用云函数预下单,反回一个订单信息给前端,前端根据订单信息调起收银台,唯一不同之处是目前抖音还没支持云支付免签功能,所以要多一步请求加签
附上完整代码:
云函数:
//引入Node.js的crypto、https、axios模块
const crypto = require('crypto');
const https = require('https');
const axios = require('axios');
// 支付密钥
const salt = "这里换成你的支付密钥";
// 允许自签名证书,如果不加这个会报错报错: error: AxiosError: unable to verify the first certificate
const httpsAgent = new https.Agent({
rejectUnauthorized: false
});
//获取当前时间函数,精确到毫秒,用于生成订单号
function getTime() {
const now = new Date();
const formattedTime = now.getUTCFullYear().toString().padStart(4, '0') +
(now.getUTCMonth() + 1).toString().padStart(2, '0') +
now.getUTCDate().toString().padStart(2, '0') +
now.getUTCHours()

最低0.47元/天 解锁文章
7582

被折叠的 条评论
为什么被折叠?



