public KeyValuePair <string, string> bpVerifyRequest(long saleOrderId, long saleReferenceId, string refId, long userId) { userId = 0;//این باید طبق قوانین به پرداخت صفر باشد! long payId = 0; string response1 = ""; string response2 = ""; try { PaymentGatewayImplService bpService = new PaymentGatewayImplService(); response1 = bpService.bpVerifyRequest(OtherId, behpardakht_username, behpardakht_password, payId, saleOrderId, saleReferenceId); if (response1 == "0" || response1 == "43") { try { response2 = bpSettleRequest(saleOrderId, saleReferenceId, refId, userId); return(new KeyValuePair <string, string>(response2, ResCodeFarsi(response2))); } catch { return(errorCode4);//خطای سیستمی } } else if (string.IsNullOrEmpty(response1)) { try { response2 = bpInqiryRequest(saleOrderId, saleReferenceId, refId, userId); return(new KeyValuePair <string, string>(response2, ResCodeFarsi(response2))); } catch { return(errorCode4);//خطای سیستمی } } else { return(new KeyValuePair <string, string>(response1, ResCodeFarsi(response1))); } } catch { return(errorCode4);//خطای سیستمی } }
public string VerifyPayment(PaymentDTO pay) { string result; bmp.BypassCertificateError(); PaymentGatewayImplService bpService = new PaymentGatewayImplService(); result = bpService.bpVerifyRequest(Int64.Parse(ConfigurationManager.AppSettings["Mellat_TerminalId"]), ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["UserPassword"], pay.OrderId, pay.OrderId, pay.TraceNumber); return(result); }
private bool VerifyTransaction(string reference_number, string res_num) { ir.shaparak.bpm.PaymentGatewayImplService bmService = new PaymentGatewayImplService(); string strStatCode = bmService.bpVerifyRequest(_mellatBankPaymentSettings.TerminalId, _mellatBankPaymentSettings.Username, _mellatBankPaymentSettings.Password, Convert.ToInt64(res_num), Convert.ToInt64(res_num), Convert.ToInt64(reference_number)); if (strStatCode.Trim() == "0") { // transaction verified return(true); } else { return(false); } }
public void VerifyRequest(long saleReferenceId) { try { string Result = behPardakhtWebService.bpVerifyRequest(TerminalID, UserName, Password, OrderID, OrderID, saleReferenceId); foreach (ResCode resCode in System.Enum.GetValues(typeof(ResCode))) { if (Helper.GetInt(Result) == (int)resCode && resCode != (int)ResCode.TransactionWasSuccessful) { throw new Exception(Language.GetString(resCode.ToString())); } } SettleRequest(saleReferenceId); } catch { InquiryRequest(saleReferenceId); } }
public ConfirmPaymentDTO AcceptPayment(PaymentDTO payment) { if (payment.BankId == (int)BanksEnum.MellatBank) { var paymentObj = walletDAO.SelectPayment(new PaymentDTO { BankId = payment.BankId, RequestKey = payment.RequestKey })?.FirstOrDefault(); if (paymentObj != null) { if (payment.Result == 0) { PaymentGatewayImplService bpService = new PaymentGatewayImplService(); var res = bpService.bpVerifyRequest( Convert.ToInt64(ConfigurationManager.AppSettings["Mellat_TerminalId"]), ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["UserPassword"], Convert.ToInt64(paymentObj.OrderId), Convert.ToInt64(paymentObj.OrderId), Convert.ToInt64(payment.TraceNumber) ); if (res == "0") { paymentObj.Status = (int)PaymentStatusEnum.Commit; paymentObj.TraceNumber = payment.TraceNumber; paymentObj.Result = 0; walletDAO.UpdatePayment(paymentObj); walletDAO.InsertTransaction(new TransactionDTO { CurrentBalance = GetStudentCurrentBalance(paymentObj.stcode) + paymentObj.Amount, stcode = paymentObj.stcode, TransactionTypeId = (int)TransactionTypeEnum.Deposit, Amount = paymentObj.Amount }); //TODO: log return(new ConfirmPaymentDTO { Message = "ﺗﺮﺍﻛﻨﺶ ﺑﺎ ﻣﻮﻓﻘﻴﺖ ﺍﻧﺠﺎﻡ ﺷﺪ", Result = true, stcode = paymentObj.stcode }); } else { paymentObj.Status = (int)PaymentStatusEnum.RollBack; walletDAO.UpdatePayment(paymentObj); return(new ConfirmPaymentDTO { Result = false, Message = ".وجه مبلغ به حساب واحد دانشگاهی واریز نشد چنانچه پس از 72 ساعت آینده به حساب شما برگشت داده نشد مجددا پرداخت نمایید ", stcode = paymentObj.stcode }); } } else { paymentObj.Status = (int)PaymentStatusEnum.Failed; walletDAO.UpdatePayment(paymentObj); return(new ConfirmPaymentDTO { Result = false, Message = TranslateMellatError(Convert.ToInt32(payment.Result)), stcode = paymentObj.stcode }); //return TranslateMellatError(Convert.ToInt32(result)); } } else { return new ConfirmPaymentDTO { Message = "شناسه پرداخت صحیح نیست", Result = false, stcode = "" } }; } return(new ConfirmPaymentDTO { Message = "امکان برقراری ارتباط با بانک وجود ندارد", Result = false, stcode = "" }); }