# 支付后获取 Unionid

调试工具

接口应在服务器端调用,详细说明参见服务端API

本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0

# 接口说明

# 接口英文名

getPaidUnionid

# 功能描述

该接口用于在用户支付完成后,获调用本接口前需要用户完成支付,用户支付完成后,取该用户的 UnionId,无需用户授权。本接口支付后的五分钟内有效。

# 注意事项

  • 调用前需要用户完成支付,且在支付后的五分钟内有效。
  • 使用微信支付订单号(transaction_id)和微信支付商户订单号和微信支付商户号(out_trade_no 及 mch_id),二选一

# 调用方式

# HTTPS 调用


GET https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN 

# 云调用

  • 出入参和HTTPS调用相同,调用方式可查看云调用说明文档

  • 接口方法为: openapi.auth.getPaidUnionId

# 第三方调用

  • 调用方式以及出入参和HTTPS相同,仅是调用的token不同

# 请求参数

属性 类型 必填 说明
access_token string 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用access_token或者authorizer_access_token
openid string 支付用户唯一标识
transaction_id string 微信支付订单号
mch_id string 微信支付分配的商户号,和商户订单号配合使用
out_trade_no string 微信支付商户订单号,和商户号配合使用

# 返回参数

属性 类型 说明
unionid string 用户唯一标识,调用成功后返回
errcode number 错误码
errmsg string 错误信息

# 调用示例

示例说明: 使用微信支付订单号

# 请求数据示例


GET https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN&openid=OPENID&transaction_id=TRANSACTION_ID 

# 返回数据示例


{
  "unionid": "oTmHYjg-tElZ68xxxxxxxxhy1Rgk",
  "errcode": 0,
  "errmsg": "ok"
} 

示例说明: 使用微信支付商户订单号和微信支付商户号(out_trade_no 及 mch_id)

# 请求数据示例


 GET 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"
} 

示例说明: 云函数示例

# 请求数据示例


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"
} 

# 错误码

错误码 错误码取值 解决方案
40001 invalid credential  access_token isinvalid or not latest 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口
0 ok ok
-1 system error 系统繁忙,此时请开发者稍候再试
40003 invalid openid 不合法的 OpenID ,请开发者确认 OpenID (该用户)是否已关注公众号,或是否是其他公众号的 OpenID
89002 open not exists open not exists,该公众号/小程序未绑定微信开放平台账号。
89300 invalid trade 订单无效