
据微信公众平台称,使用云开发来实现相应的支付功能后,开发者无需关心证书、签名、微信支付服务器端文档,使用简单、代码较少,只需要调用相应的函数即可。此外,因为云开发基于微信私有协议实现,官方通过服务商提供支付接口对接支持,不依赖第三方模块,免去泄漏证书、支付情况等其他敏感信息的风险。同时,云开发还支持云函数接收微信支付进行支付和退款的回调,安全高效。
如何接入
1、准备工作
- 微信开发者工具预发布(RC)版 1.03.2005141 及更新的版本
- 需要已经开通了微信支付,且已绑定了商户号的小程序
2、如何开通
在微信开发者工具中,使用绑定的微信小程序账号,打开云开发控制台,在云开发控制台中的 设置 - 全局设置 中添加商户号。

添加后,需要在绑定的商户号管理员在微信支付提供的【微信支付商家助手】小程序上确认授权。
如果需要 JSAPI 和 API 退款权限,需要前往微信支付商户平台我的授权产品中进行确认授权,完成授权后即可调用微信支付相关接口能力。
3、支付 Demo 代码
在云函数中,调用 cloudPay.unifiedOrder, 即可生成小程序侧调用支付接口所需参数。
cloud.cloudPay.unifiedOrder({ body : "小秋TIT店-超市", outTradeNo : "xxx", spbillCreateIp : "127.0.0.1", subMchId : "1900009231", subAppid : "wxe5f52902cf4de896", totalFee : 1, envId: "test-f0b102", // 回调云环境 functionName: "pay_cb" // 回调云函数名})
4、关键开发流程
- 小程序调用云函数,在云函数中调用统一下单接口,参数中带上接收异步支付结果的云函数名和其所在云环境 ID
- 统一下单接口返回的成功结果对象中有 payment 字段,该字段即是小程序端发起支付的接口(wx.requestPayment)所需的所有信息
- 小程序端拿到云函数结果,调用 wx.requestPayment 发起支付
- 支付完成后,在统一下单接口中配置的云函数将收到支付结果通知
5、支付回调
在调用下单和退款接口时,需要传递 envId 和 functionName 这两个参数来指定支付结果回调的云函数,在微信支付完成支付或退款后,系统会触发指定的云函数,来告知开发者用户的支付或退款的结果。