# 微信支付 - 微信支付订单号查询订单

该接口方法需要安装 小程序微信支付能力,如未安装需要前往安装才可以使用

# 接口英文名

wxpay_query_order_by_transaction_id

注意:该接口仅支持在服务端调用

# 调用方式

# 1. 使用云函数在服务端调用查询退款接口

模板已内置了云函数代码,可以直接在微信开发者工具中下载到本地修改后使用。 也可以手动创建云函数来完成,点击在线代码示例,可以查看云函数示例代码。

  • 下载模板云函数代码到本地

打开微信开发者工具界面,在cloudfunctions目录点击右键,选择同步云函数列表,同步模板中的云函数wxpayFunctions到本地;然后在云函数wxpayFunctions目录右键,选择下载,即可下载模板内置的云函数代码到本地。如下图所示:



  • 编辑下单云函数

修改云函数wxpayFunctions下的wxpay_query_order_by_transaction_id/index.js代码,参数更新为业务实际参数。云函数编辑后,需要重新部署。

# 2. 小程序端调用云函数查询订单

小程序端调用云函数时,需要先在小程序端初始化云能力。修改app.js,在 ApponLaunch 生命周期方法中添加云能力初始化代码,参数传入用户的云开发环境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 附加数据