付费模式(支付宝 AI 按量付费 · A2M 协议)
本技能是 Pay Skill:按次收费。支付与验付全部复用支付宝官方能力,
本技能不自研支付代码、不接触任何密钥。
> ★ 付钱之前先做免费试算(见下文「免费试算」)—— 结构与示例请求免费可取;
> 首次请求不带凭证只返 402 账单、不扣费,看清输入与产出再付款。
前置检查(发起下单前必做)
确认当前智能体的工具列表里存在支付宝支付能力(官方 alipay-payment-skill / alipay-bot 提供的工具):
- 存在 → 继续流程。
- 不存在 → 终止流程,提示用户:合作智能体请升级到最新版;
开放智能体请先安装 SkillHub 上的官方「支付宝 AI 付」技能后重试。
依赖安装(买家侧)
| 依赖 | 用途 | 谁装 |
|---|---|---|
@alipay/agent-payment |
买家侧支付能力:读取 402 账单、拉起收银、携 Payment-Proof 重试、自动发履约回执 |
买家侧 Agent(本技能运行前提) |
@alipay/alipay-aipay |
卖家侧收费接口集成(服务端下单 / 验付 / 履约回执) | 仅发布者服务端,买家无需安装 |
买家侧安装(提供 check-wallet / apply-wallet / 402-buyer-pay / 402-query-payment-status 等命令):
npx @alipay/agent-payment install-experience
安装后先用 check-wallet 确认 AI 钱包已开通;未开通则按提示扫码开通。
两者用途不同,不要混用:买家装前者,后者只在服务端。
服务信息
| 项 | 值 |
|---|---|
| 服务地址(付费接口) | https://agri-rs-accuracy.app.workbuddy.hostD:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/screenshot |
| 方法 | POST,Content-Type: application/json |
| 计费方式 | 按调用量计费(按次) |
| 请求结构说明(免费) | https://agri-rs-accuracy.app.workbuddy.hostD:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/schema |
| 示例请求(免费) | https://agri-rs-accuracy.app.workbuddy.hostD:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/example |
| 服务元信息(免费) | https://agri-rs-accuracy.app.workbuddy.host/service.json |
免费试算(不花钱先看清,建议先做)
本服务没有任何免费旁路能拿到交付物(收款渠道未配置时直接返回 503,不会免费放行)。
但付钱之前下列内容全部免费、无需任何凭证 —— 建议先跑一遍,确认输入格式与产出字段:
| 免费内容 | 取法 | 用途 |
|---|---|---|
| 请求 / 响应结构说明 | GET D:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/schema |
看清要准备哪些字段、能拿到哪些结果 |
| 示例请求 | GET D:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/example |
直接拿一份可改的 JSON 骨架 |
| 服务元信息 | GET /service.json |
确认服务在线、核对服务标识 |
| 存活探针 | GET /healthz |
排查网络 / 网关是否可达 |
# 免费试算三步 —— 三个请求都不扣费
curl -s https://agri-rs-accuracy.app.workbuddy.host/healthz
curl -s https://agri-rs-accuracy.app.workbuddy.hostD:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/schema
curl -s https://agri-rs-accuracy.app.workbuddy.hostD:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/example
★ 另有两处零成本保证:
- 首次
POST不带Payment-Proof只会返回402账单,不扣费、也不交付结果 ——
可以拿真实数据先走一次,看清账单金额与整条流程,再决定是否付款。 - 输入非法先返回
400,绝不因非法输入发账单 —— 格式问题不会让你白花钱。
单次调用价格
¥2.00 / 次(SkillHub 上架表单的「单次调用价格」字段按此填写)。
> ★ 三处单价必须完全一致,否则买家付款会被拒:
> ① 服务端 402 账单金额 ② 支付宝 AI 付站点「服务管理 → 服务单价」 ③ SkillHub 上架表单「单次调用价格」。
> 实际扣费以服务返回的 402 + Payment-Needed 账单金额为准,与标价必须一致。
调用流程编排(四步)
- probe(请求资源):按本技能正常流程把请求
POST到服务地址,不带Payment-Proof。
服务端返回HTTP 402与Payment-Needed响应头(Base64URL 账单)——
收到402即暂停交付,保存账单与out_trade_no。 - pay(推进支付):把
Payment-Needed交给支付宝官方支付能力拉起收银,
由用户本人扫码 / 免密完成付款(Agent 只负责编排,不代付、不接触金额)。
bash
alipay-bot 402-buyer-pay --session-id <sid> --file <Payment-Needed> \
--resource-url https://agri-rs-accuracy.app.workbuddy.hostD:/Program Files/WorkBuddy/resources/vendor/PortableGit/v1/parcel/screenshot \
--method POST --intent-summary "保单附图矢量化(截图转 SHP)"
- complete(验付 + 履约):付款成功后,用同一份请求体重新
POST,
并在请求头带上Payment-Proof: <用户支付后得到的凭证>。
服务端会调alipay.aipay.agent.payment.verify严格验付(无效 / 过期凭证拒绝服务)。
bash
alipay-bot 402-query-payment-status --out-shake-no <out_trade_no>
- ack(履约确认):服务端交付后会调
alipay.aipay.agent.fulfillment.confirm回执;
若返回「履约确认失败」,用同一Payment-Proof重试即可(服务端幂等,不重复扣费、不重复交付)。
错误码与异常处理(必须遵守)
响应体统一形如 {"code": "...", "message": "..."}(402 的账单在 Payment-Needed 响应头里)。
| HTTP | code |
含义 | 正确做法 |
|---|---|---|---|
400 |
BAD_JSON / BAD_BODY |
请求体不是合法 JSON / 不是 JSON 对象 | 修正请求体后重试,不要发起支付 |
400 |
INVALID_INPUT |
输入校验失败,原因在 message |
修正输入后重试,不要发起支付 |
402 |
Payment-Needed(账单在响应头) |
未携有效凭证 —— 这是正常路径,不是错误 | 拉起支付 |
500 |
INTERNAL_ERROR |
计算失败 | 稍后重试;持续失败请附带 message 联系发布者 |
502 |
VERIFY_UNAVAILABLE |
验付结果不明(已收款但没验成) | ★ 不得要求用户重复付款,用同一 Payment-Proof 稍后重试 |
502 |
FULFILLMENT_CONFIRM_FAILED |
交付物已生成但履约回执失败 | 用同一 Payment-Proof 重试(幂等,不重复扣费、不重复交付) |
503 |
SERVICE_NOT_CONFIGURED |
收款渠道未配置,不是用户侧问题 | 不要重试支付,提示服务暂不可用 |
| — | — | 用户取消支付 | 停止流程,不自动重试扣费 |
★ 一句话判据:只有 402 才需要付钱;400 永远不该付;502 / 503 绝不让用户重复付款。
订单持久化与幂等
服务端先落盘订单再应答,同一 out_trade_no 只生成一次交付物;
重复提交同一 Payment-Proof 不会二次扣费、不会二次交付(幂等)。
订单号与履约状态仅用于幂等校验与履约回执,不用于其他目的。
安全红线
- 全程不向用户暴露支付链接、二维码原文或交易号等中间过程。
- 应用私钥只存服务端(环境变量 / KMS 注入),禁止写入包内、日志或公开仓库。
- 本技能包不含任何密钥、
.env或支付账号字段;支付一律复用支付宝官方能力。 - 履约确认失败可重试且保持幂等:不重复扣费、不重复交付。
隐私与数据
| 项 | 说明 |
|---|---|
| 输入数据用途 | 提交的业务数据仅用于本次调用即时计算,不用于其他目的 |
| 需要提交什么 | 只需统计量与结构参数。不应提交农户姓名、身份证号、保单号等个人与业务敏感字段 |
| 结果留存 | 服务端为订单幂等与履约回执保存订单号与履约状态;结果随本次响应返回,不再向第三方提供 |
| 凭证与密钥 | 密钥只在发布者服务端(环境变量 / KMS);买家侧只与支付宝官方支付能力交互 |
| 支付信息 | Agent 不接触支付链接原文、二维码、交易号;付款由用户本人在支付宝侧完成 |
| 数据出境 | 无。服务部署于公网 HTTPS 网关,数据不流出调用链路 |
履约内容说明
本技能的履约物 = 本次调用的地块矢量 SHP、顶点经纬度表与面积对账结论。
由公网 HTTPS 接口实时计算返回,服务端在返回前已完成验付并回执履约。
上架前核验清单(防发布 bug)
- [ ] 服务端已部署公网 HTTPS,且验付 / 履约已通(线上真实交易验证过)
- [ ] 三处单价一致:SkillHub 表单 = ¥2.00 = 402 账单金额 = 支付宝服务登记单价
- [ ]
SKILL.md通过平台解析,且无密钥、无.env、无支付账号字段 - [ ] 免费接口(
schema/example/service.json/healthz)只暴露结构与示例,
不暴露任何交付结果(无付费旁路)
保单附图截图 → 矢量地块还原
把「保单 / 理赔附图截图」上画的地块还原成矢量。输入是一张带经纬度框、地块折线与四角经纬度标注的卫星底图截图;输出高斯投影的 SHP、顶点经纬度表与面积对账结论。触发词:保单附图矢量化、截图转 shp、把图里的地块画出来、图上那块地提取出来、读一下这张图的坐标、把这个多边形还原出来。
适用场景
- 手上只有保单 / 理赔附图的截图,没有原始矢量
- 需要把截图里的地块还原成可入库、可量算面积的坐标成果
- 成果要与项目里既有地块边界做对账
本包提供什么
- 截图取点的作业流程与前置识别
- 投影与坐标还原的检验方式(含自证要求)
- 缺口折线的重建思路(路径级说明,不含算法细节)
- 交付前的核对动作与验收清单
- 批量版:一整棵目录树 → 按文件夹分图层的组织方式
输入 / 输出
输入:保单 / 理赔附图截图。输出:高斯投影 SHP + 顶点经纬度表 + 成果图 + 面积对账结论。
说明
本包提供的是能力定位与作业流程框架。
具体的判据参数、阈值、精度指标、实测数据与实现脚本属于方法层,不在本包范围内;
实际作业请以项目口径与委托方要求为准。
参考
- 支付宝 AI 付:https://aipay.alipay.com/
- 服务健康检查:
GET https://agri-rs-accuracy.app.workbuddy.host/healthz