通联收付通协议支付流程
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_0512de0a/allinpay-sft-skill。
技能介绍
解决的问题
接入通联收付通协议支付时,最容易踩坑的不是单个接口调用,而是状态机:签约、代扣、退款、查询之间依赖不同流水号,返回码语义分散,0000 与 4000 都表示成功,而 2000、2007、2008、1108、1000 必须继续查询,HTTPS 超时也不能直接判失败。这个技能面向后端 Java 项目,目标是把通联 SDK 的文档、示例和返回码规则压缩成可落地的调用代码。
技能如何工作
技能按业务链路生成代码,而不是零散接口示例:
- 签约阶段:先用
310001触发签约短信,保存REQ_SN;再用310002校验验证码,拿到AGRMNO协议号。 - 支付阶段:使用
310011和协议号发起代扣,保存交易流水,并按返回码判断是否需要200004查询。 - 查询阶段:对支付和退款统一使用
200004,重点处理1002、处理中状态和明细返回码。 - 退款阶段:使用
REFUND发起退款,注意退款业务代码与协议支付业务代码不能混用。
代码生成会强调 SDK 推荐判断方式,例如 isTrxSuccess()、isTrxFailed()、getErrMsg();查询接口在 SDK 1.0.2 中还应使用 QueryDetail.isSuccess() 判断每笔明细。
适用边界与注意点
该技能适合已有通联 SDK、商户代码、业务代码和密钥文件的 Java 工程。资料未提供完整代码示例时,不应把示例中的商户号、卡号、验证码当作真实凭证。测试环境短信验证码固定为 111111,仅用于联调;生产环境必须按真实短信、真实密钥、真实业务代码接入。若涉及 SM2 与 RSA 签名,签名类型必须和密钥格式匹配,p12 私钥需配置密码。
使用场景
- 后端接入通联收付通时,需要生成签约短信、签约确认和协议支付的 Java 调用代码。
- 支付返回处理中或 HTTPS 超时后,需要按 200004 查询交易状态并生成轮询判断代码。
- 退款流程联调时,需要区分退款业务代码,生成 RefundRequest 与退款查询调用。
- 从 SDK 文档到项目代码,需要整理 310001、310002、310011、200004、REFUND 的字段和返回码处理。
适合人员
- 负责支付联调的 Java 后端,想把通联收付通签约、代扣、查询、退款接进项目。
- 维护交易系统的工程师,需要处理 0000、4000、2000 等返回码和 1002 查询规则。
- 做退款对账的业务研发,需要确认原交易状态并生成 RefundRequest 调用。
- 新接支付渠道的后端,想从 SDK 文档快速落地示例代码和异常查询逻辑。