UNPKG

coa-dg-pay

Version:

这是一个轻量的汇付支付SDK服务商版 for Node.js

250 lines (249 loc) 11.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DgPayService = void 0; const coa_error_1 = require("coa-error"); const coa_helper_1 = require("coa-helper"); const coa_secure_1 = require("coa-secure"); class DgPayService { constructor(bin) { this.bin = bin; this.config = this.bin.config; } /** * 上传图片 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_shtpsc * @param params */ async SupplementaryPicture(params, file) { return await this.bin.uploadFile('/supplementary/picture', params, file); } /** * 企业商户基本信息入驻 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_qyshjbxxrz * @param params */ async MerchantBasicdataEnt(params) { return await this.bin.request('/merchant/basicdata/ent', params, { '90000000': true }); } /** * 个人商户基本信息入驻 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_qyshjbxxrz * @param params */ async MerchantBasicdataIndv(params) { return await this.bin.request('/merchant/basicdata/indv', params); } /** * 商户详情信息查询 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_shxxxxcx * @param params */ async MerchantBasicdataQuery(params) { return await this.bin.request('/merchant/basicdata/query', params); } /** * 商户基本信息修改 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_shxxxxcx * @param params */ async MerchantBasicdataModify(params) { return await this.bin.request('/merchant/basicdata/modify', params, { '90000000': true }); } /** * 商户业务开通 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shywkt/api_shjj_shywkt * @param params */ async MerchantBusiOpen(params) { return await this.bin.request('/merchant/busi/open', params, { '90000000': true, '99999999': true }); } /** * 商户业务修改 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shywkt/api_shjj_shywktxg * @param params */ async MerchantBusiModify(params) { return await this.bin.request('/merchant/busi/modify', params, { '90000000': true }); } /** * 微信商户配置 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxshpz * @param params */ async MerchantBusiConfig(params) { return await this.bin.request('/merchant/busi/config', params); } /** * 微信商户配置查询 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxshpzcx * @param params */ async MerchantBusiConfigQuery(params) { return await this.bin.request('/merchant/busi/config/query', params); } /** * 微信实名认证 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxsmrz * @param params */ async MerchantBusiRealname(params) { return await this.bin.request('/merchant/busi/realname', params); } /** * 微信实名认证状态查询 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxshpzcx * @param params */ async MerchantBusiRealnameQuery(params) { return await this.bin.request('/merchant/busi/realname/query', params); } /** * 聚合正扫 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxshpzcx * @param params */ async TradePaymentJspay(params) { const wx_data = { sub_appid: params.appWxaId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少huifuId参数'), openid: params.openId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少openId参数'), sub_openid: params.openId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少openId参数'), body: params.goodsDesc || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少goodsDesc参数'), detail: { goods_detail: [ { goods_name: params.goodsDesc, price: (params.price / 100).toFixed(2) || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少price参数'), goods_id: coa_secure_1.secure.id25(JSON.stringify(params) + coa_helper_1._.random(0, 1000, false).toString()), quantity: 1, }, ], }, }; const res = { trade_type: params.tradeType || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少tradeType参数'), req_date: (0, coa_helper_1.dayjs)(coa_helper_1._.now()).format('YYYYMMDD'), req_seq_id: params.orderId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orderId参数'), time_expire: (0, coa_helper_1.dayjs)(coa_helper_1._.now() + 1000 * 15 * 60).format('YYYYMMDDHHmmss'), huifu_id: params.huifuId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少huifuId参数'), trans_amt: (params.price / 100).toFixed(2) || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少price参数'), goods_desc: params.goodsDesc || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少goodsDesc参数'), wx_data: JSON.stringify(wx_data), remark: params.remark || '', notify_url: this.config.notifyUrlMap.jspayNotifyUrl || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少notifyUrl参数'), }; return await this.bin.request('/trade/payment/jspay', res, { '00000100': true }); } /** * 扫码交易查询 * 接口文档地址https://paas.huifu.com/partners/api/#/smzf/api_qrpay_cx * @param params */ async TradePaymentScanpayQuery(params) { params.huifuId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少huifuId参数'); params.orderId ? (params.orderId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orderId参数')) : null; params.orderId ? (params.orgReqDate || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orgReqDate参数')) : null; const result = { huifu_id: params.huifuId }; params.orderId ? Object.assign(result, { org_req_date: (0, coa_helper_1.dayjs)(params.orgReqDate).format('YYYYMMDD'), org_req_seq_id: params.orderId }) : result.org_hf_seq_id = params.orgHfSeqId; return await this.bin.request('/trade/payment/scanpay/query', result, { '23000001': true }); } /** * 扫码交易退款 * 接口文档地址https://paas.huifu.com/partners/api/#/smzf/api_qrpay_tk * @param params */ async TradePaymentScanpayRefund(params) { params.huifuId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少huifuId参数'); params.orderId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orderId参数'); params.orgReqDate || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orgReqDate参数'); params.refundId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少refundId参数'); params.refundPrice || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少refundPrice参数'); const remark = (params === null || params === void 0 ? void 0 : params.remark) ? params === null || params === void 0 ? void 0 : params.remark : ''; const result = { huifu_id: params.huifuId, req_seq_id: params.refundId, org_req_seq_id: params.orderId, ord_amt: (params.refundPrice / 100).toFixed(2), req_date: (0, coa_helper_1.dayjs)(coa_helper_1._.now()).format('YYYYMMDD'), org_req_date: (0, coa_helper_1.dayjs)(params.orgReqDate).format('YYYYMMDD'), notify_url: this.bin.config.notifyUrlMap.refundNotifyUrl, remark }; return await this.bin.request('/trade/payment/scanpay/refund', result, { '00000100': true }); } /** * 扫码交易退款查询 * 接口文档地址https://paas.huifu.com/partners/api/#/smzf/api_qrpay_tkcx * @param params */ async TradePaymentScanpayRefundquery(params) { params.huifuId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少huifuId参数'); params.orderRefundId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orderRefundId参数'); params.orgReqDate || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orgReqDate参数'); const result = { huifu_id: params.huifuId, org_req_seq_id: params.orderRefundId, org_req_date: (0, coa_helper_1.dayjs)(params.orgReqDate).format('YYYYMMDD'), }; return await this.bin.request('/trade/payment/scanpay/refundquery', result); } /** * 申请单状态查询 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shywkt/api_shjj_shywkt * @param params */ async MerchantBasicdataStatusQuery(params) { return await this.bin.request('/merchant/basicdata/status/query', params); } /** * 账户余额查询 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_sqdztcx * @param params */ async TradeAcctpaymentBalanceQuery(params) { return await this.bin.request('/trade/acctpayment/balance/query', params); } /** * 财务流水查询 * 接口文档地址https://paas.huifu.com/partners/api/#/yuer/api_acctlscx * @param params */ async TradeAcctpaymentAcctlogQuery(params) { return await this.bin.request('/trade/acctpayment/acctlog/query', params); } /** * 交易投诉列表 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/tousu/api_shgl_tousu_tscx * @param params */ async GetComplaintList(params) { return await this.bin.request('/merchant/complaint/list/info/query', params); } /** * 交易投诉列表 * 接口文档地址https://paas.huifu.com/open/doc/api/#/jyjs/qx/api_DMqxedcx * @param params */ async getDmamt(params) { return await this.bin.request('/trade/settlement/enchashment/dmamt/query', params); } /** * 预下单接口 * 接口文档地址https://paas.huifu.com/partners/api/#/shgl/tousu/api_shgl_tousu_tscx * @param params */ async PaymentPreorder(params) { const req = { pre_order_type: '3', req_date: (0, coa_helper_1.dayjs)(coa_helper_1._.now()).format('YYYYMMDD'), req_seq_id: params.orderId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少orderId参数'), miniapp_data: JSON.stringify({ private_info: params.remark || '', }), huifu_id: params.huifuId || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少huifuId参数'), checkout_id: this.config.sys_id || coa_error_1.CoaError.message('CoaDgPay.MissingField', 'checkoutId'), trans_amt: (params.price / 100).toFixed(2) || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少price参数'), goods_desc: params.goodsDesc || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少goodsDesc参数'), notify_url: this.config.notifyUrlMap.jspayNotifyUrl || coa_error_1.CoaError.message('CoaDgPay.MissingField', '缺少notifyUrl参数'), }; return await this.bin.request('/trade/hosting/payment/preorder', req); } } exports.DgPayService = DgPayService;