通联支付跨境系统机构类VA API接口对接SKILL

Polar Sponsor
爱发电 赞助
.NET 9.0

依据通联支付机构类VA接口文档规范,为 对接GCP 机构 VA API 自动生成: 带逐字段中文注释的 DTO、请求 / 响应模型、业务服务、通知处理器,以及真实 HTTP 集成测试(不使用 Mock HTTP 客户端); 签名逻辑复用 gcp-api-quick-integration 组件。

名称: gcp- api-organcus business-model-generator. 描述: 生成每个字段中文文档的 DTO, 请求/响应模式, 业务

功能概述

名称: gcp- api-organcus business-model-generator. 描述: 生成每个字段中文文档的 DTO, 请求/响应模式, 业务是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

--- name: gcp-api-organcus_business-model-generator description: Generates DTOs with per-field Chinese documentation, request/response models, business services, notify handlers, and real HTTP integration tests (no Mock HTTP client) for GCP organ VA APIs from the skill-embedded chapter-2-to-6 specification only, reusing gcp-api-quick-integration for signing.

GCP API Organ Cus Business Model Generator

Purpose

在已完成签名底座(gcp-api-quick-integration)的前提下,仅凭内嵌规范生成第二至第六章对接代码:

  • DTO / 请求响应模型(字段须带中文注释,释义来自内嵌规范表头「中文名称」及「备注」等)
  • 主动调用业务服务
  • 回调处理骨架(先验签,再解析)
  • 每个业务接口对应的 真实 HTTP 集成测试(见下文「Java/Spring:Outbound 集成测试」);禁止用 Mockito 等对签名 HTTP 客户端做桩替代联调。

唯一规范来源:embedded-organ-va-chapter2-6-spec.md。

Code Layout, Naming, and Observability(强制)

生成对接代码时须同时满足:

  1. 命名(禁止章节名):类名、包名、文件名 不得 使用 chapter2、chapter3、Chapter2Models 等章节标识;应使用 业务域名称(例如 VA 交易、账务、受益人、文件、子客户等),与内嵌规范中的接口分组语义一致。
  2. 调试日志与请求 JSON:在 HTTP 客户端或服务编排层输出 请求 URL、请求报文(body)、HTTP 状态码、响应报文;请求头须脱敏(如不打印完整 X-AGCP-Auth、敏感 keyid 等,可截断或掩码)。若底座已具备同等日志,业务层不得重复刷屏,但须保证联调路径上至少有一处完整可见。上送 JSON 时,字段值为 null 的键不得出现在报文中(禁止 "bnfid": null 等);序列化使用 NON_NULL(或语言等价物),且 SHA256 摘要与签名必须基于与 HTTP 实体完全一致的 UTF-8 字节(见 ../gcp-api-quick-integration/implementation-pitfalls.md 第 2.1 节)。
  3. 包隔离:在客户工程中落在 单一、明确的新 package 根(例如 …gcp.organva 或客户指定的 …integration.gcp.organva),其下再分子包(client、config、security、service、handler、model 及按业务域分的 model 子包);避免与现有业务包混在同一目录或随意散落在 com.example.* 根下。
  4. 请求/响应模型形态(Java 强制,其他语言按 idiomatic 等价):
    • 禁止以「单文件容器类 + 大量 public static class 嵌套」作为唯一形态(客户难以在 IDE 中导航,且常见诉求是 setXxx 链式/分步赋值)。
    • 每个请求、每个响应各为独立顶层类型,一公开类型对应一个源文件(文件名与类名一致);业务上需复用时用 extends(如修改类继承注册类)或组合,仍为独立文件。
    • 字段须可通过 标准 JavaBean 方式赋值:优先 @Getter / @Setter(Lombok) 或 手写 getter/setter;禁止仅提供 public 字段却无访问器、却要求客户以「嵌套类名 + 字段」方式拼装(与上述独立类 + setter 目标冲突)。
    • 生成/保存 .java 源文件须为 UTF-8 且无 BOM(避免 javac 报 ufeff 非法字符)。
  5. 请求/响应字段中文注释(强制):生成 请求模型、响应模型、回调入参模型(含公共响应基类及各接口扩展字段)时,每个属性/字段 均须附带 中文说明,且与 embedded-organ-va-chapter2-6-spec.md 中对应接口表格一致,禁止臆造规范未出现的含义。
    • Java:每个字段声明 上方 使用 /** … */ JavaDoc;正文以规范表 「中文名称」 为主,并酌情并入 「必输」「备注」 要点(可精简,不得丢失必输/条件必输/枚举取值等关键语义)。类级 JavaDoc 可写明对应接口 path 与方向(合作方→通联 / 通联→合作方)。使用 Lombok 时注释仍写在 字段上(IDE 一般在字段与 setter 调用链上可查阅;若团队要求 getter 上可见,可按项目既有 lombok.config 配置处理)。
    • 其他语言:使用惯用的文档注释(如 Python """ / #、C# /// 等),同样须逐字段中文说明,来源仍为内嵌规范。
    • regcus 等 JSON 字符串子结构:若生成独立 Payload 类型(如 OrganVaCusinfoBasePayload),各字段同样须带中文注释;若字段为「整段 JSON 字符串」类型(如 organvacusinfo),注释中说明「内容为 1.1 客户基础信息 JSON 字符串」等,与规范章节一致。

Java / Spring:Outbound 集成测试(强制)

当目标栈为 Java + Spring Boot 且生成 合作方 → 通联 的出站 JUnit 测试时,须遵守:

  1. 禁止 Mock HTTP 客户端:不得对签名底座暴露的 HTTP 客户端(如 GcpOrganVaHttpClient、RestClient 封装等)使用 @Mock、@MockBean、@Spy 等绕过真实 TLS/签名/序列化链路;测试须能观察到客户端日志中的 URL、body、状态码与响应体(与「可观测性」一致)。
  2. 必须 @SpringBootTest(classes = …):测试类所在包往往与 @SpringBootApplication 不同包,须 显式 指定含 @SpringBootConfiguration 的启动类,避免 Unable to find a @SpringBootConfiguration。
  3. 配置与密钥:敏感项放在 .gitignore 覆盖的本地文件(如项目根目录 application-local.properties),主配置用 spring.config.import=optional:file:./application-local.properties;测试侧用 @TestPropertySource(locations = "file:./application-local.properties") 等与本地联调一致。不得在生成的业务源码中硬编码私钥/平台公钥。
  4. CI 可选跳过:若无本地配置文件,可使用类级 @EnabledIf(或等价)检测文件存在性后 整类跳过,避免无密钥时构建失败;有文件时 必须 发起真实请求。
  5. 一接口一测试方法:每个已覆盖出站 path 至少一个 @Test 方法,注入真实 …Service,调用后断言响应非空或断言 rspcode 等业务约定(具体断言由客户按环境调整时,须在交付说明中写明)。
  6. 回调(通联 → 合作方):自动化测试若无法取得网关真实签名报文,可不在本 Skill 内生成「假验签」的 Mock 单测;须在交付说明中写明通过网关实调或内嵌 HTTP 服务做联调验证,不得用 Mock HTTP 客户端冒充「已验证出站签名链路」。

Mandatory Workflow

  1. 先检查项目中是否已有签名底座能力(签名客户端 + 验签能力)。
  2. 若缺失:先按 gcp-api-quick-integration 生成底座,且生成后须满足 signing-and-verify-spec.md 与 implementation-pitfalls.md(见该 Skill 目录),再继续本 Skill。
  3. 解析 embedded-organ-va-chapter2-6-spec.md 生成第二至第六章代码(DTO/模型/Service/Handler)。
  4. 业务接口代码生成完成后,必须同步为每个 出站 接口生成对应的 真实 HTTP 集成测试 方法(@SpringBootTest + 真实 Service/Client,禁止 Mock HTTP 客户端);至少能跑通 TLS 与签名并收到网关 HTTP 响应;可按接口补充断言或异常场景说明。
  5. regcus 必须按规范将 organvacusinfo、organvainfo、uboinfo 作为 JSON 字符串上送。
  6. 所有合作方->通联接口的响应模型均需包含“响应公共参数”;若接口还有特定响应字段,则在公共参数基础上追加,不得臆造字段。
  7. 默认覆盖全部接口;若用户指定子集,必须列出未生成部分并确认。
  8. 交付说明中须写明:出站测试默认为真实 HTTP 集成测试(非 Mock 客户端);本地/CI 如何通过 application-local.properties(或等价)启用与跳过;若生成 Java 且目标为 Java 8,禁止在测试与公共工具类中使用 String.isBlank、Path.of、Files.readString 等仅高版本 JDK API。
  9. 若生成 Java + Maven:在说明中提示客户环境 Maven 3.6.x 可能与 Spring Boot 3 不兼容时的处理(降级 Boot 2.7 或升级 Maven);修改 application.properties 后建议 mvn clean 避免 target/classes 残留旧配置。

Output Contract

  • 已识别输入
  • 签名底座检查结果(已存在 / 自动补齐)
  • 已覆盖接口列表
  • 将创建/修改的文件
  • JUnit 测试生成清单(按接口映射到测试方法)
  • 与签名底座的依赖清单
  • 运行或编译命令
  • 自检清单(output-checklist.md)

Guardrails

  • 禁止用「单文件嵌套 static 类」替代独立 DTO 文件;禁止仅暴露 public 字段而无 getter/setter(Java);禁止带 BOM 的 UTF-8 Java 源文件。
  • 禁止请求/响应/回调模型字段 缺少中文注释 或注释与内嵌规范表意明显不符(不得空泛写「字段 xxx」而无业务含义)。
  • 禁止用章节编号作为包名/类名/测试方法名的主要语义(须用业务域命名);禁止引导用户查阅外部接口文档。
  • 禁止重复生成签名/验签算法(须复用 gcp-api-quick-integration 约定;算法细节以 signing-and-verify-spec.md 为准)。
  • 禁止臆造规范中不存在的 path 或字段。
  • 不把私钥、平台公钥写入业务生成代码。
  • 不生成 controller 层代码;业务入口仅限 service/handler 及其测试。
  • 禁止为验证「合作方 → 通联」出站链路而 Mock 签名 HTTP 客户端;须生成或使用真实 HTTP 集成测试(见「Java / Spring:Outbound 集成测试」)。

Field Experience(与底座联调时已验证)

以下问题多由 签名底座与网关规范不一致 或 运行环境假设过新 引起,生成业务层时须在交付物与说明中一并规避:

问题 处理
网关验签报 Bad signature length 底座侧 X-AGCP-Auth 须为小写 hex,非 Base64;分隔符为 :
X-AGCP-Date / Send / Crdt 与文档不一致 严格按 signing-and-verify-spec.md:yyyyMMddHHmmss、send=date+"000"、Crdt=keyid:yyyyMMdd:gcpservice
回调验签失败 Handler 侧对 X-AGCP-Auth 做 hex 解码;支持整段 GCP1-RSA-SHA512:hex 截取
私钥无 PEM 头 密钥加载须支持 无头 PKCS#8 Base64(见 implementation-pitfalls.md)
Java 8 编译失败 工具类/测试避免 Java 11+ API
已改配置仍读旧值 提示 mvn clean 或核对 IDE 使用的 classpath
客户误以为测试已打网关 默认交付真实 HTTP 集成测试;文档写明须配置本地密钥与 application-local.properties(或等价),且无配置时 @EnabledIf 跳过类
Java 编译报 非法字符 ufeff 源文件以 UTF-8 无 BOM 保存;勿在 package 行前插入 BOM

底座侧完整排障表:.cursor/skills/gcp-api-quick-integration/implementation-pitfalls.md。

Related Files

  • embedded-organ-va-chapter2-6-spec.md
  • dependency-contract.md
  • output-checklist.md
  • examples.md
  • 签名底座规范与排障(跨 Skill):../gcp-api-quick-integration/signing-and-verify-spec.md、../gcp-api-quick-integration/implementation-pitfalls.md

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

0

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

0

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

0

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习