在已完成签名与验签底座(gcp-api-quick-integration)的前提下,仅凭 本 Skill 内嵌规范 生成发卡平台业务对接代码:
唯一规范来源:embedded-hk-card-api-spec.md(与对外文件名《跨境香港发卡API文档(脱敏)》内容一致)。
不在本 Skill 内重复生成:公共 HTTP 头、StringToSign、RSA 签名/验签、敏感数据 AES 解密规则等;一律以 gcp-api-quick-integration 的 signing-and-verify-spec.md、implementation-pitfalls.md 为准。内嵌规范中「安全签名」「响应报文的验签过程」「敏感数据解密」等章节仅作业务侧理解参考,实现须回到底座。
生成对接代码时须同时满足:
chapter6、section3 等纯章节标识;应使用 业务域名称(账户、VA 入金、支付交易、卡申请、卡状态、卡交易、子商户、文件、共享资金等),与内嵌规范中的接口分组语义一致。接口编号(如 3000、4000)可用于注释或常量名,但不宜作为包路径主语义。
X-AGCP-Auth、敏感 keyid 等)。若底座已具备同等日志,业务层不得重复刷屏,但须保证联调路径上至少有一处完整可见。上送 JSON 时,字段值为 null 的键不得出现在报文中(禁止 "field": null 等);序列化使用 NON_NULL(或语言等价物),且 SHA256 摘要与签名必须基于与 HTTP 实体完全一致的 UTF-8 字节(见 ../gcp-api-quick-integration/implementation-pitfalls.md 第 2.1 节)。
…integration.gcp.hkcard 或客户指定根),其下再分子包(client、config、security、service、handler、model 及按业务域分的 model 子包);避免与现有业务包混放。
public static class 嵌套」作为唯一形态。
extends 或组合,仍为独立文件。
@Getter / @Setter(Lombok) 或 手写 getter/setter;禁止仅提供 public 字段却无访问器。
.java 源文件须为 UTF-8 且无 BOM。
embedded-hk-card-api-spec.md 中对应接口表格一致,禁止臆造规范未出现的含义。
/ … / JavaDoc;正文以规范表 「中文名称」 为主,并酌情并入 「必输」「备注」 要点(可精简,不得丢失必输/条件必输/枚举取值等关键语义)。类级* JavaDoc 可写明对应接口 path 与方向(合作方→通联 / 通联→合作方)。
authcus、merid、reqid 须放在 URL query,不得放入 JSON body(见内嵌规范「公共请求参数」)。
Content-Type: application/octet-stream;body 为 Base64(URL Safe)编码后的内容;签名用 RequestPayload 为未 Base64 的原始文件字节(与内嵌规范一致;底座须已按 implementation-pitfalls.md 处理)。
当目标栈为 Java + Spring Boot 且生成 合作方 → 通联 的出站 JUnit 测试时,须遵守:
@Mock、@MockBean、@Spy 等绕过真实 TLS/签名/序列化链路。
@SpringBootTest(classes = …):测试类所在包往往与 @SpringBootApplication 不同包,须 显式 指定启动类,避免 Unable to find a @SpringBootConfiguration。
.gitignore 覆盖的本地文件(如项目根目录 application-local.properties),主配置可用 spring.config.import=optional:file:./application-local.properties;测试侧用 @TestPropertySource 等与本地联调一致。不得在生成的业务源码中硬编码私钥/平台公钥。
@EnabledIf(或等价)检测文件存在性后 整类跳过;有文件时 必须 发起真实请求。
@Test 方法,注入真实 …Service,调用后断言响应非空或断言 rspcode 等业务约定。
gcp-api-quick-integration 生成底座,且生成后须满足 signing-and-verify-spec.md 与 implementation-pitfalls.md,再继续本 Skill。
embedded-hk-card-api-spec.md,按文档中的 接口 path、方向、请求/响应表 生成模型、Service、Handler(覆盖用户指定范围;默认覆盖内嵌规范中全部合作方发起的 HTTP 接口及文档列出的回调路径)。
rspcode、rspinfo、authcus、merid、reqid 等,见内嵌规范「公共响应字段」);在此之上扩展业务字段。若某接口文档写明「仅公共响应参数」,不得臆造额外字段。
application-local.properties(或等价)启用与跳过;若目标为 Java 8,禁止使用 String.isBlank、Path.of、Files.readString 等仅高版本 JDK API。
application.properties 后建议 mvn clean。
output-checklist.md)
embedded-hk-card-api-spec.md 正文表格为准(外链仅供人工查阅)。
gcp-api-quick-integration 约定。
与机构 VA 等业务线相同,常见问题参见 ../gcp-api-quick-integration/implementation-pitfalls.md(X-AGCP-Auth 小写 hex、X-AGCP-Date / Send / Crdt 格式、回调验签 hex 解码、Java 8 API、UTF-8 BOM 等)。
embedded-hk-card-api-spec.md
dependency-contract.md
output-checklist.md
examples.md
../gcp-api-quick-integration/signing-and-verify-spec.md、../gcp-api-quick-integration/implementation-pitfalls.md
共 2 个版本