开发指引

更新时间:2024.12.02

1. 接口规则

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

2. 开发环境搭建

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

2.1. 集成SDK

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

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

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

SDK

说明

wechatpay-java

Java 服务端 SDK

wechatpay-php

PHP 服务端 SDK

wechatpay-go

GO 服务端 SDK

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

  1. 签名生成

  2. 签名验证

  3. 敏感信息加解密

  4. merchantPrivateKey(私钥)

  5. wechatpayCertificates(平台证书)

  6. APIV3Key(V3 key)

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

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

3.1. 业务流程图

3.2. 关键步骤说明

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

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

2、商户发起商家转账,先调用《发起商家转账》接口发起商家转账请求,当返回的订单状态为WAIT_USER_CONFIRM时,可唤起用户确认收款。

4、当返回商户订单状态为ACCEPTED时,需要检查商户资金是否足够,并一定要使用原商家单号及原参数重试,否则可能造成重复转账等资金风险。

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

第二步:用户确认收款

1、当发起商家转账成功且返回的订单状态为WAIT_USER_CONFIRM时,通过《请求用户确认收款JSAPI》或《APP调起用户确认收款》来请求用户确认收款
2、用户确认收款后,商户订单状态为SUCCESS,微信支付系统并通过《商家转账完成通知》来通知商户系统

第三步:查询商家转账状态

1、商户收到通知后,通过商户单号查询转账单微信转账单号查询转账单API接口查询商家转账订单,确认商家转账订单状态为SUCCESS,来确定是否收款成功。

2、使用API接口只支持查询最近30天内的商家转账订单,30天之前的商家转账订单请登录商户平台查询。

3、商家转账订单的状态SUCCESS,FAIL,CANCELLED是终态,商户可以根据以上几个状态做不同的业务展示

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

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

2、支持受理6个月内的商家转账电子回单。

3、仅支持为SUCCESS状态的商家转账订单(不满足条件返回 400 INVALID_REQUEST);