微信小程序开发文档 微信小程序 getPaidUnionId

2024-02-25 开发教程 微信小程序开发文档 匿名 0

auth.getPaidUnionId

本接口应在服务器端调用,详细说明参见服务端API。 本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载
wx-server-sdk >= 0.4.0

用户支付完成后,获取该用户的 UnionId,无需用户授权。本接口支持第三方平台代理查询。

  • 注意:调用前需要用户完成支付,且在支付后的五分钟内有效。

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

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

请求参数

属性类型默认值必填说明
access_tokenstring接口调用凭证
openidstring支付用户唯一标识
transaction_idstring微信支付订单号
mch_idstring微信支付分配的商户号,和商户订单号配合使用
out_trade_nostring微信支付商户订单号,和商户号配合使用

返回值

Object

返回的 JSON 数据包

属性类型说明
unionidstring用户唯一标识,调用成功后返回
errcodenumber错误码
errmsgstring错误信息

errcode 的合法值

说明最低版本
-1系统繁忙,此时请开发者稍候再试
0请求成功
40003openid 错误
89002没有绑定开放平台帐号
89300订单无效

使用说明

以下两种方式任选其一。

  1. 微信支付订单号(transaction_id):
https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN&openid=OPENID&transaction_id=TRANSACTION_ID
  1. 微信支付商户订单号和微信支付商户号(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 的权限,详情

请求参数

属性类型默认值必填说明
openidstring支付用户唯一标识
transactionIdstring微信支付订单号
mchIdstring微信支付分配的商户号,和商户订单号配合使用
outTradeNostring微信支付商户订单号,和商户号配合使用

返回值

Object

返回的 JSON 数据包

属性类型说明
unionidstring用户唯一标识,调用成功后返回
errCodenumber错误码
errMsgstring错误信息

errCode 的合法值

说明最低版本
0成功

异常

Object

抛出的异常

属性类型说明
errCodenumber错误码
errMsgstring错误信息

errCode 的合法值

说明最低版本
-1系统繁忙,此时请开发者稍候再试
40003openid 错误
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"
}