小程序的开发过程

1.申请小程序

2. 使用云函数开发小程序

1)获取openid

// 初始化云函数
cloud.init({
  // API 调用都保持和云函数当前所在环境一致
  env: cloud.DYNAMIC_CURRENT_ENV
})
cloud.getWXContext() // 获取context, 里面包含了OPENID等信息

2)小程序支付

小程序后台要先完成商户号关联和微信认证,然后需要在IDE中设置好商户号

3)统一下单
官方文档: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html

cloud.cloudPay.unifiedOrder(orderInfo) // order参数是一个object

这里有几点需要注意:
a) 参数orderInfo.functionName,是微信支付完成后微信平台需要调用的函数名,是云函数,需要开发,必须返回{errcode: 0, errmsg: 'SUCCESS'},否则微信平台会反复调用它,它需要拥有处理重复消息的能力。另外使用云函数开发,不会有签名字符串返回,无法做签名校验。
b) orderInfo. subMchId 是关联的商户号,不一定是子商户号
c) orderInfo.spbillCreateIp 是服务器的公网IP地址

3. 云函数的返回问题

云函数默认是1秒返回,可以调整。当使用了setTimeout之类的函数,setTimeout内的函数在运行完成之前,如果先return了结果前端可以收到返回值,但是由于云函数还在运行,若超时,云函数还是会抛出一个超时错误

发表评论

邮箱地址不会被公开。 必填项已用*标注