/// <summary> /// 检测条形码或二维码数据内容属于何种支付方式 /// </summary> /// <param name="codeNum">条形码或二维码数据内容</param> /// <returns>支付方式</returns> public BusinessEnum.PayMent ConvertCodeToPay(string codeNum) { BusinessEnum.PayMent payMent = BusinessEnum.PayMent.No; if (string.IsNullOrEmpty(codeNum)) { return(payMent); } int intLen = codeNum.Length; switch (intLen) { case 15: // 志愿者兑换 payMent = BusinessEnum.PayMent.Volunteer; break; case 18: // 支付宝付款码或微信付款码 if (codeNum.Substring(0, 4) == "3101") { payMent = BusinessEnum.PayMent.Volunteer; } else { payMent = BusinessEnum.PayMent.AliPay_Code; } ////string strBeginNum = codeNum.Substring(0, 2); ////if (strBeginNum == "28") ////{ //// // 支付宝付款码开头两位是28 //// if (CheckPaymentControl(BusinessEnum.PayMent.AliPay_Code)) //// { //// // 如果支付宝付款码支付方式开通 //// payMent = BusinessEnum.PayMent.AliPay_Code; //// } ////} ////if (strBeginNum == "13") ////{ //// // 微信付款码开头两位是13 //// if (CheckPaymentControl(BusinessEnum.PayMent.WeChatCode)) //// { //// // 如果微信付款码支付方式开通 //// payMent = BusinessEnum.PayMent.WeChatCode; //// } ////} break; default: payMent = BusinessEnum.PayMent.KimmaOnLineCard; break; } return(payMent); }
/// <summary> /// 获取某个支付方式的支付开关 /// </summary> /// <param name="payMent"></param> /// <param name="controlSwitch"></param> /// <returns></returns> public BusinessEnum.ControlSwitch ChangePaymentControl(BusinessEnum.PayMent payMent, string controlSwitch) { if (controlSwitch == "1") { // 1 启用 // 检查该支付方式是否在允许支付方式列表中存在 bool result = CheckPaymentIsExist(payMent); if (result) { return(BusinessEnum.ControlSwitch.Run); } else { return(BusinessEnum.ControlSwitch.Stop); } } else { // 0 停止 return(BusinessEnum.ControlSwitch.Stop); } }
/// <summary> /// 检测某个支付方式是否可用 /// </summary> /// <param name="payMent"></param> /// <returns></returns> public bool CheckPaymentControl(BusinessEnum.PayMent payMent) { bool result = false; try { string strPayMent = string.Empty; switch (payMent) { case BusinessEnum.PayMent.Cash: // 现金 if (PaymentList.Cash.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.WeChatCode: // 微信扫码 if (PaymentList.WeChatCode.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.AliPay_Code: // 支付宝付款码 if (PaymentList.AliPay_Code.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.BestPay_Code: // 翼支付付款码 if (PaymentList.BestPay_Code.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.IcCard: // 储值卡 if (PaymentList.IC.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.Online_EntityCard: // 在线会员实体卡 if (PaymentList.Online_EntityCard.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.KimmaOnLineCard: // 在线会员虚拟卡 if (PaymentList.KimmaOnLineCard.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.QuickPass: // 银联闪付 if (PaymentList.UnionPay.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; case BusinessEnum.PayMent.Volunteer: // 志愿者兑换 if (PaymentList.Volunteer_Code.ControlSwitch == BusinessEnum.ControlSwitch.Run) { result = true; } break; default: break; } if (result) { result = CheckPaymentIsExist(payMent); } } catch { result = false; } return(result); }
/// <summary> /// 检测某个支付方式是否被允许 /// </summary> /// <param name="payMent">支付方式</param> /// <returns>结果 False:不允许 True:允许</returns> public bool CheckPaymentIsExist(BusinessEnum.PayMent payMent) { bool result = false; try { string strPayMent = string.Empty; switch (payMent) { case BusinessEnum.PayMent.Cash: // 现金 strPayMent = "cash,"; break; case BusinessEnum.PayMent.WeChatCode: // 微信扫码 strPayMent = "wechatcode,"; break; case BusinessEnum.PayMent.AliPay_Code: // 支付宝付款码 strPayMent = "alipaycode,"; break; case BusinessEnum.PayMent.BestPay_Code: // 翼支付付款码 strPayMent = "bestpaycode,"; break; case BusinessEnum.PayMent.JDPay_Code: // 京东钱包付款码 strPayMent = "jdpay,"; break; case BusinessEnum.PayMent.IcCard: // 储值卡 strPayMent = "pos,"; break; case BusinessEnum.PayMent.Online_EntityCard: // 在线会员实体卡 strPayMent = "onlineentitycard,"; break; case BusinessEnum.PayMent.KimmaOnLineCard: strPayMent = "kimmaonlinecard,"; break; case BusinessEnum.PayMent.QuickPass: // 银联闪付 strPayMent = "quickpass,"; break; case BusinessEnum.PayMent.Volunteer: // 志愿者兑换 strPayMent = "volunteer,"; break; default: break; } if (!string.IsNullOrEmpty(strPayMent)) { if (AllowPaymentList.IndexOf(strPayMent) > -1) { result = true; } } } catch { result = false; } return(result); }