using Newtonsoft.Json; using System; namespace libESPay { public class ESPayService { #region 驿商移动支付交易接口 #region 方法 -> 驿商移动支付反扫交易统一接口 /// /// 驿商移动支付反扫交易统一接口 /// /// 移动支付通道商 /// 移动支付交易参数 /// 用户支付授权码 /// 系统交易订单号 /// 交易金额(元) /// 是否通过区服务器代理接口转发交易请求 /// 返回交易结果Json数据 public static string ESTScanPay(PayUtils.MobilePayOperators mobilePayOperator, PayUtils.MobilePayConfig.PayMerchant payMerchant, string authCode, string orderCode, string oderAmount,string payDesc, bool isProxy) { switch (mobilePayOperator) { case PayUtils.MobilePayOperators.kwypay://客无忧交易 return ESTPayService.KwyPayService.KwyPayScan( payMerchant, authCode, orderCode, oderAmount, isProxy); case PayUtils.MobilePayOperators.unionpay://中国银联交易 return ESTPayService.UnionPayService.UnionPayScan( payMerchant, authCode, orderCode, oderAmount, isProxy); case PayUtils.MobilePayOperators.irichpay://南京银行交易 return ESTPayService.IRichPayService.IRichPayScan( payMerchant, authCode, orderCode, oderAmount, isProxy); case PayUtils.MobilePayOperators.ccbpay://建设银行交易 return ESTPayService.CCBPayService.CCBPayScan( payMerchant, authCode, orderCode, oderAmount, payDesc, isProxy); case PayUtils.MobilePayOperators.gznxpay://贵州农信交易 return ESTPayService.GZNXPayService.GZNXPayScan( payMerchant, authCode, orderCode, oderAmount, isProxy); case PayUtils.MobilePayOperators.icbcpay://工商银行交易 return ESTPayService.ICBCPayService.ICBCPayScan( payMerchant, authCode, orderCode, oderAmount, isProxy); case PayUtils.MobilePayOperators.uphicoo://重庆嗨客交易 return ESTPayService.UphicooPayService.UphicooPayScan( payMerchant, authCode, orderCode, oderAmount, isProxy); default://已不再支持的通道 return JsonConvert.SerializeObject(new PayModel.PayResultModel { result_code = ((int)PayUtils.MobilePayConfig.ResultCode.系统异常).ToString(), trade_no = "", trade_num = orderCode, result_desc = $"系统异常:【{(int)mobilePayOperator}】该通道不支持进行交易。" }); } } #endregion #region 方法 -> 驿商移动支付交易查询统一接口 /// /// 驿商移动支付交易查询统一接口 /// /// 移动支付通道商 ///移动支付交易参数 /// 系统交易订单号 /// 注:与平台订单号必填一项 /// 平台订单号 /// 注:与系统交易订单号必填一项 /// 交易金额(元) /// 是否服务器代理转发,默认:True /// 返回交易结果Json数据 public static string ESTPayQuery(PayUtils.MobilePayOperators mobilePayOperator, PayUtils.MobilePayConfig.PayMerchant payMerchant, string merchantOrderCode, string platformOrderCode, string payAmount, int queryCount, bool isProxy) { switch (mobilePayOperator) { case PayUtils.MobilePayOperators.kwypay://客无忧交易查询 return ESTPayService.KwyPayService.KwyPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.unionpay://中国银联交易查询 return ESTPayService.UnionPayService.UnionPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.irichpay://南京银行交易查询 return ESTPayService.IRichPayService.IRichPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.ccbpay://建设银行交易查询 return ESTPayService.CCBPayService.CCBPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, queryCount, isProxy); case PayUtils.MobilePayOperators.gznxpay://贵州农信交易查询 return ESTPayService.GZNXPayService.GZNXPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.icbcpay://工商银行交易查询 return ESTPayService.ICBCPayService.ICBCPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.uphicoo://重庆嗨客交易查询 return ESTPayService.UphicooPayService.UphicooPayQuery( payMerchant, merchantOrderCode, platformOrderCode, payAmount, isProxy); default://已不再支持的通道 return JsonConvert.SerializeObject(new PayModel.PayResultModel { result_code = ((int)PayUtils.MobilePayConfig.ResultCode.系统异常).ToString(), trade_no = "", trade_num = merchantOrderCode, result_desc = $"系统异常:【{(int)mobilePayOperator}】该通道不支持进行交易。" }); } } #endregion #region 方法 -> 驿商移动支付交易退款统一接口 /// /// 驿商移动支付交易退款统一接口 /// /// /// /// /// /// /// /// 返回交易结果Json数据 public static string ESTPayRefund(PayUtils.MobilePayOperators mobilePayOperator, PayUtils.MobilePayConfig.PayMerchant payMerchant, string refundOrderCode, string platformOrderCode, string payAmount, bool isProxy) { switch (mobilePayOperator) { case PayUtils.MobilePayOperators.kwypay://客无忧交易退款 return ESTPayService.KwyPayService.KwyPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.unionpay://中国银联交易退款 return ESTPayService.UnionPayService.UnionPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.irichpay://南京银行交易退款 return ESTPayService.IRichPayService.IRichPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.ccbpay://建设银行交易退款 return ESTPayService.CCBPayService.CCBPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.gznxpay://贵州农信交易退款 return ESTPayService.GZNXPayService.GZNXPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.icbcpay://工商银行交易退款 return ESTPayService.ICBCPayService.ICBCPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); case PayUtils.MobilePayOperators.uphicoo://重庆嗨客交易退款 return ESTPayService.UphicooPayService.UphicooPayRefund( payMerchant, refundOrderCode, platformOrderCode, payAmount, isProxy); default://已不再支持的通道 return JsonConvert.SerializeObject(new PayModel.PayResultModel { result_code = ((int)PayUtils.MobilePayConfig.ResultCode.系统异常).ToString(), trade_no = "", trade_num = refundOrderCode, result_desc = $"系统异常:【{(int)mobilePayOperator}】该通道不支持进行交易。" }); } } #endregion #endregion } }