import { Base } from './base'; import { AppOptions, DivisionOrder, PayOrder, RefundOrder, TransferOrder } from './interface'; /** * 聚合支付 * @link https://ndpay.qyyapp.com/api/ */ export class NdPay extends Base { static instance: NdPay; /** * @param appConf {"appId":"","mchNo":"","secret":""} 请联系 18612332342 开通 * @param domain 你的站点域名(例如) https://www.baidu.com * @param compulsion 重新初始化 */ static init(appConf: AppOptions , domain: string, compulsion = false) { if (!this.instance || compulsion) { this.instance = new NdPay({ appConf, domain }); } } // 支付接口组 async pay(url: PayOrder, params: object) { if (!Object.values(PayOrder).includes(url)) throw new Error(`${url} 接口地址不存在`); return await this.apiPost(url, params); } // 退款接口组 async refund(url: RefundOrder, params: object) { if (!Object.values(RefundOrder).includes(url)) throw new Error(`${url} 接口地址不存在`); return await this.apiPost(url, params); } // 转账接口组 async transfer(url: TransferOrder, params: object) { if (!Object.values(TransferOrder).includes(url)) throw new Error(`${url} 接口地址不存在`); return await this.apiPost(url, params); } // 分账接口组 async division(url: DivisionOrder, params: object) { if (!Object.values(DivisionOrder).includes(url)) throw new Error(`${url} 接口地址不存在`); return await this.apiPost(url, params); } }