wxpay-nodejs-sdk 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -5176,129 +5176,109 @@ declare class CertificateService {
5176
5176
  }
5177
5177
 
5178
5178
  /**
5179
- * JSAPI 支付 / 小程序支付 服务
5179
+ * 基础支付服务抽象类
5180
5180
  *
5181
- * 提供 JSAPI 支付全流程相关的 API 封装,包括:
5182
- * - JSAPI/小程序下单
5183
- * - 查询订单
5184
- * - 关闭订单
5185
- * - 申请退款
5186
- * - 查询退款
5187
- * - 申请异常退款
5188
- * - 申请交易账单
5189
- * - 申请资金账单
5190
- * - 下载账单
5181
+ * 提供所有支付渠道通用的查询、退款、账单等方法,避免代码重复。
5182
+ * 子类只需实现 createOrder 方法即可获得完整的支付服务能力。
5191
5183
  */
5192
- declare class JsapiService {
5193
- private readonly client;
5184
+ declare abstract class BasePaymentService {
5185
+ protected readonly client: WxPayClient;
5194
5186
  constructor(client: WxPayClient);
5195
5187
  /**
5196
- * JSAPI/小程序下单
5197
- *
5198
- * 商户通过此接口生成预付单并获取 prepay_id。
5199
- * prepay_id 有效期为 2 小时,超过 2 小时需重新请求。
5200
- *
5201
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791856
5202
- */
5203
- createOrder(request: CreateJsapiOrderRequest): Promise<WxPayResponse<CreateJsapiOrderResponse>>;
5204
- /**
5205
- * 查询 JSAPI 支付订单
5188
+ * 查询订单
5206
5189
  *
5207
5190
  * 支持通过微信支付订单号或商户订单号查询订单状态。
5208
- *
5209
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791858 (微信支付订单号查询订单)
5210
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791859 (商户订单号查询订单)
5211
5191
  */
5212
5192
  queryOrderById(params: QueryOrderParams): Promise<WxPayResponse<QueryOrderResponse>>;
5213
5193
  /**
5214
5194
  * 通过商户订单号查询订单
5215
- *
5216
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791859
5217
5195
  */
5218
5196
  queryOrderByOutTradeNo(outTradeNo: string): Promise<WxPayResponse<QueryOrderResponse>>;
5219
5197
  /**
5220
5198
  * 通过微信支付订单号查询订单
5221
- *
5222
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791858
5223
5199
  */
5224
5200
  queryOrderByTransactionId(transactionId: string): Promise<WxPayResponse<QueryOrderResponse>>;
5225
- /**
5226
- * JSAPI 下单并生成调起支付参数
5227
- *
5228
- * 封装了下单和调起支付参数生成两个步骤,一次调用即可获得
5229
- * prepay_id 和前端 WeixinJSBridge.invoke() 所需的全部参数。
5230
- *
5231
- * @param request - 下单请求参数(需包含 appid)
5232
- * @param privateKey - 商户私钥
5233
- * @returns 下单响应 + 调起支付参数
5234
- */
5235
- prepayWithRequestPayment(request: CreateJsapiOrderRequest, privateKey: string | Buffer): Promise<WxPayResponse<CreateJsapiOrderResponse> & {
5236
- bridgeConfig: JsapiBridgeConfig;
5237
- }>;
5238
5201
  /**
5239
5202
  * 关闭订单
5240
5203
  *
5241
5204
  * 对于未支付的订单,商户可通过此接口关闭订单。
5242
- * 关单后,订单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5243
- *
5244
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791860
5245
5205
  */
5246
5206
  closeOrder(outTradeNo: string, request: CloseOrderRequest): Promise<WxPayResponse>;
5247
5207
  /**
5248
5208
  * 申请退款
5249
5209
  *
5250
5210
  * 当订单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
5251
- * 仅支持支付成功后 1 年内的订单。
5252
- *
5253
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791862
5254
5211
  */
5255
5212
  createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5256
5213
  /**
5257
5214
  * 查询退款单
5258
5215
  *
5259
5216
  * 通过商户退款单号查询退款状态。
5260
- *
5261
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791863
5262
5217
  */
5263
5218
  queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5219
+ /**
5220
+ * 申请异常退款
5221
+ *
5222
+ * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5223
+ */
5224
+ applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5264
5225
  /**
5265
5226
  * 申请交易账单
5266
5227
  *
5267
5228
  * 商户可通过此接口获取交易账单的下载链接。
5268
- *
5269
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791866
5270
5229
  */
5271
5230
  tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
5272
5231
  /**
5273
5232
  * 申请资金账单
5274
5233
  *
5275
5234
  * 商户可通过此接口获取资金账单的下载链接。
5276
- *
5277
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791867
5278
5235
  */
5279
5236
  fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
5280
5237
  /**
5281
- * 申请异常退款
5238
+ * 下载账单
5282
5239
  *
5283
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5284
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5240
+ * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
5241
+ */
5242
+ downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
5243
+ }
5244
+
5245
+ /**
5246
+ * JSAPI 支付 / 小程序支付 服务
5247
+ *
5248
+ * 提供 JSAPI 支付全流程相关的 API 封装,包括:
5249
+ * - JSAPI/小程序下单
5250
+ * - 查询订单
5251
+ * - 关闭订单
5252
+ * - 申请退款
5253
+ * - 查询退款
5254
+ * - 申请异常退款
5255
+ * - 申请交易账单
5256
+ * - 申请资金账单
5257
+ * - 下载账单
5258
+ */
5259
+ declare class JsapiService extends BasePaymentService {
5260
+ /**
5261
+ * JSAPI/小程序下单
5285
5262
  *
5286
- * @param refundId - 微信支付退款单号
5287
- * @param request - 异常退款请求参数
5288
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791864
5263
+ * 商户通过此接口生成预付单并获取 prepay_id。
5264
+ * prepay_id 有效期为 2 小时,超过 2 小时需重新请求。
5265
+ *
5266
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791856
5289
5267
  */
5290
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5268
+ createOrder(request: CreateJsapiOrderRequest): Promise<WxPayResponse<CreateJsapiOrderResponse>>;
5291
5269
  /**
5292
- * 下载账单
5270
+ * JSAPI 下单并生成调起支付参数
5293
5271
  *
5294
- * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
5295
- * 下载地址 5 分钟内有效,请及时下载。
5296
- * 返回的 data 为 Buffer,可能为 GZIP 压缩格式,需要自行解压。
5272
+ * 封装了下单和调起支付参数生成两个步骤,一次调用即可获得
5273
+ * prepay_id 和前端 WeixinJSBridge.invoke() 所需的全部参数。
5297
5274
  *
5298
- * @param downloadUrl - 申请账单返回的 download_url
5299
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791868
5275
+ * @param request - 下单请求参数(需包含 appid)
5276
+ * @param privateKey - 商户私钥
5277
+ * @returns 下单响应 + 调起支付参数
5300
5278
  */
5301
- downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
5279
+ prepayWithRequestPayment(request: CreateJsapiOrderRequest, privateKey: string | Buffer): Promise<WxPayResponse<CreateJsapiOrderResponse> & {
5280
+ bridgeConfig: JsapiBridgeConfig;
5281
+ }>;
5302
5282
  }
5303
5283
 
5304
5284
  /**
@@ -5317,9 +5297,7 @@ declare class JsapiService {
5317
5297
  *
5318
5298
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791834
5319
5299
  */
5320
- declare class H5Service {
5321
- private readonly client;
5322
- constructor(client: WxPayClient);
5300
+ declare class H5Service extends BasePaymentService {
5323
5301
  /**
5324
5302
  * H5 支付下单
5325
5303
  *
@@ -5329,81 +5307,6 @@ declare class H5Service {
5329
5307
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791834
5330
5308
  */
5331
5309
  createOrder(request: CreateH5OrderRequest): Promise<WxPayResponse<CreateH5OrderResponse>>;
5332
- /**
5333
- * 查询订单
5334
- *
5335
- * 支持通过微信支付订单号或商户订单号查询订单状态。
5336
- *
5337
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791837 (微信支付订单号查询订单)
5338
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791838 (商户订单号查询订单)
5339
- */
5340
- queryOrderById(params: QueryOrderParams): Promise<WxPayResponse<QueryOrderResponse>>;
5341
- queryOrderByOutTradeNo(outTradeNo: string): Promise<WxPayResponse<QueryOrderResponse>>;
5342
- queryOrderByTransactionId(transactionId: string): Promise<WxPayResponse<QueryOrderResponse>>;
5343
- /**
5344
- * 关闭订单
5345
- *
5346
- * 对于未支付的订单,商户可通过此接口关闭订单。
5347
- * 关单后,订单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5348
- *
5349
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791839
5350
- */
5351
- closeOrder(outTradeNo: string, request: CloseOrderRequest): Promise<WxPayResponse>;
5352
- /**
5353
- * 申请退款
5354
- *
5355
- * 当订单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
5356
- * 仅支持支付成功后 1 年内的订单。
5357
- *
5358
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012810597
5359
- */
5360
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5361
- /**
5362
- * 查询退款单
5363
- *
5364
- * 通过商户退款单号查询退款状态。
5365
- *
5366
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012810601
5367
- */
5368
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5369
- /**
5370
- * 申请异常退款
5371
- *
5372
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5373
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5374
- *
5375
- * @param refundId - 微信支付退款单号
5376
- * @param request - 异常退款请求参数
5377
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012810603
5378
- */
5379
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5380
- /**
5381
- * 申请交易账单
5382
- *
5383
- * 商户可通过此接口获取交易账单的下载链接。
5384
- *
5385
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012810606
5386
- */
5387
- tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
5388
- /**
5389
- * 申请资金账单
5390
- *
5391
- * 商户可通过此接口获取资金账单的下载链接。
5392
- *
5393
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012810609
5394
- */
5395
- fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
5396
- /**
5397
- * 下载账单
5398
- *
5399
- * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
5400
- * 下载地址 5 分钟内有效,请及时下载。
5401
- * 返回的 data 为 Buffer,可能为 GZIP 压缩格式,需要自行解压。
5402
- *
5403
- * @param downloadUrl - 申请账单返回的 download_url
5404
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012810615
5405
- */
5406
- downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
5407
5310
  }
5408
5311
 
5409
5312
  /**
@@ -5422,9 +5325,7 @@ declare class H5Service {
5422
5325
  *
5423
5326
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070347
5424
5327
  */
5425
- declare class AppService {
5426
- private readonly client;
5427
- constructor(client: WxPayClient);
5328
+ declare class AppService extends BasePaymentService {
5428
5329
  /**
5429
5330
  * APP 支付下单
5430
5331
  *
@@ -5435,83 +5336,18 @@ declare class AppService {
5435
5336
  */
5436
5337
  createOrder(request: CreateAppOrderRequest): Promise<WxPayResponse<CreateAppOrderResponse>>;
5437
5338
  /**
5438
- * 查询订单
5339
+ * APP 下单并生成调起支付参数
5439
5340
  *
5440
- * 支持通过微信支付订单号或商户订单号查询订单状态。
5341
+ * 封装了下单和调起支付参数生成两个步骤,一次调用即可获得
5342
+ * prepay_id 和 APP 端调起支付所需的全部参数。
5441
5343
  *
5442
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070354 (微信支付订单号查询订单)
5443
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070356 (商户订单号查询订单)
5344
+ * @param request - 下单请求参数(需包含 appid)
5345
+ * @param privateKey - 商户私钥
5346
+ * @returns 下单响应 + 调起支付参数
5444
5347
  */
5445
- queryOrderById(params: QueryOrderParams): Promise<WxPayResponse<QueryOrderResponse>>;
5446
- queryOrderByOutTradeNo(outTradeNo: string): Promise<WxPayResponse<QueryOrderResponse>>;
5447
- queryOrderByTransactionId(transactionId: string): Promise<WxPayResponse<QueryOrderResponse>>;
5448
5348
  prepayWithRequestPayment(request: CreateAppOrderRequest, privateKey: string | Buffer): Promise<WxPayResponse<CreateAppOrderResponse> & {
5449
5349
  bridgeConfig: AppBridgeConfig;
5450
5350
  }>;
5451
- /**
5452
- * 关闭订单
5453
- *
5454
- * 对于未支付的订单,商户可通过此接口关闭订单。
5455
- * 关单后,订单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5456
- *
5457
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070360
5458
- */
5459
- closeOrder(outTradeNo: string, request: CloseOrderRequest): Promise<WxPayResponse>;
5460
- /**
5461
- * 申请退款
5462
- *
5463
- * 当订单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
5464
- * 仅支持支付成功后 1 年内的订单。
5465
- *
5466
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070371
5467
- */
5468
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5469
- /**
5470
- * 查询退款单
5471
- *
5472
- * 通过商户退款单号查询退款状态。
5473
- *
5474
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070374
5475
- */
5476
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5477
- /**
5478
- * 申请异常退款
5479
- *
5480
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5481
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5482
- *
5483
- * @param refundId - 微信支付退款单号
5484
- * @param request - 异常退款请求参数
5485
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070379
5486
- */
5487
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5488
- /**
5489
- * 申请交易账单
5490
- *
5491
- * 商户可通过此接口获取交易账单的下载链接。
5492
- *
5493
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070395
5494
- */
5495
- tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
5496
- /**
5497
- * 申请资金账单
5498
- *
5499
- * 商户可通过此接口获取资金账单的下载链接。
5500
- *
5501
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070400
5502
- */
5503
- fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
5504
- /**
5505
- * 下载账单
5506
- *
5507
- * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
5508
- * 下载地址 5 分钟内有效,请及时下载。
5509
- * 返回的 data 为 Buffer,可能为 GZIP 压缩格式,需要自行解压。
5510
- *
5511
- * @param downloadUrl - 申请账单返回的 download_url
5512
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013070401
5513
- */
5514
- downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
5515
5351
  }
5516
5352
 
5517
5353
  /**
@@ -5530,9 +5366,7 @@ declare class AppService {
5530
5366
  *
5531
5367
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791877
5532
5368
  */
5533
- declare class NativeService {
5534
- private readonly client;
5535
- constructor(client: WxPayClient);
5369
+ declare class NativeService extends BasePaymentService {
5536
5370
  /**
5537
5371
  * Native 支付下单
5538
5372
  *
@@ -5545,79 +5379,63 @@ declare class NativeService {
5545
5379
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791877
5546
5380
  */
5547
5381
  createOrder(request: CreateNativeOrderRequest): Promise<WxPayResponse<CreateNativeOrderResponse>>;
5382
+ }
5383
+
5384
+ /**
5385
+ * 合单支付服务抽象类
5386
+ *
5387
+ * 提供所有合单支付渠道通用的查询、关闭、退款、账单等方法,避免代码重复。
5388
+ * 子类只需实现 createOrder 方法即可获得完整的合单支付服务能力。
5389
+ */
5390
+ declare abstract class BaseCombineService {
5391
+ protected readonly client: WxPayClient;
5392
+ constructor(client: WxPayClient);
5548
5393
  /**
5549
- * 查询订单
5550
- *
5551
- * 支持通过微信支付订单号或商户订单号查询订单状态。
5394
+ * 查询合单订单
5552
5395
  *
5553
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791879 (微信支付订单号查询订单)
5554
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791880 (商户订单号查询订单)
5396
+ * 通过合单商户订单号查询合单订单的支付状态及各子单详情。
5555
5397
  */
5556
- queryOrderById(params: QueryOrderParams): Promise<WxPayResponse<QueryOrderResponse>>;
5557
- queryOrderByOutTradeNo(outTradeNo: string): Promise<WxPayResponse<QueryOrderResponse>>;
5558
- queryOrderByTransactionId(transactionId: string): Promise<WxPayResponse<QueryOrderResponse>>;
5398
+ queryOrderById(params: QueryCombineOrderParams): Promise<WxPayResponse<QueryCombineOrderResponse>>;
5559
5399
  /**
5560
- * 关闭订单
5561
- *
5562
- * 对于未支付的订单,商户可通过此接口关闭订单。
5563
- * 关单后,订单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5400
+ * 关闭合单订单
5564
5401
  *
5565
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791881
5402
+ * 对于未支付的合单订单,商户可通过此接口关闭订单。
5566
5403
  */
5567
- closeOrder(outTradeNo: string, request: CloseOrderRequest): Promise<WxPayResponse>;
5404
+ closeOrder(params: CloseCombineOrderParams, request: CloseCombineOrderRequest): Promise<WxPayResponse>;
5568
5405
  /**
5569
5406
  * 申请退款
5570
5407
  *
5571
- * 当订单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
5572
- * 仅支持支付成功后 1 年内的订单。
5573
- *
5574
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791883
5408
+ * 当子单状态为支付成功(SUCCESS)时,商户可通过此接口对子单申请退款。
5575
5409
  */
5576
5410
  createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5577
5411
  /**
5578
5412
  * 查询退款单
5579
5413
  *
5580
5414
  * 通过商户退款单号查询退款状态。
5581
- *
5582
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791884
5583
5415
  */
5584
5416
  queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5585
5417
  /**
5586
5418
  * 申请异常退款
5587
5419
  *
5588
5420
  * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5589
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5590
- *
5591
- * @param refundId - 微信支付退款单号
5592
- * @param request - 异常退款请求参数
5593
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791885
5594
5421
  */
5595
5422
  applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5596
5423
  /**
5597
5424
  * 申请交易账单
5598
5425
  *
5599
5426
  * 商户可通过此接口获取交易账单的下载链接。
5600
- *
5601
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791887
5602
5427
  */
5603
5428
  tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
5604
5429
  /**
5605
5430
  * 申请资金账单
5606
5431
  *
5607
5432
  * 商户可通过此接口获取资金账单的下载链接。
5608
- *
5609
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791888
5610
5433
  */
5611
5434
  fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
5612
5435
  /**
5613
5436
  * 下载账单
5614
5437
  *
5615
5438
  * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
5616
- * 下载地址 5 分钟内有效,请及时下载。
5617
- * 返回的 data 为 Buffer,可能为 GZIP 压缩格式,需要自行解压。
5618
- *
5619
- * @param downloadUrl - 申请账单返回的 download_url
5620
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012791889
5621
5439
  */
5622
5440
  downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
5623
5441
  }
@@ -5632,6 +5450,9 @@ declare class NativeService {
5632
5450
  * - 申请退款
5633
5451
  * - 查询退款
5634
5452
  * - 申请异常退款
5453
+ * - 申请交易账单
5454
+ * - 申请资金账单
5455
+ * - 下载账单
5635
5456
  *
5636
5457
  * 合单支付允许一笔支付中包含 2-10 个子单,适用于多商户场景。
5637
5458
  * 各子单商户号需与合单发起方 APPID 绑定。
@@ -5643,9 +5464,7 @@ declare class NativeService {
5643
5464
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421222 (查询合单订单)
5644
5465
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421225 (关闭合单订单)
5645
5466
  */
5646
- declare class CombineService {
5647
- private readonly client;
5648
- constructor(client: WxPayClient);
5467
+ declare class CombineService extends BaseCombineService {
5649
5468
  /**
5650
5469
  * JSAPI 合单下单
5651
5470
  *
@@ -5662,66 +5481,6 @@ declare class CombineService {
5662
5481
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556926
5663
5482
  */
5664
5483
  createOrder(request: CreateCombineOrderRequest): Promise<WxPayResponse<CreateCombineOrderResponse>>;
5665
- /**
5666
- * 查询合单订单
5667
- *
5668
- * 通过合单商户订单号查询合单订单的支付状态及各子单详情。
5669
- *
5670
- * 订单状态(sub_orders[].trade_state):
5671
- * - SUCCESS:支付成功(终态)
5672
- * - NOTPAY:未支付
5673
- * - CLOSED:已关闭(终态)
5674
- *
5675
- * 注意:请勿使用非合单支付的查单接口查询合单订单。
5676
- *
5677
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421222
5678
- */
5679
- queryOrderById(params: QueryCombineOrderParams): Promise<WxPayResponse<QueryCombineOrderResponse>>;
5680
- /**
5681
- * 关闭合单订单
5682
- *
5683
- * 对于未支付的合单订单,商户可通过此接口关闭订单。
5684
- * 关单后,所有子单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5685
- *
5686
- * 关键约束:
5687
- * - 只能整单关闭,不支持关闭部分子单
5688
- * - combine_appid、sub_orders 中的 mchid 和 out_trade_no 必须与下单时完全一致
5689
- * - 仅支持未支付状态的订单
5690
- *
5691
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421225
5692
- */
5693
- closeOrder(params: CloseCombineOrderParams, request: CloseCombineOrderRequest): Promise<WxPayResponse>;
5694
- /**
5695
- * 申请退款
5696
- *
5697
- * 当子单状态为支付成功(SUCCESS)时,商户可通过此接口对子单申请退款。
5698
- * 仅支持支付成功后 1 年内的订单。
5699
- *
5700
- * 注意:合单支付的订单无法通过合单总单号 combine_out_trade_no 退款,
5701
- * 需要传入子单的 transaction_id 或 out_trade_no。
5702
- *
5703
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421249
5704
- */
5705
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5706
- /**
5707
- * 查询退款单
5708
- *
5709
- * 通过商户退款单号查询退款状态。
5710
- *
5711
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421261
5712
- */
5713
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5714
- /**
5715
- * 申请异常退款
5716
- *
5717
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5718
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5719
- *
5720
- * @param refundId - 微信支付退款单号
5721
- * @param request - 异常退款请求参数
5722
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421269
5723
- */
5724
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5725
5484
  }
5726
5485
 
5727
5486
  /**
@@ -5734,6 +5493,9 @@ declare class CombineService {
5734
5493
  * - 申请退款(基于子单)
5735
5494
  * - 查询退款单
5736
5495
  * - 申请异常退款
5496
+ * - 申请交易账单
5497
+ * - 申请资金账单
5498
+ * - 下载账单
5737
5499
  *
5738
5500
  * 合单支付允许一笔支付中包含 2-10 个子单,适用于多商户场景。
5739
5501
  * 各子单商户号需与合单发起方 APPID 绑定。
@@ -5750,9 +5512,7 @@ declare class CombineService {
5750
5512
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421148 (合单退款)
5751
5513
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421156 (查询退款单)
5752
5514
  */
5753
- declare class CombineH5Service {
5754
- private readonly client;
5755
- constructor(client: WxPayClient);
5515
+ declare class CombineH5Service extends BaseCombineService {
5756
5516
  /**
5757
5517
  * H5 合单下单
5758
5518
  *
@@ -5772,83 +5532,6 @@ declare class CombineH5Service {
5772
5532
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556961
5773
5533
  */
5774
5534
  createOrder(request: CreateH5CombineOrderRequest): Promise<WxPayResponse<CreateH5CombineOrderResponse>>;
5775
- /**
5776
- * 查询合单订单
5777
- *
5778
- * 通过合单商户订单号查询合单订单的支付状态及各子单详情。
5779
- * 合单支付订单需使用合单查单接口,不可使用非合单支付的查单接口。
5780
- *
5781
- * 订单状态(sub_orders[].trade_state):
5782
- * - SUCCESS:支付成功(终态)
5783
- * - NOTPAY:未支付
5784
- * - CLOSED:已关闭(终态)
5785
- *
5786
- * 典型使用场景:
5787
- * - 用户支付后从收银台返回商户页面时,确认订单支付状态
5788
- * - 未收到支付成功回调通知时,主动查询确认订单状态
5789
- * - 关单前确认订单仍为未支付状态
5790
- *
5791
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421126
5792
- */
5793
- queryOrderById(params: QueryCombineOrderParams): Promise<WxPayResponse<QueryCombineOrderResponse>>;
5794
- /**
5795
- * 关闭合单订单
5796
- *
5797
- * 对于未支付的合单订单,商户可通过此接口关闭订单。
5798
- * 关单后,所有子单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5799
- *
5800
- * 关键约束:
5801
- * - 只能整单关闭,不支持关闭部分子单
5802
- * - combine_appid、sub_orders 中的 mchid 和 out_trade_no 必须与下单时完全一致
5803
- * - 仅支持未支付状态的订单
5804
- * - 关单后订单为失败终态
5805
- *
5806
- * 典型使用场景:
5807
- * - 用户超过商户系统内部规定的支付时间
5808
- * - 超过下单时设置的 time_expire 时间
5809
- * - 因特殊原因需在可支付时间范围内关闭订单
5810
- *
5811
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421130
5812
- */
5813
- closeOrder(params: CloseCombineOrderParams, request: CloseCombineOrderRequest): Promise<WxPayResponse>;
5814
- /**
5815
- * 申请退款(基于子单)
5816
- *
5817
- * 合单支付的订单退款,无法通过合单商户订单号(combine_out_trade_no)退款,
5818
- * 只能根据单个子单进行退款。传入子单的 out_trade_no 或 transaction_id。
5819
- *
5820
- * 当子单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
5821
- * 仅支持支付成功后 1 年内的订单。
5822
- *
5823
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421148
5824
- */
5825
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5826
- /**
5827
- * 查询退款单
5828
- *
5829
- * 通过商户退款单号查询退款状态。
5830
- * 退款申请成功后,可通过此接口确认退款是否到账。
5831
- *
5832
- * 退款状态:
5833
- * - SUCCESS:退款成功
5834
- * - CLOSED:退款关闭
5835
- * - PROCESSING:退款处理中
5836
- * - ABNORMAL:退款异常
5837
- *
5838
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421156
5839
- */
5840
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5841
- /**
5842
- * 申请异常退款
5843
- *
5844
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5845
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5846
- *
5847
- * @param refundId - 微信支付退款单号
5848
- * @param request - 异常退款请求参数
5849
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421164
5850
- */
5851
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5852
5535
  }
5853
5536
 
5854
5537
  /**
@@ -5881,9 +5564,7 @@ declare class CombineH5Service {
5881
5564
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556587 (查询退款单)
5882
5565
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556692 (下载交易账单)
5883
5566
  */
5884
- declare class CombineAppService {
5885
- private readonly client;
5886
- constructor(client: WxPayClient);
5567
+ declare class CombineAppService extends BaseCombineService {
5887
5568
  /**
5888
5569
  * APP 合单下单
5889
5570
  *
@@ -5904,118 +5585,6 @@ declare class CombineAppService {
5904
5585
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556944
5905
5586
  */
5906
5587
  createOrder(request: CreateAppCombineOrderRequest): Promise<WxPayResponse<CreateAppCombineOrderResponse>>;
5907
- /**
5908
- * 查询合单订单
5909
- *
5910
- * 通过合单商户订单号查询合单订单的支付状态及各子单详情。
5911
- * 合单支付订单需使用合单查单接口,不可使用非合单支付的查单接口。
5912
- *
5913
- * 订单状态(sub_orders[].trade_state):
5914
- * - SUCCESS:支付成功(终态)
5915
- * - NOTPAY:未支付
5916
- * - CLOSED:已关闭(终态)
5917
- *
5918
- * 典型使用场景:
5919
- * - 用户支付后从微信收银台返回商户 APP 时,OpenSDK 回调 onResp 后确认订单支付状态
5920
- * - 未收到支付成功回调通知时,主动查询确认订单状态
5921
- * - 关单前确认订单仍为未支付状态
5922
- *
5923
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012557006
5924
- */
5925
- queryOrderById(params: QueryCombineOrderParams): Promise<WxPayResponse<QueryCombineOrderResponse>>;
5926
- /**
5927
- * 关闭合单订单
5928
- *
5929
- * 对于未支付的合单订单,商户可通过此接口关闭订单。
5930
- * 关单后,所有子单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
5931
- *
5932
- * 关键约束:
5933
- * - 只能整单关闭,不支持关闭部分子单
5934
- * - combine_appid、sub_orders 中的 mchid 和 out_trade_no 必须与下单时完全一致
5935
- * - 仅支持未支付状态的订单
5936
- * - 关单后订单为失败终态
5937
- *
5938
- * 典型使用场景:
5939
- * - 用户超过商户系统内部规定的支付时间
5940
- * - 超过下单时设置的 time_expire 时间
5941
- * - 因特殊原因需在可支付时间范围内关闭订单
5942
- *
5943
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012577452
5944
- */
5945
- closeOrder(params: CloseCombineOrderParams, request: CloseCombineOrderRequest): Promise<WxPayResponse>;
5946
- /**
5947
- * 申请退款(基于子单)
5948
- *
5949
- * 合单支付的订单退款,无法通过合单商户订单号(combine_out_trade_no)退款,
5950
- * 只能根据单个子单进行退款。传入子单的 out_trade_no 或 transaction_id。
5951
- *
5952
- * 当子单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
5953
- * 仅支持支付成功后 1 年内的订单。
5954
- *
5955
- * 注意:
5956
- * - 一笔订单最多支持 50 次部分退款,间隔至少 1 分钟
5957
- * - 重试时必须使用原商户退款单号,避免重复退款
5958
- * - 接口返回成功仅表示受理成功,最终结果以回调通知和查询接口为准
5959
- *
5960
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556524
5961
- */
5962
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
5963
- /**
5964
- * 查询退款单
5965
- *
5966
- * 通过商户退款单号查询退款状态。
5967
- * 退款申请成功后,可通过此接口确认退款是否到账。
5968
- *
5969
- * 退款状态:
5970
- * - SUCCESS:退款成功
5971
- * - CLOSED:退款关闭
5972
- * - PROCESSING:退款处理中
5973
- * - ABNORMAL:退款异常
5974
- *
5975
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556587
5976
- */
5977
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
5978
- /**
5979
- * 申请异常退款
5980
- *
5981
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
5982
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
5983
- *
5984
- * @param refundId - 微信支付退款单号
5985
- * @param request - 异常退款请求参数
5986
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013420988
5987
- */
5988
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
5989
- /**
5990
- * 申请交易账单
5991
- *
5992
- * 合单支付的订单账单是以子单为维度,每笔子单都会记录在各个子单商户账单内,
5993
- * 需要各个子单商户自己进行下载。
5994
- *
5995
- * 商户可通过此接口获取交易账单的下载链接,下载地址 5 分钟内有效。
5996
- *
5997
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556692
5998
- */
5999
- tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
6000
- /**
6001
- * 申请资金账单
6002
- *
6003
- * 商户可通过此接口获取资金账单的下载链接,下载地址 5 分钟内有效。
6004
- *
6005
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556748
6006
- */
6007
- fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
6008
- /**
6009
- * 下载账单
6010
- *
6011
- * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
6012
- * 下载地址 5 分钟内有效,请及时下载。
6013
- * 返回的 data 为 Buffer,可能为 GZIP 压缩格式,需要自行解压。
6014
- *
6015
- * @param downloadUrl - 申请账单返回的 download_url
6016
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012085923
6017
- */
6018
- downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
6019
5588
  }
6020
5589
 
6021
5590
  /**
@@ -6032,158 +5601,44 @@ declare class CombineAppService {
6032
5601
  * - 申请资金账单
6033
5602
  * - 下载账单
6034
5603
  *
6035
- * 合单支付允许一笔支付中包含 2-10 个子单,适用于多商户场景。
6036
- * 各子单商户号需与合单发起方 APPID 绑定。
6037
- *
6038
- * 小程序合单支付流程:
6039
- * 1. 调用 createOrder 获取 prepay_id
6040
- * 2. 使用 buildMiniProgramBridgeConfig 生成 wx.requestPayment 调起参数
6041
- * 3. 用户支付完成后,通过 requestPayment 回调、支付成功通知或主动查询确认订单状态
6042
- * 4. 退款时需基于子单进行退款,无法通过合单商户订单号退款
6043
- *
6044
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556931 (小程序合单下单)
6045
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421401 (查询合单订单)
6046
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421404 (关闭合单订单)
6047
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421410 (申请退款)
6048
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421421 (查询退款单)
6049
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421450 (下载交易账单)
6050
- */
6051
- declare class CombineMiniProgramService {
6052
- private readonly client;
6053
- constructor(client: WxPayClient);
6054
- /**
6055
- * 小程序合单下单
6056
- *
6057
- * 商户通过此接口生成小程序合单预付单并获取 prepay_id。
6058
- * 获取 prepay_id 后,配合 buildMiniProgramBridgeConfig 生成调起支付参数,
6059
- * 通过小程序 wx.requestPayment() 方法唤起微信支付收银台。
6060
- *
6061
- * prepay_id 有效期为 2 小时,超过 2 小时需使用原下单参数重新请求。
6062
- *
6063
- * 关键约束:
6064
- * - combine_mchid 需先申请发起合单支付权限
6065
- * - sub_orders 中的 mchid 需先申请接收合单支付权限
6066
- * - 合单发起方和子单参与方需绑定同一个 combine_appid
6067
- * - combine_appid 必须为小程序 AppID
6068
- * - combine_payer_info.openid 在小程序场景下可选(由运行环境隐式提供)
6069
- * - 子单数量为 2-10 笔
6070
- * - time_expire 不能早于下单时间后 1 分钟,不能超过下单时间后 7 天
6071
- *
6072
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556931
6073
- */
6074
- createOrder(request: CreateMiniProgramCombineOrderRequest): Promise<WxPayResponse<CreateMiniProgramCombineOrderResponse>>;
6075
- /**
6076
- * 查询合单订单
6077
- *
6078
- * 通过合单商户订单号查询合单订单的支付状态及各子单详情。
6079
- * 合单支付订单需使用合单查单接口,不可使用非合单支付的查单接口。
6080
- *
6081
- * 订单状态(sub_orders[].trade_state):
6082
- * - SUCCESS:支付成功(终态)
6083
- * - NOTPAY:未支付
6084
- * - CLOSED:已关闭(终态)
6085
- *
6086
- * 典型使用场景:
6087
- * - 用户支付后从收银台返回小程序页面时,requestPayment 回调后确认订单支付状态
6088
- * - 未收到支付成功回调通知时,主动查询确认订单状态
6089
- * - 关单前确认订单仍为未支付状态
6090
- *
6091
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421401
6092
- */
6093
- queryOrderById(params: QueryCombineOrderParams): Promise<WxPayResponse<QueryCombineOrderResponse>>;
6094
- /**
6095
- * 关闭合单订单
6096
- *
6097
- * 对于未支付的合单订单,商户可通过此接口关闭订单。
6098
- * 关单后,所有子单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
6099
- *
6100
- * 关键约束:
6101
- * - 只能整单关闭,不支持关闭部分子单
6102
- * - combine_appid、sub_orders 中的 mchid 和 out_trade_no 必须与下单时完全一致
6103
- * - 仅支持未支付状态的订单
6104
- * - 关单后订单为失败终态
6105
- *
6106
- * 典型使用场景:
6107
- * - 用户超过商户系统内部规定的支付时间
6108
- * - 超过下单时设置的 time_expire 时间
6109
- * - 因特殊原因需在可支付时间范围内关闭订单
6110
- *
6111
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421404
6112
- */
6113
- closeOrder(params: CloseCombineOrderParams, request: CloseCombineOrderRequest): Promise<WxPayResponse>;
6114
- /**
6115
- * 申请退款(基于子单)
6116
- *
6117
- * 合单支付的订单退款,无法通过合单商户订单号(combine_out_trade_no)退款,
6118
- * 只能根据单个子单进行退款。传入子单的 out_trade_no 或 transaction_id。
6119
- *
6120
- * 当子单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
6121
- * 仅支持支付成功后 1 年内的订单。
6122
- *
6123
- * 注意:
6124
- * - 一笔订单最多支持 50 次部分退款,间隔至少 1 分钟
6125
- * - 重试时必须使用原商户退款单号,避免重复退款
6126
- * - 接口返回成功仅表示受理成功,最终结果以回调通知和查询接口为准
6127
- *
6128
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421410
6129
- */
6130
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
6131
- /**
6132
- * 查询退款单
6133
- *
6134
- * 通过商户退款单号查询退款状态。
6135
- * 退款申请成功后,可通过此接口确认退款是否到账。
6136
- *
6137
- * 退款状态:
6138
- * - SUCCESS:退款成功
6139
- * - CLOSED:退款关闭
6140
- * - PROCESSING:退款处理中
6141
- * - ABNORMAL:退款异常
6142
- *
6143
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421421
6144
- */
6145
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
6146
- /**
6147
- * 申请异常退款
6148
- *
6149
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
6150
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
6151
- *
6152
- * @param refundId - 微信支付退款单号
6153
- * @param request - 异常退款请求参数
6154
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421429
6155
- */
6156
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
6157
- /**
6158
- * 申请交易账单
6159
- *
6160
- * 合单支付的订单账单是以子单为维度,每笔子单都会记录在各个子单商户账单内,
6161
- * 需要各个子单商户自己进行下载。
6162
- *
6163
- * 商户可通过此接口获取交易账单的下载链接,下载地址 5 分钟内有效。
6164
- *
6165
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421450
6166
- */
6167
- tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
5604
+ * 合单支付允许一笔支付中包含 2-10 个子单,适用于多商户场景。
5605
+ * 各子单商户号需与合单发起方 APPID 绑定。
5606
+ *
5607
+ * 小程序合单支付流程:
5608
+ * 1. 调用 createOrder 获取 prepay_id
5609
+ * 2. 使用 buildMiniProgramBridgeConfig 生成 wx.requestPayment 调起参数
5610
+ * 3. 用户支付完成后,通过 requestPayment 回调、支付成功通知或主动查询确认订单状态
5611
+ * 4. 退款时需基于子单进行退款,无法通过合单商户订单号退款
5612
+ *
5613
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556931 (小程序合单下单)
5614
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421401 (查询合单订单)
5615
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421404 (关闭合单订单)
5616
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421410 (申请退款)
5617
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421421 (查询退款单)
5618
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421450 (下载交易账单)
5619
+ */
5620
+ declare class CombineMiniProgramService extends BaseCombineService {
6168
5621
  /**
6169
- * 申请资金账单
5622
+ * 小程序合单下单
6170
5623
  *
6171
- * 商户可通过此接口获取资金账单的下载链接,下载地址 5 分钟内有效。
5624
+ * 商户通过此接口生成小程序合单预付单并获取 prepay_id。
5625
+ * 获取 prepay_id 后,配合 buildMiniProgramBridgeConfig 生成调起支付参数,
5626
+ * 通过小程序 wx.requestPayment() 方法唤起微信支付收银台。
6172
5627
  *
6173
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421456
6174
- */
6175
- fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
6176
- /**
6177
- * 下载账单
5628
+ * prepay_id 有效期为 2 小时,超过 2 小时需使用原下单参数重新请求。
6178
5629
  *
6179
- * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
6180
- * 下载地址 5 分钟内有效,请及时下载。
6181
- * 返回的 data Buffer,可能为 GZIP 压缩格式,需要自行解压。
5630
+ * 关键约束:
5631
+ * - combine_mchid 需先申请发起合单支付权限
5632
+ * - sub_orders 中的 mchid 需先申请接收合单支付权限
5633
+ * - 合单发起方和子单参与方需绑定同一个 combine_appid
5634
+ * - combine_appid 必须为小程序 AppID
5635
+ * - combine_payer_info.openid 在小程序场景下可选(由运行环境隐式提供)
5636
+ * - 子单数量为 2-10 笔
5637
+ * - time_expire 不能早于下单时间后 1 分钟,不能超过下单时间后 7 天
6182
5638
  *
6183
- * @param downloadUrl - 申请账单返回的 download_url
6184
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421461
5639
+ * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556931
6185
5640
  */
6186
- downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
5641
+ createOrder(request: CreateMiniProgramCombineOrderRequest): Promise<WxPayResponse<CreateMiniProgramCombineOrderResponse>>;
6187
5642
  }
6188
5643
 
6189
5644
  /**
@@ -6217,9 +5672,7 @@ declare class CombineMiniProgramService {
6217
5672
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421346 (查询退款单)
6218
5673
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421361 (下载交易账单)
6219
5674
  */
6220
- declare class CombineNativeService {
6221
- private readonly client;
6222
- constructor(client: WxPayClient);
5675
+ declare class CombineNativeService extends BaseCombineService {
6223
5676
  /**
6224
5677
  * Native 合单下单
6225
5678
  *
@@ -6241,118 +5694,6 @@ declare class CombineNativeService {
6241
5694
  * @see https://pay.weixin.qq.com/doc/v3/merchant/4012556982
6242
5695
  */
6243
5696
  createOrder(request: CreateNativeCombineOrderRequest): Promise<WxPayResponse<CreateNativeCombineOrderResponse>>;
6244
- /**
6245
- * 查询合单订单
6246
- *
6247
- * 通过合单商户订单号查询合单订单的支付状态及各子单详情。
6248
- * 合单支付订单需使用合单查单接口,不可使用非合单支付的查单接口。
6249
- *
6250
- * 订单状态(sub_orders[].trade_state):
6251
- * - SUCCESS:支付成功(终态)
6252
- * - NOTPAY:未支付
6253
- * - CLOSED:已关闭(终态)
6254
- *
6255
- * 典型使用场景:
6256
- * - 用户扫码支付后,轮询确认订单支付状态
6257
- * - 未收到支付成功回调通知时,主动查询确认订单状态
6258
- * - 关单前确认订单仍为未支付状态
6259
- *
6260
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421316
6261
- */
6262
- queryOrderById(params: QueryCombineOrderParams): Promise<WxPayResponse<QueryCombineOrderResponse>>;
6263
- /**
6264
- * 关闭合单订单
6265
- *
6266
- * 对于未支付的合单订单,商户可通过此接口关闭订单。
6267
- * 关单后,所有子单状态从未支付(NOTPAY)流转为已关闭(CLOSED)。
6268
- *
6269
- * 关键约束:
6270
- * - 只能整单关闭,不支持关闭部分子单
6271
- * - combine_appid、sub_orders 中的 mchid 和 out_trade_no 必须与下单时完全一致
6272
- * - 仅支持未支付状态的订单
6273
- * - 关单后订单为失败终态
6274
- *
6275
- * 典型使用场景:
6276
- * - 用户超过商户系统内部规定的支付时间
6277
- * - 超过下单时设置的 time_expire 时间
6278
- * - 因特殊原因需在可支付时间范围内关闭订单
6279
- *
6280
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421330
6281
- */
6282
- closeOrder(params: CloseCombineOrderParams, request: CloseCombineOrderRequest): Promise<WxPayResponse>;
6283
- /**
6284
- * 申请退款(基于子单)
6285
- *
6286
- * 合单支付的订单退款,无法通过合单商户订单号(combine_out_trade_no)退款,
6287
- * 只能根据单个子单进行退款。传入子单的 out_trade_no 或 transaction_id。
6288
- *
6289
- * 当子单状态为支付成功(SUCCESS)时,商户可通过此接口申请退款。
6290
- * 仅支持支付成功后 1 年内的订单。
6291
- *
6292
- * 注意:
6293
- * - 一笔订单最多支持 50 次部分退款,间隔至少 1 分钟
6294
- * - 重试时必须使用原商户退款单号,避免重复退款
6295
- * - 接口返回成功仅表示受理成功,最终结果以回调通知和查询接口为准
6296
- *
6297
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421340
6298
- */
6299
- createRefund(request: CreateRefundRequest): Promise<WxPayResponse<CreateRefundResponse>>;
6300
- /**
6301
- * 查询退款单
6302
- *
6303
- * 通过商户退款单号查询退款状态。
6304
- * 退款申请成功后,可通过此接口确认退款是否到账。
6305
- *
6306
- * 退款状态:
6307
- * - SUCCESS:退款成功
6308
- * - CLOSED:退款关闭
6309
- * - PROCESSING:退款处理中
6310
- * - ABNORMAL:退款异常
6311
- *
6312
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421346
6313
- */
6314
- queryRefund(params: QueryRefundParams): Promise<WxPayResponse<QueryRefundResponse>>;
6315
- /**
6316
- * 申请异常退款
6317
- *
6318
- * 当退款状态为 ABNORMAL 时,可通过此接口发起异常退款处理。
6319
- * 支持退款至用户银行卡或退款至交易商户银行账户两种方式。
6320
- *
6321
- * @param refundId - 微信支付退款单号
6322
- * @param request - 异常退款请求参数
6323
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421352
6324
- */
6325
- applyAbnormalRefund(refundId: string, request: ApplyAbnormalRefundRequest): Promise<WxPayResponse<ApplyAbnormalRefundResponse>>;
6326
- /**
6327
- * 申请交易账单
6328
- *
6329
- * 合单支付的订单账单是以子单为维度,每笔子单都会记录在各个子单商户账单内,
6330
- * 需要各个子单商户自己进行下载。
6331
- *
6332
- * 商户可通过此接口获取交易账单的下载链接,下载地址 5 分钟内有效。
6333
- *
6334
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421361
6335
- */
6336
- tradeBill(params: TradeBillParams): Promise<WxPayResponse<TradeBillResponse>>;
6337
- /**
6338
- * 申请资金账单
6339
- *
6340
- * 商户可通过此接口获取资金账单的下载链接,下载地址 5 分钟内有效。
6341
- *
6342
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421365
6343
- */
6344
- fundFlowBill(params: FundFlowBillParams): Promise<WxPayResponse<FundFlowBillResponse>>;
6345
- /**
6346
- * 下载账单
6347
- *
6348
- * 通过申请账单接口返回的 download_url,以 GET 方式下载账单原始文件。
6349
- * 下载地址 5 分钟内有效,请及时下载。
6350
- * 返回的 data 为 Buffer,可能为 GZIP 压缩格式,需要自行解压。
6351
- *
6352
- * @param downloadUrl - 申请账单返回的 download_url
6353
- * @see https://pay.weixin.qq.com/doc/v3/merchant/4013421368
6354
- */
6355
- downloadBill(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
6356
5697
  }
6357
5698
 
6358
5699
  /**
@@ -8668,6 +8009,92 @@ interface PartnerTransferQueryResponse {
8668
8009
  /** 更新时间 */
8669
8010
  update_time?: string;
8670
8011
  }
8012
+ /** 服务商申请电子回单请求(商户单号) */
8013
+ interface ApplyPartnerTransferElecSignByOutBillNoRequest {
8014
+ /** 特约商户号 */
8015
+ sub_mchid: string;
8016
+ /** 商户单号 */
8017
+ out_bill_no: string;
8018
+ }
8019
+ /** 服务商申请电子回单请求(微信单号) */
8020
+ interface ApplyPartnerTransferElecSignByTransferBillNoRequest {
8021
+ /** 特约商户号 */
8022
+ sub_mchid: string;
8023
+ /** 微信转账单号 */
8024
+ transfer_bill_no: string;
8025
+ }
8026
+ /** 服务商发起免确认收款授权请求 */
8027
+ interface CreatePartnerTransferAuthorizationRequest {
8028
+ /** 特约商户号 */
8029
+ sub_mchid: string;
8030
+ /** 商户侧授权单号 */
8031
+ out_authorization_no: string;
8032
+ /** 商户应用唯一标识 */
8033
+ appid: string;
8034
+ /** 收款用户在商户appid下的唯一标识 */
8035
+ openid: string;
8036
+ /** 转账场景ID */
8037
+ transfer_scene_id: string;
8038
+ /** 用户展示名称 */
8039
+ user_display_name: string;
8040
+ /** 用户收款时感知到的收款原因 */
8041
+ user_recv_perception?: string;
8042
+ /** 授权结果异步通知回调地址 */
8043
+ authorization_notify_url: string;
8044
+ /** 用户端场景信息 */
8045
+ scene_info?: {
8046
+ /** 用户终端IP */
8047
+ client_ip?: string;
8048
+ /** 用户设备ID */
8049
+ device_id?: string;
8050
+ /** 设备类型 */
8051
+ device_type?: 'IOS' | 'ANDROID' | 'HARMONY' | 'OTHER';
8052
+ };
8053
+ }
8054
+ /** 服务商查询授权结果请求 */
8055
+ interface QueryPartnerTransferAuthorizationRequest {
8056
+ /** 特约商户号 */
8057
+ sub_mchid: string;
8058
+ /** 商户侧授权单号 */
8059
+ out_authorization_no: string;
8060
+ /** 是否显示授权信息 */
8061
+ is_display_authorization?: boolean;
8062
+ }
8063
+ /** 服务商用户授权后转账请求 */
8064
+ interface CreatePartnerTransferAfterAuthorizationRequest {
8065
+ /** 特约商户号 */
8066
+ sub_mchid: string;
8067
+ /** 商户AppID */
8068
+ appid: string;
8069
+ /** 商户单号 */
8070
+ out_bill_no: string;
8071
+ /** 转账场景ID */
8072
+ transfer_scene_id: string;
8073
+ /** 收款用户姓名(需加密) */
8074
+ user_name?: string;
8075
+ /** 转账金额,单位为分 */
8076
+ transfer_amount: number;
8077
+ /** 转账备注 */
8078
+ transfer_remark: string;
8079
+ /** 用户收款感知 */
8080
+ user_recv_perception?: string;
8081
+ /** 转账场景报备信息 */
8082
+ transfer_scene_report_infos?: {
8083
+ info_type: string;
8084
+ info_content: string;
8085
+ }[];
8086
+ /** 微信免确认收款授权单号(与out_authorization_no二选一) */
8087
+ authorization_id?: string;
8088
+ /** 商户侧授权单号(与authorization_id二选一) */
8089
+ out_authorization_no?: string;
8090
+ }
8091
+ /** 服务商解除免确认收款授权请求 */
8092
+ interface ClosePartnerTransferAuthorizationRequest {
8093
+ /** 特约商户号 */
8094
+ sub_mchid: string;
8095
+ /** 商户侧授权单号 */
8096
+ out_authorization_no: string;
8097
+ }
8671
8098
  /**
8672
8099
  * 服务商商家转账服务
8673
8100
  *
@@ -8695,6 +8122,14 @@ declare class PartnerTransferService {
8695
8122
  * @returns 转账单详情
8696
8123
  */
8697
8124
  queryTransferByOutBillNo(outBillNo: string, subMchid: string): Promise<WxPayResponse<PartnerTransferQueryResponse>>;
8125
+ /**
8126
+ * 通过微信单号查询转账单
8127
+ *
8128
+ * @param transferBillNo - 微信转账单号
8129
+ * @param subMchid - 特约商户号
8130
+ * @returns 转账单详情
8131
+ */
8132
+ queryTransferByTransferBillNo(transferBillNo: string, subMchid: string): Promise<WxPayResponse<PartnerTransferQueryResponse>>;
8698
8133
  /**
8699
8134
  * 撤销转账
8700
8135
  *
@@ -8702,6 +8137,106 @@ declare class PartnerTransferService {
8702
8137
  * @param subMchid - 特约商户号
8703
8138
  */
8704
8139
  cancelTransfer(outBillNo: string, subMchid: string): Promise<WxPayResponse>;
8140
+ /**
8141
+ * 商户单号申请电子回单
8142
+ *
8143
+ * 申请条件:
8144
+ * - 转账单据状态为 SUCCESS
8145
+ * - 传入了收款用户姓名
8146
+ * - 六个月内的转账单据
8147
+ *
8148
+ * 回单有效期为90天,过期需重新申请。
8149
+ *
8150
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4012716452
8151
+ */
8152
+ applyElecSignByOutBillNo(request: ApplyPartnerTransferElecSignByOutBillNoRequest): Promise<WxPayResponse<ApplyMerchantTransferElecSignResponse>>;
8153
+ /**
8154
+ * 商户单号查询电子回单
8155
+ *
8156
+ * 当申请单状态为 FINISHED 时,返回回单文件的下载地址和摘要信息。
8157
+ * 下载地址有效期为10分钟,过期后需重新调用此接口获取。
8158
+ *
8159
+ * @param outBillNo - 商户单号
8160
+ * @param subMchid - 特约商户号
8161
+ *
8162
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4012716436
8163
+ */
8164
+ queryElecSignByOutBillNo(outBillNo: string, subMchid: string): Promise<WxPayResponse<QueryMerchantTransferElecSignResponse>>;
8165
+ /**
8166
+ * 微信单号申请电子回单
8167
+ *
8168
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4012716456
8169
+ */
8170
+ applyElecSignByTransferBillNo(request: ApplyPartnerTransferElecSignByTransferBillNoRequest): Promise<WxPayResponse<ApplyMerchantTransferElecSignResponse>>;
8171
+ /**
8172
+ * 微信单号查询电子回单
8173
+ *
8174
+ * @param transferBillNo - 微信转账单号
8175
+ * @param subMchid - 特约商户号
8176
+ *
8177
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4012716455
8178
+ */
8179
+ queryElecSignByTransferBillNo(transferBillNo: string, subMchid: string): Promise<WxPayResponse<QueryMerchantTransferElecSignResponse>>;
8180
+ /**
8181
+ * 下载电子回单
8182
+ *
8183
+ * 通过申请电子回单接口返回的 download_url,以 GET 方式下载回单原始文件。
8184
+ * 下载地址有效期为 10 分钟,过期后需重新调用查询接口获取。
8185
+ * 返回的 data 为 PDF 文件的 Buffer。
8186
+ *
8187
+ * @param downloadUrl - 查询电子回单返回的 download_url
8188
+ * @returns 电子回单文件 Buffer
8189
+ *
8190
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4013866774
8191
+ */
8192
+ downloadElecSign(downloadUrl: string): Promise<WxPayResponse<Buffer>>;
8193
+ /**
8194
+ * 发起转账并完成免确认收款授权
8195
+ *
8196
+ * 在发起转账的同时申请免确认收款授权,用户确认收款时可同时完成授权。
8197
+ * 授权成功后,后续转账无需用户逐笔确认。
8198
+ *
8199
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4014399293
8200
+ */
8201
+ createTransferWithAuthorization(request: CreateTransferWithAuthorizationRequest & {
8202
+ sub_mchid: string;
8203
+ }): Promise<WxPayResponse<CreateTransferWithAuthorizationResponse>>;
8204
+ /**
8205
+ * 发起免确认收款授权
8206
+ *
8207
+ * 直接申请免确认收款授权,不发起转账。
8208
+ * 用户需在24小时内完成授权,未确认记录保留30天。
8209
+ * 同一微信号在同商户下待确认+已授权状态的授权单最多5个。
8210
+ *
8211
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4015901167
8212
+ */
8213
+ createAuthorization(request: CreatePartnerTransferAuthorizationRequest): Promise<WxPayResponse<CreateMerchantTransferAuthorizationResponse>>;
8214
+ /**
8215
+ * 商户单号查询授权结果
8216
+ *
8217
+ * @param request - 查询请求参数
8218
+ *
8219
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4014399423
8220
+ */
8221
+ queryAuthorizationByOutAuthorizationNo(request: QueryPartnerTransferAuthorizationRequest): Promise<WxPayResponse<QueryMerchantTransferAuthorizationResponse>>;
8222
+ /**
8223
+ * 用户授权后转账
8224
+ *
8225
+ * 用户完成授权后,商户可直接发起转账,无需用户逐笔确认收款。
8226
+ * 需要提供 authorization_id 或 out_authorization_no(二选一)。
8227
+ *
8228
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4014399371
8229
+ */
8230
+ createTransferAfterAuthorization(request: CreatePartnerTransferAfterAuthorizationRequest): Promise<WxPayResponse<CreateTransferAfterAuthorizationResponse>>;
8231
+ /**
8232
+ * 解除免确认收款授权
8233
+ *
8234
+ * 商户可调用此接口帮助用户发起解除授权。
8235
+ * 用户也可通过微信支付入账消息的收款设置操作关闭授权。
8236
+ *
8237
+ * @see https://pay.weixin.qq.com/doc/v3/partner/4015653811
8238
+ */
8239
+ closeAuthorization(request: ClosePartnerTransferAuthorizationRequest): Promise<WxPayResponse<CloseMerchantTransferAuthorizationResponse>>;
8705
8240
  }
8706
8241
 
8707
8242
  /** 批量转账明细输入 */