iOS
更新时间:2025.07.02||
简介
商家转账用户确认模式下,商户通过在移动端应用APP中集成开放SDK调起微信请求用户确认收款。
接入前注意事项
商户需先通过发起转账接口申请创建转账单,获取到跳转领取页面的package信息后,商户APP再通过微信Open SDK(详见IOS接入指南)的sendReq方法拉起用户确认收款页。
接口说明
| iOS兼容性表现:若微信版本 >= 8.0.45,开发者可以通过此openSDK接口调起用户确认收款页面;若微信版本 < 8.0.45,开发者通过此openSDK接口可以跳转到微信,但不能调起用户确认收款页面,此时微信会提示用户可能由于应用的请求非法或者微信版本过低。 |
|
接口参数
iOS对应对象:WXOpenBusinessViewReq
请求参数
businessType 必填 string(16)
【业务类型】固定配置:requestMerchantTransfer
query 必填 string(2048)
【查询参数】使用URL的query string方式传递参数,格式为key=value&key2=value2,其中value、value2需要进行UrlEncode处理。
 | 属性 |
| mchId 必填 string(32) 【商户号】商户号,由微信支付生成并下发,和发起转账传入的mchid必须是同一个
subMchId 必填 string(32) 【子商户号】子商户号,由微信支付生成并下发,和发起转账传入的sub_mchid必须是同一个
appId 必填 string(32) 【商户AppID】微信开放平台审核通过的移动应用appid,和发起转账传入的appid必须是同一个
package 必填 string(1024) 【package信息】对应发起转账接口应答参数中的 package_info(仅当转账单据状态为WAIT_USER_CONFIRM: 待收款用户确认时才返回),用于唤起用户确认收款页面。
subAppId 选填 string(1024) 【子商户AppID】微信开放平台审核通过的移动应用appid,如发起转账传入sub_appid,则需要传入,必须与发起转账时传入的值是同一个。 |
调用示例
iOS示例

1WXOpenBusinessViewReq *req = [WXOpenBusinessViewReq object];
2req.businessType = @"requestMerchantTransfer";
3req.query = "mchId=1230000000&appId=wx8888888888888888&subMchId=190000000&subAppId=wx8888888888888888&package=affffddafdfafddffda%3D%3D";
4[WXApi sendReq:req]
返回参数
iOS对应对象:WXOpenBusinessViewResp
businessType 必填 string(16)
【业务类型】打开的业务类型。
extMsg 必填 string
【扩展信息】返回的业务数据,格式为JSON字符串,如 {"result":"success"}。具体内部字段如下
 | 属性 |
| result 必填 string 【结果信息】 success: 展示页面成功。 fail: 展示页面失败。 cancel: 用户取消。发生场景:用户未确认收款,点击取消,返回APP |
返回示例

1
2resp.businessType == "requestMerchantTransfer"
3resp.extMsg == "{\"result\": \"success\"}" | 带有返回结果信息不代表订单确认成功,具体状态需以接口查询的结果为准。 |
|