iOS
更新时间:2025.06.25简介
商户在申请批量结算后,可在移动端应用APP中集成开放SDK调起微信,请求用户确认收款。
接入前注意事项
在接入前需详细阅读下方说明:
该能力需要使用微信支付商户号,需配置 Api key 配置商户号证书等内容,详情可参考开发必要参数说明
接口说明
支持商户:【平台商户】
接口名称:WXOpenBusinessView
需要引用新的openSDK:
iOS openSDK下载地址(版本>=1.8.4):iOS资源下载
iOS 接入文档链接:openSDK说明文档
|
接口参数
iOS对应对象:WXOpenBusinessViewReq
请求参数
businessType 必填 string(16)
【业务类型】固定配置:liteAppSettleC2CUserConfirmPay
query 必填 string(2048)
【查询参数】使用URL的query string方式传递参数,格式为key=value&key2=value2,其中value、value2需要进行UrlEncode处理。
属性 | |
调用示例
返回参数
iOS对应对象:WXOpenBusinessViewResp
businessType 必填 string(16)
【业务类型】打开的业务类型。
extMsg 必填 string
【扩展信息】返回的业务数据,格式为JSON字符串,如 {"result":"success","code":"SUCCESS","settleBatchNo":"1111","outSettleBatchNo":"222"}
。具体内部字段如下
属性 | |
返回示例
|
错误码
错误码 | 描述 | 解决方案 |
---|---|---|
PARAM_ERROR | 参数错误 | 请检查传入参数是否符合格式要求 |
INVALID_REQUEST | 请求失败 | 参数格式正确,但不符合业务规则,请查看失败原因 |
SIGN_ERROR | 签名验证不通过 | 请参阅 签名常见问题 |
NO_AUTH | 无接口权限 | 没有调用此接口的权限,请查看失败原因 |
RATELIMIT_EXCEEDED | 频率超限 | 请降低请求接口频率 |
USER_ERROR | 用户原因失败 | 客户端不受支持、用户主动取消、网络异常等用户原因失败,通常无需处理 注意:网络异常时,可能用户已发出确认请求,最终收款状态请以服务端回调或主动查单为准 |
ALREADY_EXISTS | 资源已经存在 | 请求创建的资源重复,或者请求执行的操作已经完成,请检查资源状态 例如:存在已受理过的结算单,不可重复发起结算 |
SYSTEM_ERROR | 系统异常,请稍后再试 | 请稍后再试 |
签名步骤
构造待签名串
待签名串共有四行,每行为一个参数值,并以 \n(换行符,ASCII 编码值为 0x0A)结尾,最后一行也需要以 \n 结尾。
如果参数值以 \n 结束,也需要额外附加一个 \n。
待签名串的结构:
待签名串的内容示例:
计算签名值
使用商户私钥对 待签名串 进行 SHA256 with RSA 签名,并对签名结果进行 Base64 编码,得到签名值 signature。
以命令行为例:
输出结果示例:
在以上计算签名值的过程中,没有使用到 signType 参数,但调用接口时仍需要传递默认值 RSA