164 lines
9.6 KiB
C#
164 lines
9.6 KiB
C#
using Newtonsoft.Json;
|
||
using System;
|
||
|
||
namespace libESPay
|
||
{
|
||
public class ESPayService
|
||
{
|
||
#region 驿商移动支付交易接口
|
||
|
||
#region 方法 -> 驿商移动支付反扫交易统一接口
|
||
/// <summary>
|
||
/// 驿商移动支付反扫交易统一接口
|
||
/// </summary>
|
||
/// <param name="mobilePayOperator">移动支付通道商</param>
|
||
/// <param name="payMerchant">移动支付交易参数</param>
|
||
/// <param name="authCode">用户支付授权码</param>
|
||
/// <param name="orderCode">系统交易订单号</param>
|
||
/// <param name="oderAmount">交易金额(元)</param>
|
||
/// <param name="isProxy">是否通过区服务器代理接口转发交易请求</param>
|
||
/// <returns>返回交易结果Json数据</returns>
|
||
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 方法 -> 驿商移动支付交易查询统一接口
|
||
/// <summary>
|
||
/// 驿商移动支付交易查询统一接口
|
||
/// </summary>
|
||
/// <param name="mobilePayOperator">移动支付通道商</param>
|
||
///<param name="payMerchant">移动支付交易参数</param>
|
||
/// <param name="merchantOrderCode">系统交易订单号
|
||
/// 注:与平台订单号必填一项</param>
|
||
/// <param name="platformOrderCode">平台订单号
|
||
/// 注:与系统交易订单号必填一项</param>
|
||
/// <param name="payAmount">交易金额(元)</param>
|
||
/// <param name="isProxy">是否服务器代理转发,默认:True</param>
|
||
/// <returns>返回交易结果Json数据</returns>
|
||
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 方法 -> 驿商移动支付交易退款统一接口
|
||
/// <summary>
|
||
/// 驿商移动支付交易退款统一接口
|
||
/// </summary>
|
||
/// <param name="mobilePayOperator"></param>
|
||
/// <param name="payMerchant"></param>
|
||
/// <param name="refundOrderCode"></param>
|
||
/// <param name="platformOrderCode"></param>
|
||
/// <param name="payAmount"></param>
|
||
/// <param name="isProxy"></param>
|
||
/// <returns>返回交易结果Json数据</returns>
|
||
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
|
||
}
|
||
}
|