小程序拉起用户确认收款页

更新时间:2025.06.26

商户在发起在途异常资金付款指令后,可通过商户的小程序调用微信支付 SDK,请求用户确认收款。

接口说明

支持商户:【平台商户】

支持的调用端:【小程序】

接口名称:WeChatPayAbnormalFundProcessing.requestTransferAbnormalFundConfirm

使用限制:

1. 微信 OpenSDK 没有默认集成本接口,商户小程序需要额外安装 NPM 依赖:

1# 通过 NPM 安装: 微信支付(扩展工具-商户资金在途异常处理)小程序 SDK
2npm install -S @tenpay/wechatpay-miniprogram-abnormal-fund-processing

2. iOS 及 Android 微信客户端版本 8.0.51 开始支持。如客户端不支持,微信会向用户展示提示页面,并触发商户小程序失败回调。

请求参数

mchid 必填 string(32)

【商户号】平台商户号


receiptId 必填 string(64)

【微信支付在途异常资金付款单号】微信支付在途异常资金付款业务的唯一标识


outInstructionNo 必填 string(64)

【商户侧指令编号】商户侧指令编号

小程序调起确认收款页示例

1import WeChatPayAbnormalFundProcessing from '@tenpay/wechatpay-miniprogram-abnormal-fund-processing';
2
3WeChatPayAbnormalFundProcessing.requestTransferAbnormalFundConfirm({
4  mchid: '1900000000',
5  receiptId: '0100011742874700562078230000',
6  outInstructionNo: '1200002',
7  success: function (res) {
8    // 已确认收款, 结果以服务端回调为准
9  },
10  fail: function (err) {
11    // 确认收款失败, 详见: `err.code` `err.message`
12  },
13  complete: function () {
14    // 无论成功/失败均会回调
15  },
16});

 

返回参数

success 成功回调的参数

receiptId 必填 string(64)

【微信支付在途异常资金付款单号】微信支付在途异常资金付款单号


outInstructionNo 必填 string(64)

【商户侧指令编号】商户侧指令编号

成功回调的参数示例

1{
2  receiptId: '0100011742874700562078230000',
3  outInstructionNo: '1200002'
4}

fail 失败回调的参数

code 必填 string(32)

【错误码】详见错误码部分


message 必填 string(1024)

【失败原因】不建议展示给用户,仅用于商户的开发人员定位失败原因

失败回调的参数示例

1{
2  code: "PARAM_ERROR",
3  message: "receiptId 格式有误"
4}

complete 完成回调的参数

没有参数。

无论成功、失败都会触发 complete 回调。

注意

回调成功不代表结算收款成功,具体状态应以服务端收到回调或主动查单的详情为准。

错误码

错误码

描述

解决方案

PARAM_ERROR

参数错误

请检查传入参数是否符合格式要求

INVALID_REQUEST

请求失败

参数格式正确,但不符合业务规则,请查看失败原因

NO_AUTH

无接口权限

没有调用此接口的权限,请查看失败原因

注意:拉起确认收款的小程序 AppID 应与申请转付时时填写的 AppID 一致

RATELIMIT_EXCEEDED

频率超限

请降低请求接口频率

USER_ERROR

用户原因失败

客户端不受支持、用户主动取消、网络异常等用户原因失败,通常无需处理

注意:网络异常时,可能用户已发出确认请求,最终收款状态请以服务端回调或主动查单为准

ALREADY_EXISTS

资源已经存在

请求创建的资源重复,或者请求执行的操作已经完成,请检查资源状态

例如:存在已受理过的结算单,不可重复发起结算

SYSTEM_ERROR

系统异常,请稍后再试

请稍后再试