feat: 支持微信支付服务商电子发票#4070
Conversation
There was a problem hiding this comment.
Pull request overview
该 PR 在 weixin-java-pay 模块新增了微信支付 V3「服务商电子发票」能力的 SDK 封装,补齐服务商侧邀请/能力状态、模板与开发配置、抬头链接与查询、开票/查询/冲红、文件上传与下载、插卡等相关接口,并增加了基础的单元测试与调研对比文档,用于响应 Issue #4066 的需求。
Changes:
- 新增
PartnerInvoiceService及其实现PartnerInvoiceServiceImpl,并将其挂载到WxPayService/BaseWxPayServiceImpl。 - 新增服务商电子发票相关的请求/响应 Bean(invoice 包)以及文件上传请求构造扩展(
WechatPayUploadHttpPost)。 - 新增接口调用与序列化字段名的单元测试,并补充公众号旧体系与支付 V3 体系的对比说明文档。
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/PartnerInvoiceServiceImplTest.java | 覆盖服务商电子发票核心接口的 URL/请求体拼装行为测试 |
| weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/invoice/GeneralInvoiceRequestTest.java | 验证开票请求对象序列化字段名与微信支付字段一致 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/WechatPayUploadHttpPost.java | 扩展支持电子发票文件上传的自定义 meta multipart 构造 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/WxPayService.java | 在顶层服务接口新增服务商电子发票 service 获取入口 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/PartnerInvoiceService.java | 新增服务商电子发票 API 服务接口定义 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/PartnerInvoiceServiceImpl.java | 新增服务商电子发票 API 的具体 v3 调用实现 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java | 将 PartnerInvoiceServiceImpl 注入/暴露到 WxPayService 实现中 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/TitleUrlResult.java | 新增“抬头填写小程序跳转信息”响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/TitleUrlRequest.java | 新增“获取用户抬头填写链接”请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/SubMerchantInvoiceStatus.java | 新增子商户电子发票能力状态响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/ReverseInvoiceRequest.java | 新增冲红电子发票请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InvoiceResult.java | 新增查询电子发票响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InvoiceFileUploadResult.java | 新增上传电子发票文件响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InvoiceFileUploadRequest.java | 新增上传电子发票 PDF 文件请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InvoiceFileResult.java | 新增发票文件下载信息响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InviteUrlResult.java | 新增服务商邀请链接响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InviteMerchantResult.java | 新增邀请商户查询响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InviteMerchantQuery.java | 新增邀请商户查询条件对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/InsertCardRequest.java | 新增“插卡到用户卡包”请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/IndustryInvoiceRequest.java | 新增行业开票请求对象(不动产租赁/成品油) |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/GeneralInvoiceRequest.java | 新增通用行业开票请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/DevelopmentConfigResult.java | 新增开发配置响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/DevelopmentConfigRequest.java | 新增开发配置请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/CardTemplateResult.java | 新增卡券模板创建响应对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/CardTemplateRequest.java | 新增卡券模板创建请求对象 |
| weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/invoice/BuyerInformation.java | 新增购买方抬头信息对象 |
| docs/ELECTRONIC_INVOICE_API_COMPARISON.md | 补充公众号旧体系与支付 V3 服务商电子发票体系对比说明 |
🤖 Augment PR SummarySummary: 本 PR 在 Changes:
🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7fd8effade
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
已处理本轮评审意见:
验证: |
|
补充修复已推送:
验证:模块构建成功, |
内容
实现微信支付 V3 服务商电子发票 API:
Closes #4066。
同时对应 Gitee Issue IDMETW(其文档链接为同一服务商电子发票产品)。
验证
mvn -pl weixin-java-pay -am -DskipTests compilePartnerInvoiceServiceImplTest6/6、GeneralInvoiceRequestTest1/1