开发指引

更新时间:2023.08.22

# 1. 接口规则

商家转账到零钱,使用了全新的微信支付 APIv3接口规则

# 2. 开发环境搭建

开发前需要正确配置 私钥和证书APIv3密钥

# 2.1. 集成SDK

为了帮助开发者更好的调用接口,我们提供 微信支付APIv3官方SDK ,请根据自身开发语言,选择对应的SDK库集成到项目,并在商户平台配置平台证书

目前微信支付提供JAVA、PHP、GO三种语言版本的SDK,封装了签名生成、签名验证、敏感信息加/解密、媒体文件上传等基础接口功能。

各编程语言的SDK对“商家转账到零钱”的业务接口支持不一样,如若未支持相关业务接口,你可以使用SDK中的HTTP类实现发送HTTP请求,它会自动生成签名和验证签名。

SDK 说明
wechatpay-java (opens new window) Java 服务端 SDK
wechatpay-php (opens new window) PHP 服务端 SDK
wechatpay-go (opens new window) GO 服务端 SDK

如下通用基础功能接口,已经在SDK中完成封装,可替换相关参数后快速测试。

  1. 签名生成
  2. 签名验证
  3. 敏感信息加解密
  4. merchantPrivateKey(私钥)
  5. wechatpayCertificates(平台证书)
  6. APIV3Key(V3 key)

若使用的编程语言无对应的SDK,则需要按照接口规则与接口详细信息自行开发。

# 2.2. 接口体验

如果开发者使用过PostmanAPI的调试,建议在正式开发之前,使用 Postman签名脚本 (opens new window) 进行接口体验。

# 3. 商家转账业务接入说明

# 3.1. 业务流程图

示例1

# 3.2. 关键步骤说明

# 第一步:发起商家转账到零钱

1、调用接口前,开发者需要参考 接入前准备 确认已完成权限开通和产品配置,特别是关于API发起转账的相关配置一定要正确。

2、商户发起商家转账到零钱,先调用《发起批量转账》接口发起批次转账请求,受理成功将返回批次单号,此时并不代表转账成功。

3、当返回错误码为“SYSTEM_ERROR”时,请不要更换商家批次单号,一定要使用原商家批次单号及原参数重试,否则可能造成重复转账等资金风险。

4、受理成功后,在单据创建时间的3个自然日内使用同样批次单信息请求该接口,均返回应答码“200 OK”及对应的应答参数。

# 第二步:查询转账批次状态

1、使用API接口只支持查询最近30天内的转账批次单状态,30天之前的转账批次单请登录商户平台查询。

2、当发起商家转账到零钱请求受理成功之后,需等待10s-15min左右(批次内笔数越多所需等待时间越长)才可调用《通过微信批次单号查询批次单》、《通过商家批次单号查询批次单》接口来查询批次转账状态,若发起转账请求后立即查询,有可能查询到“转账批次单不存在”,请间隔几分钟再次尝试查询。

3、当查询到的批次单状态为:WAIT_PAY 时, 表示「付款验密人」需要到「微信支付商户助手」输入安全密码验证,24小时内未完成验证,自动关闭批次单。

4、当查询到批次单状态为FINISHED(已完成),才可进行下一步,查询转账明细状态。

# 第三步:查询转账明细状态

当查询到批次单状态为FINISHED(已完成),才可调用《通过微信明细单号查询明细单》、《通过商家明细单号查询明细单》接口进行转账明细查询。

# 第四步:申请下载电子回单(按需使用)

1、发起转账时传入了收款用户姓名,才支持申请电子回单。

2、支持受理2年内的转账批次电子回单和转账明细电子回单。

3、仅支持已完成状态且至少有一笔成功记录的批次获取转账批次电子回单(不满足条件返回 400 INVALID_REQUEST);

4、仅支持转账已完成的明细单申请电子回单(不满足条件返回 400 PARAM_ERROR);

5、详情参考 申请转账账单电子回单接口查询转账账单电子回单接口申请转账明细账单电子回单查询转账明细账单电子回单下载电子回单

# 进一步阅读