/// <summary> /// 通过网关类型,交易类型获取网关 /// </summary> /// <param name="gatewayType">网关类型</param> /// <param name="gatewayTradeType">网关交易类型</param> /// <returns></returns> public GatewayBase Get(GatewayType gatewayType, GatewayTradeType gatewayTradeType) { var gatewayBase = list.FirstOrDefault(a => a.GatewayType == gatewayType); gatewayBase.GatewayTradeType = gatewayTradeType; return(gatewayBase); }
/// <summary> /// 通过交易类型获取网关 /// </summary> /// <typeparam name="T">网关类型</typeparam> /// <param name="gatewayTradeType">网关交易类型</param> /// <returns></returns> public GatewayBase Get <T>(GatewayTradeType gatewayTradeType) { var gatewayList = _list .Where(a => a is T && a.GatewayTradeType == gatewayTradeType) .ToList(); var gateway = gatewayList.Count > 0 ? gatewayList[0] : Get <T>(); gateway.GatewayTradeType = gatewayTradeType; return(gateway); }
public virtual string CreateOrder(IOrder order, GatewayTradeType tradeType, Action <object, PaymentSucceedEventArgs> succeed = null, Action <object, PaymentFailedEventArgs> failed = null) { if (tradeType == GatewayTradeType.Barcode) { if (succeed == null) { throw new ArgumentNullException(nameof(succeed)); } if (failed == null) { throw new ArgumentNullException(nameof(failed)); } Gateway.PaymentSucceed += succeed; Gateway.PaymentFailed += failed; } return(Gateway.Payment(order)); }
public Dictionary <string, string> Payment(GatewayTradeType gatewayTradeType, Dictionary <string, string> map = null) { gateway.GatewayTradeType = gatewayTradeType; return(Payment(gatewayTradeType)); }
/// <summary> /// 下单 /// </summary> /// <param name="order"></param> /// <param name="tradeType"></param> /// <param name="succeed"></param> /// <param name="failed"></param> /// <returns></returns> public string CreateOrder(Order order, GatewayTradeType tradeType, Action <object, PaymentSucceedEventArgs> succeed = null, Action <object, PaymentFailedEventArgs> failed = null) { return(base.CreateOrder(order, tradeType, succeed, failed)); }
/// <summary> /// 构造函数 /// </summary> /// <param name="gatewayTradeType">网关交易类型</param> public NecessaryAttribute(GatewayTradeType gatewayTradeType) { this.gatewayTradeType = new GatewayTradeType[] { gatewayTradeType }; }