auth.getPaidUnionId¶
本接口应在服务器端调用,详细说明参见 ability_bpi 。
本接口支持云调用。需开发者工具版本 >= 1.02.1904090
(最新稳定版下载), wx-server-sdk >= 0.4.0
用户支付完成后,获取该用户的 UnionId,无需用户授权。本接口支持第三方平台代理查询。
注意
调用前需要用户完成支付,且在支付后的五分钟内有效。
调用方式:
1. HTTPS 调用
2. 云调用
HTTPS 调用¶
请求地址 api_wxa
- GET getpaidunionid¶
- Synopsis
用户支付完成后,获取该用户的 UnionId,无需用户授权。本接口支持第三方平台代理查询。
- Query Parameters
access_token (string) – 必选 接口调用凭证
openid (string) – 必选 支付用户唯一标识
transaction_id (string) – 非比选 微信支付订单号
mch_id (string) – 非必选 微信支付分配的商户号,和商户订单号配合使用
out_trade_no (string) – 非必选 微信支付商户订单号,和商户号配合使用
- Response JSON Object
unionid (string) – 用户唯一标识,调用成功后返回
serrcode (number) –
错误码, 合法值如下
-1 系统繁忙,此时请开发者稍候再试
0 请求成功
40003 openid 错误
89002 没有绑定开放平台帐号
89300 订单无效
errmsg (string) – 错误信息
使用说明
以下两种方式任选其一。
微信支付订单号(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({openid[, transactionId][, mchId][, outTradeNo]})¶
需在 config.json 中配置 auth.getPaidUnionId API 的权限,详情
- 参数
openid (
string()
) – 是 支付用户唯一标识transactionId (
string()
) – 否 微信支付订单号mchId (
string()
) – 否 微信支付分配的商户号,和商户订单号配合使用outTradeNo (
string()
) – 否 微信支付商户订单号,和商户号配合使用
- 返回类型
Object
- 返回
返回的 JSON 数据包
unionid string 用户唯一标识,调用成功后返回
errCode number 错误码
0 成功
errMsg string 错误信息
- 抛出
SomeError()
–异常 Object 抛出的异常
errCode number 错误码
-1 系统繁忙,此时请开发者稍候再试
40003 openid 错误
89002 没有绑定开放平台帐号
89300 订单无效
errMsg string 错误信息
- 请求示例
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: '' }) console.log(result) return result } catch (err) { console.log(err) return err } }
- 返回示例
{ "unionid": "oTmHYjg-tElZ68xxxxxxxxhy1Rgk", "errCode": 0, "errMsg": "openapi.auth.getPaidUnionId:ok" }