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 的合法值
异常
Object
抛出的异常
属性 |
类型 |
说明 |
errCode |
number |
错误码 |
errMsg |
string |
错误信息 |
errCode 的合法值
值 |
说明 |
最低版本 |
-1 |
系统繁忙,此时请开发者稍候再试 |
|
40003 |
openid 错误 |
|
89002 |
没有绑定开放平台帐号 |
|
89300 |
订单无效 |
|
请求示例const cloud = require('wx-server-sdk')
cloud.init()
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"
}
|
请发表评论