Skip to content

Commit 559c7e7

Browse files
Copilotbinarywang
andcommitted
Update documentation for WeChat transfer authorization mode feature
Co-authored-by: binarywang <[email protected]>
1 parent 1d8f143 commit 559c7e7

File tree

2 files changed

+119
-0
lines changed

2 files changed

+119
-0
lines changed

NEW_TRANSFER_API_SUPPORT.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
| **转账方式** | 批量转账 | 单笔转账 |
1818
| **场景支持** | 基础场景 | 丰富场景(如佣金报酬等) |
1919
| **撤销功能** | ❌ 不支持 | ✅ 支持 |
20+
| **授权模式** | 仅需确认模式 | ✅ 支持免确认授权模式 |
2021
| **适用范围** | 所有商户 | **新开通商户必须使用** |
2122

2223
### 2. 新版API功能列表
@@ -27,6 +28,30 @@
2728
**回调通知** - `parseTransferBillsNotifyResult()`
2829
**RSA加密** - 自动处理用户姓名加密
2930
**场景支持** - 支持多种转账场景ID
31+
**授权模式** - 支持免确认收款授权模式
32+
33+
### 3. 收款授权模式支持
34+
35+
**新增功能:免确认收款授权模式**
36+
37+
- **需确认收款授权模式**(默认):用户需要手动确认才能收款
38+
- **免确认收款授权模式**:用户授权后,收款无需确认,转账直接到账
39+
40+
#### 使用方法
41+
42+
```java
43+
// 免确认授权模式 - 提升用户体验
44+
TransferBillsRequest request = TransferBillsRequest.newBuilder()
45+
.receiptAuthorizationMode(WxPayConstants.ReceiptAuthorizationMode.NO_CONFIRM_RECEIPT_AUTHORIZATION)
46+
// 其他参数...
47+
.build();
48+
49+
// 需确认授权模式(默认)
50+
TransferBillsRequest request2 = TransferBillsRequest.newBuilder()
51+
.receiptAuthorizationMode(WxPayConstants.ReceiptAuthorizationMode.CONFIRM_RECEIPT_AUTHORIZATION)
52+
// 其他参数...
53+
.build();
54+
```
3055

3156
## 快速开始
3257

NEW_TRANSFER_API_USAGE.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,100 @@
1616
- **API前缀**: `/v3/fund-app/mch-transfer/transfer-bills`
1717
- **特点**: 单笔转账,支持更丰富的转账场景
1818

19+
## 收款授权模式功能
20+
21+
### 授权模式说明
22+
23+
微信支付转账支持两种收款授权模式:
24+
25+
#### 1. 需确认收款授权模式(默认)
26+
- **常量**: `WxPayConstants.ReceiptAuthorizationMode.CONFIRM_RECEIPT_AUTHORIZATION`
27+
- **特点**: 用户收到转账后需要手动点击确认才能到账
28+
- **适用场景**: 一般的转账场景
29+
- **用户体验**: 安全性高,但需要额外操作
30+
31+
#### 2. 免确认收款授权模式
32+
- **常量**: `WxPayConstants.ReceiptAuthorizationMode.NO_CONFIRM_RECEIPT_AUTHORIZATION`
33+
- **特点**: 用户事先授权后,转账直接到账,无需确认
34+
- **适用场景**: 高频转账场景,如佣金发放、返现等
35+
- **用户体验**: 体验流畅,无需额外操作
36+
- **前提条件**: 需要用户事先进行授权
37+
38+
### 使用示例
39+
40+
#### 免确认授权模式转账
41+
42+
```java
43+
TransferBillsRequest request = TransferBillsRequest.newBuilder()
44+
.appid("your_appid")
45+
.outBillNo("NO_CONFIRM_" + System.currentTimeMillis())
46+
.transferSceneId("1005") // 佣金报酬场景
47+
.openid("user_openid")
48+
.transferAmount(200) // 2元
49+
.transferRemark("免确认收款转账")
50+
.receiptAuthorizationMode(WxPayConstants.ReceiptAuthorizationMode.NO_CONFIRM_RECEIPT_AUTHORIZATION)
51+
.userRecvPerception("Y")
52+
.build();
53+
54+
try {
55+
TransferBillsResult result = transferService.transferBills(request);
56+
System.out.println("转账成功,直接到账:" + result.getTransferBillNo());
57+
} catch (WxPayException e) {
58+
if ("USER_NOT_AUTHORIZED".equals(e.getErrCode())) {
59+
System.err.println("用户未授权免确认收款,请先引导用户进行授权");
60+
}
61+
}
62+
```
63+
64+
#### 需确认授权模式转账(默认)
65+
66+
```java
67+
TransferBillsRequest request = TransferBillsRequest.newBuilder()
68+
.appid("your_appid")
69+
.outBillNo("CONFIRM_" + System.currentTimeMillis())
70+
.transferSceneId("1005")
71+
.openid("user_openid")
72+
.transferAmount(150) // 1.5元
73+
.transferRemark("需确认收款转账")
74+
// .receiptAuthorizationMode(...) // 不设置时使用默认的确认模式
75+
.userRecvPerception("Y")
76+
.build();
77+
78+
TransferBillsResult result = transferService.transferBills(request);
79+
System.out.println("转账发起成功,等待用户确认:" + result.getPackageInfo());
80+
```
81+
82+
### 错误处理
83+
84+
使用免确认授权模式时,需要处理以下可能的错误:
85+
86+
```java
87+
try {
88+
TransferBillsResult result = transferService.transferBills(request);
89+
} catch (WxPayException e) {
90+
switch (e.getErrCode()) {
91+
case "USER_NOT_AUTHORIZED":
92+
// 用户未授权免确认收款
93+
System.err.println("请先引导用户进行免确认收款授权");
94+
// 可以引导用户到授权页面
95+
break;
96+
case "AUTHORIZATION_EXPIRED":
97+
// 授权已过期
98+
System.err.println("用户授权已过期,请重新授权");
99+
break;
100+
default:
101+
System.err.println("转账失败:" + e.getMessage());
102+
}
103+
}
104+
```
105+
106+
### 使用建议
107+
108+
1. **高频转账场景**推荐使用免确认模式,提升用户体验
109+
2. **首次使用**需引导用户进行授权
110+
3. **处理异常**妥善处理授权相关异常,提供友好的错误提示
111+
4. **场景选择**根据业务场景选择合适的授权模式
112+
19113
## 使用新版转账API
20114

21115
### 1. 获取服务实例

0 commit comments

Comments
 (0)