据微信公众平台称,使用云开发来实现相应的支付功能后,开发者无需关心证书、签名、微信支付服务器端文档,使用简单、代码较少,只需要调用相应的函数即可。此外,因为云开发基于微信私有协议实现,官方通过服务商提供支付接口对接支持,不依赖第三方模块,免去泄漏证书、支付情况等其他敏感信息的风险。同时,云开发还支持云函数接收微信支付进行支付和退款的回调,安全高效。

如何接入

1、准备工作

  • 微信开发者工具预发布(RC)版 1.03.2005141 及更新的版本
  • 需要已经开通了微信支付,且已绑定了商户号的小程序

2、如何开通

在微信开发者工具中,使用绑定的微信小程序账号,打开云开发控制台,在云开发控制台中的 设置 - 全局设置 中添加商户号。


微信支付成功回调 Java 微信支付回调函数_微信支付成功回调 Java


添加后,需要在绑定的商户号管理员在微信支付提供的【微信支付商家助手】小程序上确认授权。

如果需要 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、关键开发流程

  1. 小程序调用云函数,在云函数中调用统一下单接口,参数中带上接收异步支付结果的云函数名和其所在云环境 ID
  2. 统一下单接口返回的成功结果对象中有 payment 字段,该字段即是小程序端发起支付的接口(wx.requestPayment)所需的所有信息
  3. 小程序端拿到云函数结果,调用 wx.requestPayment 发起支付
  4. 支付完成后,在统一下单接口中配置的云函数将收到支付结果通知

5、支付回调

在调用下单和退款接口时,需要传递 envIdfunctionName 这两个参数来指定支付结果回调的云函数,在微信支付完成支付或退款后,系统会触发指定的云函数,来告知开发者用户的支付或退款的结果。