租赁电子合同回传 Skill
技能概述
本 Skill 提供租赁电子合同回传的全流程操作能力,通过调用支付宝开放平台 API 将已签署的电子合同 PDF 文件上传至租赁行业交易订单。
前置准备
申请条件
重要:
- 需已接入租赁行业交易解决方案
- 不支持沙箱调试,需使用生产环境
使用前请确保已完成:
- 在支付宝开放平台创建应用并签约租赁行业交易解决方案
- 已开通
alipay.open.file.upload和alipay.commerce.rent.additional.upload接口权限 - 获取应用 app_id、应用私钥、支付宝公钥
📖 详细接入流程请参阅 租赁行业交易解决方案
环境变量
所有凭证通过环境变量 ALIPAY_APPS 获取,支持多个应用(key 为 appId):
export ALIPAY_APPS='{
"2021xxx": {
"private_key": "<应用私钥>",
"alipay_public_key": "<支付宝公钥>"
}
}'
多应用示例:
export ALIPAY_APPS='{
"2021xxx": {
"private_key": "MIIEvQ...",
"alipay_public_key": "MIIBIj..."
},
"2022yyy": {
"private_key": "MIIEvQ...",
"alipay_public_key": "MIIBIj..."
}
}'
快速开始
详见 README.md
完整流程请参阅 业务流程详解
使用方式
本技能支持三种使用方式:
方式一:交互式引导
用户发起模糊请求时,通过交互式引导逐步完成操作:
用户:电子合同回传
助手:[自我介绍,让用户选择技术咨询或合同回传操作]
详细引导规范请参阅 交互引导规范
方式二:直接指令
用户可通过明确指令直接调用,跳过交互引导:
| 命令 | 说明 | 示例 |
|------|------|------|
| upload | 上传合同文件(每次1个) | upload --app 2021xxx --file /path/to/contract.pdf |
| attach | 回传合同至订单(单个file_id) | attach --app 2021xxx --order_id 2025xxx --file_id A*6XqwQKpS1t0xxx |
| attach | 回传合同至订单(多个file_id) | attach --app 2021xxx --order_id 2025xxx --file_ids "A*xxx1,A*xxx2" |
| full | 完整流程(单个文件) | full --app 2021xxx --order_id 2025xxx --file /path/to/contract.pdf |
| full | 完整流程(多个文件) | full --app 2021xxx --order_id 2025xxx --files "/path/a.pdf,/path/b.pdf" |
| example | 查看示例报文 | example upload / example attach |
技术咨询类指令: 接入流程、接口文档、错误码、常见问题
方式三:代码集成
用户需要将电子合同回传能力集成到自己的业务系统中时,提供多语言 SDK 代码示例和集成引导。
代码集成类指令: 代码集成、SDK 示例、代码示例、开发接入、集成电子合同回传代码
代码集成工作流
- 技术栈检测:自动检测用户项目的技术栈(检测 pom.xml、package.json、requirements.txt、composer.json、*.csproj 等文件)
- 语言选择确认:如未检测到或检测结果不明确,询问用户使用的开发语言
- 展示代码示例:根据语言展示 SDK 初始化、文件上传、回传接口的完整代码示例
- 集成引导:提示代码示例中的关键注意事项和约束条件
支持的开发语言:Java、Python、Node.js、PHP、.NET
代码示例索引请参阅 代码示例索引
业务流程
电子合同回传为两步操作流程:
1.上传合同PDF文件 ──→ 2.回传file_id至租赁订单
│ │
▼ ▼
alipay.open.file.upload alipay.commerce.rent.additional.upload
│ │
▼ ▼
返回 file_id 订单关联成功
详细的流程图及命令示例请参阅 业务流程详解
文档导航
- 业务流程 | API 参考 | 常见问题
- 示例报文 | 字段词典 | 交互引导
- 代码示例(Java / Python / Node.js / PHP / .NET)
- 电子合同回传SOP | 支付宝文件上传接口 | 租赁附加材料上传接口
注意事项
- 订单状态要求:回传合同时订单状态需为
SIGNED及之后,且当前在途(未完结/未取消) - 文件格式:仅支持 PDF 格式的电子合同文件,每次上传仅支持 1 个文件
- 文件大小:单文件最大 5MB
- biz_code 固定值:上传文件时
biz_code必须传rent_material_upload - type 固定值:回传时
type必须传RENT_CONTRACT - 同一订单多合同文件:
fulfillment_additional_media_list最多支持 10 条,即 1 个 order_id 最多关联 10 个合同文件
错误处理
接口错误码
| 错误码 | 来源接口 | 错误信息 | 解决方案 |
|--------|----------|----------|----------|
| SYSTEM_ERROR | 附加材料回传 | 系统繁忙 | 服务器异常,可用同样的请求发起重试 |
| INVALID_PARAMETER | 附加材料回传 | 参数有误 | 根据返回的 sub_msg 修改参数后重试(常见:order_id 不存在、订单状态不符、file_id 无效) |
| FILE_CHECK_FAIL | 文件上传 | 文件MD5校验失败 | 确认MD5值正确后重试 |
脚本自定义错误码
| 错误码 | 触发条件 | 解决方案 |
|--------|----------|----------|
| CONFIG_ERROR | ALIPAY_APPS 环境变量缺失或格式错误 | 检查 ALIPAY_APPS 是否已正确设置,key 为 appId,包含 private_key 和 alipay_public_key |
更多问题请参阅 常见问题
Scan to join WeChat group