Files
Genarrative/.codex/skills/wechatpay-product-coupon/SKILL.md
2026-05-15 03:35:30 +08:00

105 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: wechatpay-product-coupon
description: 微信支付商品券接入解决方案,覆盖券类型选型、发券/核销/查询/退券/回调全链路,提供选型/示例代码/业务速查/质量评估/排障五大能力。Use when user mentions "商品券", "发券", "核销", "创建商品券", "商品券代码", "商品券回调", "商品券退券", or asks to "接入商品券", "生成发券代码", "排查商品券问题".
author: wechatpay
version: "1.0"
---
# 微信支付商品券接入指引
## 能力概览
1. **匹配券类型** — 用户描述业务场景、不确定用哪种券时智能匹配对应的券类型10种
2. **示例代码** — 用户需要接入代码时,检索对应的 API 请求示例代码(含签名),仅替换参数
3. **业务知识速查** — 开发参数获取、参数校验、业务知识问答
4. **接入质量评估** — 上线前检查签名验签、业务逻辑完整性和回调处理规范
5. **接口排障** — 接口报错、回调异常、签名失败等问题的诊断与排查
> **接入模式**:使用任何能力前需先确认——品牌直连(品牌方自行接入,在品牌经营平台操作)或 服务商(服务商代品牌方接入,在商户平台操作)。
## 全局交互规范
> ‼️ 以下规则适用于本技能所有能力、所有对话轮次,优先级高于各能力的局部规则。
1. **所有问题必须得到用户明确回答后才能继续。** 如果一次提出了多个问题,必须逐一检查每个问题是否都已获得用户的明确答复。对于未回答的问题,必须再次追问,**严禁对未回答的问题自行假设、推断或使用默认值**。
2. **分步确认协议**(简单知识问答除外,需要帮用户排查、分析或执行操作时必须遵守):
- **① 明确需求**:先理解用户问题,给出初步判断或原因分析,不要一上来就堆参数清单。
- **② 征得同意**:主动提出下一步能做什么,**等用户明确同意后**才继续,严禁用户没表态就开始收集参数或执行操作。
- **③ 收集信息**:用户同意后再告知需要哪些信息并逐项收集,收齐才能执行。
- **④ 执行前确认**:准备执行操作前,简要说明即将做什么,确认用户同意后再执行;涉及线上环境须额外提示风险。
## 能力1匹配券类型
确认接入模式后按适用范围、优惠类型、使用模式三个维度引导用户选定券类型。已明确券类型的可直接进入能力2或能力3。
- [📄 券类型选型.md](./references/3-品牌与服务商通用/券类型选型/券类型选型.md)
## 能力2示例代码
> ‼️ **只检索、不生成Java/Go。** Java 和 Go 由官方维护必须从代码示例文件中检索获取严禁从零编写。依赖的公共库SDK工具类 + HTTP客户端需提醒用户一并集成引导用户主动查看公共库代码。
>
> ‼️ **只展示、不写入。** 代码示例仅用于讲解 API 调用结构和签名流程,严禁直接写入用户项目(禁止调用 write_to_file、replace_in_file 等工具创建或修改项目文件)。在对话中展示代码,让用户自行复制适配。
>
> ‼️ **先交互、后输出。** 提供代码前必须先确认接入模式、开发语言、具体接口,每次只输出一个接口;提供完代码后主动推荐接入质量评估。
>
> ‼️ **券类型三要素仅「创建商品券」接口需确认,其他接口无需询问券类型。** 用户请求查询、核销、发券、退券、失效、批次管理等其他接口时,只需确认接入模式和开发语言,无需询问券类型。
>
> ‼️ **用户语言非 Java/Go 时**(本 skill 仅维护 Java/Go 示例):**禁止**直接生成跨语言代码。流程:
> 1. 用 `AskQuestion` 获明确同意(文案需明示「参考实现 / 非官方维护 / 须自行 review 与测试」),未同意只发官方 Java/Go 原文。
> 2. 同意后以官方 Java 示例为基准翻译生成业务代码「参考实现」;再用纯文字问是否翻 Java 公库SDK 工具类 + HTTP 客户端),未明确要不贴。每段代码前附下方免责块。
>
> > ⚠️ 以下代码为**跨语言参考实现**,由 AI 参考官方 Java 示例翻译生成,并非微信支付官方维护。
> > - 请**逐行 review** 签名构造、HTTP 调用、字段命名、回调解密等关键逻辑。
> > - 上线前必须在测试环境完整验证,建议先以官方 Java/Go 示例打通主链路作为对照。
> > - 出现接入问题时以官方 Java/Go 示例为准。
- 输出代码前必读,定义了检索流程、允许/禁止操作、输出格式要求、公共库SDK工具类 + HTTP客户端索引 → [📄 代码示例使用规范.md](./references/3-品牌与服务商通用/接入规范/代码示例使用规范.md)
- 官方 **Java / Go** 时,按接入模式查阅下表索引,定位目标代码文件:
- 品牌直连 → [Java](./references/1-品牌/代码示例/Java/接口索引.md) | [Go](./references/1-品牌/代码示例/Go/接口索引.md)
- 服务商 → [Java](./references/2-服务商/代码示例/Java/接口索引.md) | [Go](./references/2-服务商/代码示例/Go/接口索引.md)
- 涉及回调地址配置、回调解密、IP白名单等通用开发规范时查阅 → [📄 回调处理.md](./references/3-品牌与服务商通用/接入规范/回调处理.md)
## 能力3业务知识速查
当用户询问接入步骤、参数获取、实体关系、发券/核销流程、券状态流转或遇到创券/发券/核销踩坑问题时,查阅对应文档:
- 品牌直连 → [📄 品牌直连商品券业务知识.md](./references/1-品牌/接入指南/品牌直连商品券业务知识.md)
- 服务商 → [📄 服务商商品券业务知识.md](./references/2-服务商/接入指南/服务商商品券业务知识.md)
- brand_id、mchid、appid 三者关系 → [📄 MAB关系说明文档.md](./references/3-品牌与服务商通用/接入规范/MAB关系说明文档.md)
- 券状态相关问题(状态流转、双状态同步、异常兜底等) → [📄 券状态流转说明.md](./references/3-品牌与服务商通用/接入规范/券状态流转说明.md)
## 能力4接入质量评估
当用户完成开发准备上线、提供了代码希望检查是否有隐患,或遇到接口报错时,触发接入质量评估:
- 签名验签是否按照标准实现,参考:[📄 签名验签规范与排查.md](./references/3-品牌与服务商通用/接入规范/签名验签规范与排查.md)
- 业务逻辑是否完整,参考:[📄 业务逻辑完整性检查.md](./references/3-品牌与服务商通用/接入规范/业务逻辑完整性检查.md)
- 回调处理是否规范,参考:[📄 回调处理.md](./references/3-品牌与服务商通用/接入规范/回调处理.md)
## 能力5接口排障
> ‼️ **禁止自行猜测报错原因。** 必须先阅读下方排查说明,严格按其中的排障流程执行,严禁直接分析代码。
>
> ‼️ **排障完成后,必须在回复末尾主动推荐接入质量评估**(趁排障契机一次性排查其他潜在问题)。
>
> ‼️ **排障推荐示例代码时,必须先确认开发语言,只推荐对应的示例。** 排障手册中每个错误码的「示例代码推荐」列出了 Java/Go 两种语言的示例,但输出时**只输出匹配的示例**。开发语言尚未确认时,先在推荐示例代码时自然地询问用户。
>
> ‼️ **用户语言非 Java/Go 时按能力 2 的跨语言确认流程处理**(弹框确认 → 参考生成 + 免责块 + 公库分步)。先用文字说明 Java/Go 示例中的关键修复点(签名、字段、流程),再走完整流程后再生成对应语言的"参考修复代码"。
> 💡 **错误码提取**:用户提供 `Request-Id` 后,截取最后一个 `-` 后面的数字即为错误码(如 `...CF05-268578704` → `268578704`),在对应的排障手册中匹配排查方案。
- 品牌直连 → [📄 品牌排障手册.md](./references/1-品牌/问题排查/排障手册.md)
- 服务商 → [📄 服务商排障手册.md](./references/2-服务商/问题排查/排障手册.md)
- 排障涉及业务逻辑理解时也可参考能力3「业务知识速查」中的文档[品牌直连](./references/1-品牌/接入指南/品牌直连商品券业务知识.md) | [服务商](./references/2-服务商/接入指南/服务商商品券业务知识.md)
---
> 以下信息与技能能力无关,仅供查阅。
## 💬 社区与反馈
在使用过程中遇到问题、有改进建议,或者想和其他开发者交流接入经验,欢迎扫码添加企业微信进群,与官方团队和社区开发者一起讨论:
![微信支付 Skills 交流群二维码](https://raw.githubusercontent.com/wechatpay-apiv3/wechatpay-skills/main/wechatpay-product-coupon/assets/qrcode.jpg)