小程序能够获取到unionid的前提:
- 小程序
必须
绑定在微信开放平台
上,不绑定报errcode89002
- 完成微信支付的前提:小程序
appid
、用户的openid
、商户id
、商户秘钥
(商户后台自定义)、商户订单号
、商品价额、 商品名称、加密协议服务器(https) - 需要具备接口调用凭据(
access_token
)获取方式
获取unionid注意:
-
想要拿到
transaction_id
微信支付订单号 、mch_id
微信支付分配的商户号 、out_trade_no
微信支付商户订单号必须通过支付成功通知地址notify_url
中获取 。
这里需要注意数据接收成功一定要给微信返回。不返回微信会不断发送数据到notify_url
导致数据重复
-
再获取到订单的信息后需要通过服务端的方式请求UnionId
以下两种方式任选其一。
注意:请求参数和云请求参数写法不一致。严格按照文档的请求写法书写参数- 微信支付订单号(
transaction_id
):
https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN&openid=OPENID&transaction_id=TRANSACTION_ID
- 微信支付商户订单号和微信支付商户号(
out_trade_no 及 mch_id
):
https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN&openid=OPENID&mch_id=MCH_ID&out_trade_no=OUT_TRADE_NO
- 微信支付订单号(