auth.getPaidUnionId
本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >=
1.02.1904090
(最新稳定版下载),wx-server-sdk
>=0.4.0
用户支付完成后,获取该用户的 UnionId,无需用户授权。本接口支持第三方平台代理查询。
- 注意:调用前需要用户完成支付,且在支付后的五分钟内有效。
调用方式:
HTTPS 调用
请求地址
GET https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN&openid=OPENID
请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证 | |
openid | string | 是 | 支付用户唯一标识 | |
transaction_id | string | 否 | 微信支付订单号 | |
mch_id | string | 否 | 微信支付分配的商户号,和商户订单号配合使用 | |
out_trade_no | string | 否 | 微信支付商户订单号,和商户号配合使用 |
返回值
Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
unionid | string | 用户唯一标识,调用成功后返回 |
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
-1 | 系统繁忙,此时请开发者稍候再试 | |
0 | 请求成功 | |
40003 | openid 错误 | |
89002 | 没有绑定开放平台帐号 | |
89300 | 订单无效 |
使用说明
以下两种方式任选其一。
- 微信支付订单号(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
返回数据示例
{
"unionid": "oTmHYjg-tElZ68xxxxxxxxhy1Rgk",
"errcode": 0,
"errmsg": "ok"
}
云调用
云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过
wx-server-sdk
使用。
接口方法
openapi.auth.getPaidUnionId
需在
config.json
中配置auth.getPaidUnionId
API 的权限,详情
请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
openid | string | 是 | 支付用户唯一标识 | |
transactionId | string | 否 | 微信支付订单号 | |
mchId | string | 否 | 微信支付分配的商户号,和商户订单号配合使用 | |
outTradeNo | string | 否 | 微信支付商户订单号,和商户号配合使用 |
返回值
Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
unionid | string | 用户唯一标识,调用成功后返回 |
errCode | number | 错误码 |
errMsg | string | 错误信息 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 成功 |
异常
Object
抛出的异常
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
-1 | 系统繁忙,此时请开发者稍候再试 | |
40003 | openid 错误 | |
89002 | 没有绑定开放平台帐号 | |
89300 | 订单无效 |
请求示例
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.auth.getPaidUnionId({
openid: '',
transactionId: '',
mchId: '',
outTradeNo: ''
})
return result
} catch (err) {
return err
}
}
返回数据示例
{
"unionid": "oTmHYjg-tElZ68xxxxxxxxhy1Rgk",
"errCode": 0,
"errMsg": "openapi.auth.getPaidUnionId:ok"
}