@chenbz/wx_pay_v3
Version:
272 lines (271 loc) • 10.8 kB
TypeScript
import { IConfig, IKey, IRefundWay, ITransferDetailItem } from './interfaceData';
/**
* [官方文档](https://pay.weixin.qq.com/wiki/doc/apiv3/index.shtml)
*/
export declare class WxPayV3 {
constructor(config: IConfig);
config: IConfig;
/**
* @desc 生成签名
* @param data {object} 需要加密的参数
* @return string
* @author chenbz
* @date 2022-09-28
*/
createSignature(data: IKey): string;
/**
* @desc 获取请求头token
* @param method {string} 请求类型
* @param url {string} 请求路径
* @param body {object} 请求参数
* @return promise
* @author chenbz
* @date 2022-09-28
*/
getAuthorization(method: string | undefined, url: string, body?: string | object): string;
/**
* @desc 验证签名
* @param signature {string} 签名 => http请求头['wechatpay-signature']
* @param timestamp {string} 时间戳 => http请求头['wechatpay-timestamp']
* @param nonce {string} 随机字符串 => http请求头['wechatpay-nonce']
* @param data {object} 回调数据 => 应答主体
* @return boolean
* @author chenbz
* @date 2022-09-28
*/
verifySignature(signature: string, timestamp: string, nonce: string, data: object): boolean;
/**
* @desc 解密AES
* @param cipherText {string} 密文
* @param add {string} associated_data字符串
* @param iv {string} nonce字符串
* @return object
* @author chenbz
* @date 2022-09-28
*/
decryptAES(cipherText: string, add: string, iv: string): object;
/**
* @desc 生成订单号(使用uuid确保唯一性)
* @return string
* @author chenbz
* @date 2022-09-28
*/
createOrderNo(): string;
/**
* @desc jsAPI
* @param outTradeNo {string} 商户订单号 => 可调用"createOrderNo()"方法生成
* @param payerOpenId {string} 用户在直连商户appId下的唯一标识 => openId
* @param amountTotal {number} 订单总金额(单位:分)
* @param description {string} 商品描述
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-28
*/
jsApi(outTradeNo: string, payerOpenId: string, amountTotal: number, description: string, options?: any): Promise<any>;
/**
* @desc jsApi支付
* @param outTradeNo {string} 商户订单号 => 可调用"createOrderNo()"方法生成
* @param payerOpenId {string} 用户在直连商户appId下的唯一标识 => openId
* @param amountTotal {number} 订单总金额(单位:分)
* @param description {string} 商品描述
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-28
*/
jsApiPay(outTradeNo: string, payerOpenId: string, amountTotal: number, description: string, options?: any): Promise<{
appId: string;
timeStamp: string;
nonceStr: string;
package: string;
signType: string;
paySign: string;
}>;
/**
* @desc 微信小程序支付
* @param outTradeNo {string} 商户订单号 => 可调用"createOrderNo()"方法生成
* @param payerOpenId {string} 用户在直连商户appId下的唯一标识 => openId
* @param amountTotal {number} 订单总金额(单位:分)
* @param description {string} 商品描述
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-28
*/
wmpPay(outTradeNo: string, payerOpenId: string, amountTotal: number, description: string, options?: any): Promise<{
appId: string;
timeStamp: string;
nonceStr: string;
package: string;
signType: string;
paySign: string;
}>;
/**
* @desc h5支付
* @param outTradeNo {string} 商户订单号 => 可调用"createOrderNo()"方法生成
* @param amountTotal {number} 订单总金额(单位:分)
* @param description {string} 商品描述
* @param payerClientIp {string} 用户的客户端IP,支持IPv4和IPv6两种格式的IP地址。
* @param options {any} 选项 => 可覆盖已有参数
* @return string
* @author chenbz
* @date 2022-09-28
*/
h5Pay(outTradeNo: string, amountTotal: number, description: string, payerClientIp?: string, options?: any): Promise<{
h5_url: string;
}>;
/**
* @desc native支付
* @param outTradeNo {string} 商户订单号 => 可调用"createOrderNo()"方法生成
* @param amountTotal {number} 订单总金额(单位:分)
* @param description {string} 商品描述
* @param options {any} 选项 => 可覆盖已有参数
* @return string
* @author chenbz
* @date 2022-09-28
*/
nativePay(outTradeNo: string, amountTotal: number, description: string, options?: any): Promise<{
code_url: string;
}>;
/**
* @desc app支付
* @param outTradeNo {string} 商户订单号 => 可调用"createOrderNo()"方法生成
* @param amountTotal {number} 订单总金额(单位:分)
* @param description {string} 商品描述
* @param options {any} 选项 => 可覆盖已有参数
* @return string
* @author chenbz
* @date 2022-09-28
*/
appPay(outTradeNo: string, amountTotal: number, description: string, options?: any): Promise<{
prepay_id: string;
}>;
/**
* @desc 根据微信支付订单号查询
* @param transactionId {string} 微信支付订单号
* @return object
* @author chenbz
* @date 2022-09-28
*/
getOrderByTransactionId(transactionId: string): Promise<any>;
/**
* @desc 根据商户订单号查询
* @param outTradeNo {string} 商户订单号
* @return object
* @author chenbz
* @date 2022-09-28
*/
getOrderByOutTradeNo(outTradeNo: string): Promise<any>;
/**
* @desc 关闭订单
* @param outTradeNo {string} 商户订单号
* @return object
* @author chenbz
* @date 2022-09-28
*/
closeOrderByOutTradeNo(outTradeNo: string): Promise<any>;
/**
* @desc 退款
* @param refundWay {IRefundWay} 退款方式 => 微信支付订单号 || 商户订单号
* @param outRefundNo {string} 商户退款单号 => 可调用"createOrderNo()"方法生成
* @param amountRefund {number} 退款金额
* @param amountTotal {number} 原订单金额
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-28
*/
refundDomestic(refundWay: IRefundWay, outRefundNo: string, amountTotal: number, amountRefund: number, options?: any): Promise<any>;
/**
* @desc 根据"微信支付订单号"退款
* @param transactionId {string} 微信支付订单号
* @param outRefundNo {string} 商户退款单号 => 可调用"createOrderNo()"方法生成
* @param amountRefund {number} 退款金额
* @param amountTotal {number} 原订单金额
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-28
*/
refundDomesticByTransactionId(transactionId: string, outRefundNo: string, amountTotal: number, amountRefund: number, options?: any): Promise<any>;
/**
* @desc 根据"商户订单号"退款
* @param outTradeNo {string} 商户订单号
* @param outRefundNo {string} 商户退款单号 => 可调用"createOrderNo()"方法生成
* @param amountRefund {number} 退款金额
* @param amountTotal {number} 原订单金额
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-28
*/
refundDomesticByOutTradeNo(outTradeNo: string, outRefundNo: string, amountTotal: number, amountRefund: number, options?: any): Promise<any>;
/**
* @desc 查询单笔退款
* @param outRefundNo {string} 商户退款单号
* @return object
* @author chenbz
* @date 2022-09-28
*/
getRefundDomesticByOutRefundNo(outRefundNo: string): Promise<any>;
/**
* @desc 获取申请交易账单
* @param billDate {string} 账单日期
* @param billType {string} 账单类型 => [ALL:返回当日所有订单信息(不含充值退款订单)] [SUCCESS:返回当日成功支付的订单(不含充值退款订单)] [REFUND:返回当日退款订单(不含充值退款订单)]
* @param tarType {string} 压缩类型
* @return object
* @author chenbz
* @date 2022-09-29
*/
getTradeBill(billDate: string, billType?: string, tarType?: string): Promise<any>;
/**
* @desc 获取申请资金账单
* @param billDate {string} 账单日期
* @param accountType {string} 资金账户类型 => [BASIC:基本账户] [OPERATION:运营账户] [FEES:手续费账户]
* @param tarType {string} 压缩类型
* @return object
* @author chenbz
* @date 2022-09-29
*/
getFundFlowBill(billDate: string, accountType?: string, tarType?: string): Promise<any>;
/**
* @desc 下载申请交易账单
* @param billDate {string} 账单日期
* @param billType {string} 账单类型
* @param tarType {string} 压缩类型
* @return 账单文件的数据流
* @author chenbz
* @date 2022-09-29
*/
downloadTradeBill(billDate: string, billType?: string, tarType?: string): Promise<any>;
/**
* @desc 下载申请资金账单
* @param billDate {string} 账单日期
* @param accountType {string} 资金账户类型 => [BASIC:基本账户] [OPERATION:运营账户] [FEES:手续费账户]
* @param tarType {string} 压缩类型
* @return 账单文件的数据流
* @author chenbz
* @date 2022-09-29
*/
downloadFundFlowBill(billDate: string, accountType?: string, tarType?: string): Promise<any>;
/**
* @desc 发起商户转账
* @param outBatchNo {string} 商户批次单号 => 可调用"createOrderNo()"方法生成
* @param batchName {string} 批次名称
* @param batchRemark {string} 批次备注
* @param transferDetailList {ITransferDetailItem} 转账明细列表
* @param options {any} 选项 => 可覆盖已有参数
* @return object
* @author chenbz
* @date 2022-09-29
*/
transferBatches(outBatchNo: string, batchName: string, batchRemark: string, transferDetailList: ITransferDetailItem[], options?: any): Promise<any>;
/**
* @desc 获取平台证书列表
* @return object
* @author chenbz
* @date 2022-09-30
*/
getCertificates(): Promise<any>;
}