diff --git a/README.md b/README.md index 3081812..a9f3781 100644 --- a/README.md +++ b/README.md @@ -746,6 +746,14 @@ refundedCallbackOfPartner (certs: Map, apiKey: string, req: Requ #### 服务商电子发票 +##### 服务商创建电子发票卡券模板 + +> [参考文档](https://pay.weixin.qq.com/docs/partner/apis/fapiao/fapiao-card-template/create-fapiao-card-template.html) + +```javascript +createCardTemplateOfPartner (data: CreateCardTemplateRequestOfPartner, spMchId: string, serialNo: string, privateKey: Buffer | string); +``` + ##### 服务商配置开发选项 > [参考文档](https://pay.weixin.qq.com/docs/partner/apis/fapiao/fapiao-merchant/update-development-config.html) diff --git a/docs/README.md b/docs/README.md index 3081812..a9f3781 100644 --- a/docs/README.md +++ b/docs/README.md @@ -746,6 +746,14 @@ refundedCallbackOfPartner (certs: Map, apiKey: string, req: Requ #### 服务商电子发票 +##### 服务商创建电子发票卡券模板 + +> [参考文档](https://pay.weixin.qq.com/docs/partner/apis/fapiao/fapiao-card-template/create-fapiao-card-template.html) + +```javascript +createCardTemplateOfPartner (data: CreateCardTemplateRequestOfPartner, spMchId: string, serialNo: string, privateKey: Buffer | string); +``` + ##### 服务商配置开发选项 > [参考文档](https://pay.weixin.qq.com/docs/partner/apis/fapiao/fapiao-merchant/update-development-config.html) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 55521b6..a4cbd84 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -76,6 +76,7 @@ - [查询单笔退款](README.md#服务商查询单笔退款) - [退款结果通知](README.md#服务商退款结果通知) - [电子发票](README.md#服务商电子发票) + - [服务商创建电子发票卡券模板](README.md#服务商创建电子发票卡券模板) - [配置开发选项](README.md#服务商配置开发选项) - [查询商户配置的开发选项](README.md#服务商查询商户配置的开发选项) - [微信发票通知](README.md#服务商微信发票通知) diff --git a/lib/types/wepay-partner.ts b/lib/types/wepay-partner.ts index 0247b88..f1fc963 100644 --- a/lib/types/wepay-partner.ts +++ b/lib/types/wepay-partner.ts @@ -1,5 +1,5 @@ import { RequireOnlyOne } from '.'; -import { DevelopmentConfigRequest, FapiaoNotifyResult, IssueFapiaoRequest, RefundNotifyResult, RefundParameters, ReverseFapiaoRequest, Trade, TransactionOrder } from './wepay'; +import { CreateCardTemplateRequest, DevelopmentConfigRequest, FapiaoNotifyResult, IssueFapiaoRequest, RefundNotifyResult, RefundParameters, ReverseFapiaoRequest, Trade, TransactionOrder } from './wepay'; /** * 微信支付服务务下单数据结构 @@ -116,4 +116,8 @@ export interface ReverseFapiaoRequestOfPartner extends ReverseFapiaoRequest { sub_mchid: string; } +export interface CreateCardTemplateRequestOfPartner extends CreateCardTemplateRequest { + sub_mchid: string; +} + /** 电子发票 **/ \ No newline at end of file diff --git a/lib/wepay.service.ts b/lib/wepay.service.ts index 2802838..0949c5f 100644 --- a/lib/wepay.service.ts +++ b/lib/wepay.service.ts @@ -34,7 +34,7 @@ import { createNonceStr } from './utils'; import type { Request, Response } from 'express'; import { XMLBuilder } from 'fast-xml-parser'; -import { DevelopmentConfigRequestOfPartner, FapiaoNotifyResultOfPartner, IssueFapiaoRequestOfPartner, RefundNotifyResultOfPartner, RefundParametersOfPartner, ReverseFapiaoRequestOfPartner, TradeOfPartner, TransactionOrderOfPartner } from './types/wepay-partner'; +import { CreateCardTemplateRequestOfPartner, DevelopmentConfigRequestOfPartner, FapiaoNotifyResultOfPartner, IssueFapiaoRequestOfPartner, RefundNotifyResultOfPartner, RefundParametersOfPartner, ReverseFapiaoRequestOfPartner, TradeOfPartner, TransactionOrderOfPartner } from './types/wepay-partner'; @Injectable() export class WePayService { @@ -473,6 +473,21 @@ export class WePayService { }); } + /** + * 服务商创建电子发票卡券模板 + * + * @link https://pay.weixin.qq.com/docs/partner/apis/fapiao/fapiao-card-template/create-fapiao-card-template.html + */ + async createCardTemplateOfPartner (data: CreateCardTemplateRequestOfPartner, spMchId: string, serialNo: string, privateKey: Buffer | string) { + const url = '/v3/new-tax-control-fapiao/card-template'; + const nonceStr = createNonceStr(); + const timestamp = Math.floor(Date.now() / 1000); + const signature = this.generateSignature('POST', url, timestamp, nonceStr, privateKey, data); + return axios.post(this.API_ROOT + url, data, { + headers: this.generateHeader(spMchId, nonceStr, timestamp, serialNo, signature), + }); + } + /** * 微信发票通知 * @link https://pay.weixin.qq.com/docs/merchant/apis/fapiao/fapiao-card-template/user-invoice-rise-write-notice.html