# 微信支付 - 微信支付订单号查询订单
该接口方法需要安装 小程序微信支付能力,如未安装需要前往安装才可以使用
# 接口英文名
wxpay_query_order_by_transaction_id
注意:该接口仅支持在服务端调用
# 调用方式
# 1. 使用云函数在服务端调用查询退款接口
模板已内置了云函数代码,可以直接在微信开发者工具中下载到本地修改后使用。 也可以手动创建云函数来完成,点击在线代码示例,可以查看云函数示例代码。
- 下载模板云函数代码到本地
打开微信开发者工具界面,在cloudfunctions
目录点击右键,选择同步云函数列表
,同步模板中的云函数wxpayFunctions
到本地;然后在云函数wxpayFunctions
目录右键,选择下载
,即可下载模板内置的云函数代码到本地。如下图所示:
- 编辑下单云函数
修改云函数wxpayFunctions
下的wxpay_query_order_by_transaction_id/index.js
代码,参数更新为业务实际参数。云函数编辑后,需要重新部署。
# 2. 小程序端调用云函数查询订单
小程序端调用云函数时,需要先在小程序端初始化云能力。修改app.js
,在 App
的 onLaunch
生命周期方法中添加云能力初始化代码,参数传入用户的云开发环境ID。
App({
onLaunch: function () {
wx.cloud.init({
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
env: '{%TCB_ENV_ID%}',
// 是否在将用户访问记录到用户管理中,在控制台中可见,默认为false
traceUser: false,
});
},
});
小程序中调用步骤 1 中的云函数,查询订单。
// 小程序代码
wx.cloud.callFunction({
// 云函数名称
name: 'wxpayFunctions',
data: {
// 调用云函数中的订单查询方法
type: 'wxpay_query_order_by_transaction_id',
// 业务其他参数...
},
success: (res) => {
console.log('查询订单结果: ', res);
},
});
# 更多说明
错误码请参考微信支付订单号查询订单
# 入参:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
transaction_id | string | 是 | 微信支付系统生成的订单号 |
# 出参:
参数 | 类型 | 描述 |
---|---|---|
requestID | string | 请求唯一ID |
result | object | |
result.code | number | 响应码 |
result.data | object | |
result.data.transaction_id | string | 微信支付系统生成的订单号 |
result.data.amount | object | |
result.data.amount.payer_total | number | 用户支付金额,单位为分。(指使用优惠券的情况下,这里等于总金额-优惠券金额) |
result.data.amount.total | number | 订单总金额,单位为分 |
result.data.amount.currency | string | CNY:人民币,境内商户号仅支持人民币。 |
result.data.amount.payer_currency | string | 用户支付币种 |
result.data.mchid | string | 直连商户号 |
result.data.trade_state | string | 交易状态,枚举值:* SUCCESS:支付成功 * REFUND:转入退款 * NOTPAY:未支付 * CLOSED:已关闭 * REVOKED:已撤销(仅付款码支付会返回) * USERPAYING:用户支付中(仅付款码支付会返回)* PAYERROR:支付失败(仅付款码支付会返回) |
result.data.promotion_detail | array of object | 优惠功能 |
result.data.promotion_detail[].coupon_id | string | |
result.data.promotion_detail[].name | string | |
result.data.promotion_detail[].scope | string | |
result.data.promotion_detail[].type | string | |
result.data.promotion_detail[].amount | number | |
result.data.promotion_detail[].stock_id | string | |
result.data.promotion_detail[].wechatpay_contribute | number | |
result.data.promotion_detail[].merchant_contribute | number | |
result.data.promotion_detail[].other_contribute | number | |
result.data.promotion_detail[].currency | string | |
result.data.promotion_detail[].goods_detail | array of object | |
result.data.promotion_detail[].goods_detail[].goods_id | string | |
result.data.promotion_detail[].goods_detail[].quantity | number | |
result.data.promotion_detail[].goods_detail[].unit_price | number | |
result.data.promotion_detail[].goods_detail[].discount_amount | number | |
result.data.promotion_detail[].goods_detail[].goods_remark | string | |
result.data.bank_type | string | 银行类型,采用字符串类型的银行标识。 |
result.data.success_time | string | 支付完成时间 |
result.data.payer | object | |
result.data.payer.openid | string | 用户标识 |
result.data.out_trade_no | string | 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一 |
result.data.appid | string | 小程序appID |
result.data.trade_state_desc | string | 交易状态描述 |
result.data.trade_type | string | 交易类型,枚举值:* JSAPI:公众号支付 * NATIVE:扫码支付 * APP:APP支付 * MICROPAY:付款码支付 * MWEB:H5支付 * FACEPAY:刷脸支付 |
result.data.attach | string | 附加数据 |