This is a comprehensive integration guide for WeChat Pay's product coupon system. It walks you through the entire lifecycle: selecting the right coupon type from 10 options, generating signed API code examples in Java and Go, handling callbacks and refunds, and debugging specific error codes via Request-Id. What stands out is the structured troubleshooting approach and the insistence on step-by-step user confirmation before executing anything, which prevents the common pitfall of making assumptions about your setup. Supports both direct brand integration and service provider modes. If you're building coupon features for WeChat Pay in China, this covers the integration checklist and common gotchas in one place.
npx -y skills add wechatpay-apiv3/wechatpay-skills --skill wechatpay-product-coupon --agent claude-codeInstalls into .claude/skills of the current project.
接入模式:使用任何能力前需先确认——品牌直连(品牌方自行接入,在品牌经营平台操作)或 服务商(服务商代品牌方接入,在商户平台操作)。
‼️ 以下规则适用于本技能所有能力、所有对话轮次,优先级高于各能力的局部规则。
确认接入模式后,按适用范围、优惠类型、使用模式三个维度引导用户选定券类型。已明确券类型的可直接进入能力2或能力3。
‼️ 只检索、不生成(Java/Go)。 Java 和 Go 由官方维护,必须从代码示例文件中检索获取,严禁从零编写。依赖的公共库(SDK工具类 + HTTP客户端)需提醒用户一并集成,引导用户主动查看公共库代码。
‼️ 只展示、不写入。 代码示例仅用于讲解 API 调用结构和签名流程,严禁直接写入用户项目(禁止调用 write_to_file、replace_in_file 等工具创建或修改项目文件)。在对话中展示代码,让用户自行复制适配。
‼️ 先交互、后输出。 提供代码前必须先确认接入模式、开发语言、具体接口,每次只输出一个接口;提供完代码后主动推荐接入质量评估。
‼️ 券类型三要素仅「创建商品券」接口需确认,其他接口无需询问券类型。 用户请求查询、核销、发券、退券、失效、批次管理等其他接口时,只需确认接入模式和开发语言,无需询问券类型。
‼️ 用户语言非 Java/Go 时(本 skill 仅维护 Java/Go 示例):禁止直接生成跨语言代码。流程:
用
AskQuestion获明确同意(文案需明示「参考实现 / 非官方维护 / 须自行 review 与测试」),未同意只发官方 Java/Go 原文。同意后以官方 Java 示例为基准翻译生成业务代码「参考实现」;再用纯文字问是否翻 Java 公库(SDK 工具类 + HTTP 客户端),未明确要不贴。每段代码前附下方免责块。
⚠️ 以下代码为跨语言参考实现,由 AI 参考官方 Java 示例翻译生成,并非微信支付官方维护。
- 请逐行 review 签名构造、HTTP 调用、字段命名、回调解密等关键逻辑。
- 上线前必须在测试环境完整验证,建议先以官方 Java/Go 示例打通主链路作为对照。
- 出现接入问题时以官方 Java/Go 示例为准。
当用户询问接入步骤、参数获取、实体关系、发券/核销流程、券状态流转或遇到创券/发券/核销踩坑问题时,查阅对应文档:
当用户完成开发准备上线、提供了代码希望检查是否有隐患,或遇到接口报错时,触发接入质量评估:
‼️ 禁止自行猜测报错原因。 必须先阅读下方排查说明,严格按其中的排障流程执行,严禁直接分析代码。
‼️ 排障完成后,必须在回复末尾主动推荐接入质量评估(趁排障契机一次性排查其他潜在问题)。
‼️ 排障推荐示例代码时,必须先确认开发语言,只推荐对应的示例。 排障手册中每个错误码的「示例代码推荐」列出了 Java/Go 两种语言的示例,但输出时只输出匹配的示例。开发语言尚未确认时,先在推荐示例代码时自然地询问用户。
‼️ 用户语言非 Java/Go 时按能力 2 的跨语言确认流程处理(弹框确认 → 参考生成 + 免责块 + 公库分步)。先用文字说明 Java/Go 示例中的关键修复点(签名、字段、流程),再走完整流程后再生成对应语言的"参考修复代码"。
💡 错误码提取:用户提供
Request-Id后,截取最后一个-后面的数字即为错误码(如...CF05-268578704→268578704),在对应的排障手册中匹配排查方案。
以下信息与技能能力无关,仅供查阅。
在使用过程中遇到问题、有改进建议,或者想和其他开发者交流接入经验,欢迎扫码添加企业微信进群,与官方团队和社区开发者一起讨论:

juliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills