📖 前置阅读:
| 步骤 | 接口 | 说明 |
|---|---|---|
| ① | POST /api/v1/payroll-card/face/preorder/official | 核身预下单,获取 token |
| ② | - | 使用 token 拉起微工卡小程序 |
| ③ | - | 用户在小程序完成人脸核身 |
| ④ | GET /api/v1/payroll-card/face/result | 查询核身结果 |
| ⑤ | - | 核身成功后即可发起转账 |
| 步骤 | 接口 | 说明 |
|---|---|---|
| ① | POST /api/v1/payroll-card/token | 生成授权 token |
| ② | POST /api/v1/payroll-card/launch/use | 获取拉起链接 |
| ③ | - | 用户在小程序完成授权 |
| ④ | GET /api/v1/payroll-card/auth/status | 查询授权状态 |
| ⑤ | POST /api/v1/payroll-card/transfer/batch/create | 发起批量转账 |
{
"success": true,
"code": "SUCCESS",
"data": {
"openid": "oXXXXX",
"mchid": "1900000001",
"subMchid": "1900000109",
"token": "abcdefghijklmn",
"expiresIn": 1800
}
}💡 推荐:使用 POST /api/v1/payroll-card/launch/use接口,可一步获取完整的拉起链接。
{
"success": true,
"code": "SUCCESS",
"data": {
"openid": "oXXXXX",
"subMchid": "1900000109",
"authorizeState": "AUTHORIZED", // UNAUTHORIZED / AUTHORIZED / DEAUTHORIZED
"authorizeTime": "2025-01-08T10:30:00+08:00",
"registerState": "REGISTERED", // UNREGISTERED / REGISTERED / CLOSED
"registerTime": "2025-01-08T10:30:00+08:00"
}
}| 状态 | 含义 | 后续操作 |
|---|---|---|
UNAUTHORIZED | 未授权 | 需要拉起小程序让用户授权 |
AUTHORIZED | 已授权 | 可以发起转账 |
DEAUTHORIZED | 已取消授权 | 需要重新授权 |
{
"success": true,
"code": "SUCCESS",
"data": {
"authenticateNumber": "AUTH20250108001",
"openid": "oXXXXX",
"mchid": "1900000001",
"subMchid": "1900000109",
"token": "abcdefghijklmn",
"expiresIn": 300
}
}{
"success": true,
"code": "SUCCESS",
"data": {
"authenticateNumber": "AUTH20250108001",
"openid": "oXXXXX",
"authenticateState": "AUTHENTICATE_SUCCESS",
"authenticateTime": "2025-01-08T10:35:00+08:00",
"authenticateScene": "FROM_MINI_APP",
"projectName": "XX物流项目",
"employerName": "XX物流有限公司"
}
}| 状态 | 含义 |
|---|---|
AUTHENTICATE_PROCESSING | 核身进行中 |
AUTHENTICATE_SUCCESS | 核身成功 |
AUTHENTICATE_FAILED | 核身失败 |
{
"success": true,
"code": "SUCCESS",
"data": {
"outBatchNo": "BATCH20250108001",
"batchId": "1030000071100999991182020050700019480001",
"createTime": "2025-01-08T10:40:00+08:00"
}
}{
"success": true,
"code": "SUCCESS",
"data": {
"outBatchNo": "BATCH20250108001",
"batchId": "1030000071100999991182020050700019480001",
"batchStatus": "FINISHED",
"totalAmount": 100000,
"totalNum": 2,
"successNum": 2,
"failNum": 0
}
}| 状态 | 含义 | 处理建议 |
|---|---|---|
ACCEPTED | 已受理 | 等待处理,定时轮询 |
PROCESSING | 转账中 | 正在处理,继续轮询 |
FINISHED | 已完成 | 查看明细确认结果 |
CLOSED | 已关闭 | 查看关闭原因 |
outBatchNo 视为同一批次(幂等)outDetailNo 在批次内必须唯一employmentType 会被记录employmentType 必须与授权时一致下单用工类型与授权用工类型不匹配totalAmount 必须等于 transferDetailList 中所有 transferAmount 之和totalNum 必须等于 transferDetailList 的数量userName、idCardNumber 等敏感字段由平台自动加密| 接口类型 | 限流 |
|---|---|
| 创建批次 | 5 QPS/商户 |
| 查询接口 | 50 QPS/商户 |
callbackUrl,当批次状态变更(进入终态)时,平台会向该 URL 发送通知:{
"outBatchNo": "BATCH20250108001",
"batchId": "1030000071100999991182020050700019480001",
"batchStatus": "FINISHED",
"successNum": 2,
"failNum": 0,
"updateTime": "2025-01-08T10:45:00+08:00"
}| 功能 | 方法 | 路径 |
|---|---|---|
| 生成授权 token | POST | /api/v1/payroll-card/token |
| 查询授权状态 | GET | /api/v1/payroll-card/auth/status |
| 拉起(授权并使用) | POST | /api/v1/payroll-card/launch/use |
| 拉起(查看微工卡) | POST | /api/v1/payroll-card/launch/view |
| 核身预下单 | POST | /api/v1/payroll-card/face/preorder/official |
| 查询核身结果 | GET | /api/v1/payroll-card/face/result |
| 发起批量转账 | POST | /api/v1/payroll-card/transfer/batch/create |
| 查询批次状态 | GET | /api/v1/payroll-card/transfer/batch/status |
| 查询批次明细 | GET | /api/v1/payroll-card/transfer/batch/details |
| 申请电子回单 | POST | /api/v1/payroll-card/transfer/batch/receipt/apply |
| 查询回单状态 | GET | /api/v1/payroll-card/transfer/batch/receipt/status |
| 下 载回单 | GET | /api/v1/payroll-card/transfer/batch/receipt/download |
auth/status 接口确认授权状态。face/preorder/official):一步完成授权 + 人脸核身,适合需要核身验证的场景token):仅完成授权,不进行核身验证employmentType 会被记录。后续请求必须使用相同的用工类型,否则需要用户重新授权。📖 更多详情请参考各接口的详细文档。