//static readonly HttpClient client = new HttpClient(); public static CreditSwitchRequest GetRequest(RechargeTransaction trans, CreditSwitchConfig config) { long amt = Convert.ToInt64(trans.Amount); string checkSum = Utility.CheckSum(config.MerchantId, trans.TransactionId, trans.ServiceCode, amt, config.PrivateKey, trans.PhoneNumber); CreditSwitchRequest req = new CreditSwitchRequest { LoginId = config.MerchantId, Key = config.PublicKey, RequestId = trans.TransactionId, ServiceId = trans.ServiceCode, Amount = amt, Recipient = trans.PhoneNumber, Date = DateTime.Now.ToUniversalTime().ToString("dd-MMM-yyyy hh:mm 'GMT'"), Checksum = checkSum }; return(req); }
public static VendResponse GetResponse(CreditSwitchRespose resp, CreditSwitchRequest req, string dealerCode, string message) { if (resp == null) { return(null); } VendResponse response = new VendResponse { TransactionId = String.IsNullOrWhiteSpace(resp.MReference) ? req.RequestId : resp.MReference, PhoneNumber = String.IsNullOrWhiteSpace(resp.Recipient) ? req.Recipient : resp.Recipient, DealerCode = dealerCode, Amount = Convert.ToInt64(req.Amount), Success = resp.StatusCode == "00", ResponseCode = resp.StatusCode, ResponseMessage = message ?? resp.StatusDescription }; return(response); }
public static RechargeTransaction GetTransaction(CreditSwitchRespose resp, CreditSwitchRequest req, RechargeType type) { if (resp == null) { return(null); } RechargeTransaction transaction = new RechargeTransaction { Amount = Convert.ToDouble(resp.Amount == 0 ? req.Amount : resp.Amount), ResponseCode = resp.StatusCode, ResponseDescription = resp.StatusDescription, TransactionId = String.IsNullOrWhiteSpace(resp.MReference) ? req.RequestId : resp.MReference, Reference = resp.TranxReference, PhoneNumber = String.IsNullOrWhiteSpace(resp.Recipient) ? req.Recipient : resp.Recipient, ConfirmCode = resp.ConfirmCode, TransDate = resp.TranxDate, RechargeType = type, RequestType = RequestType.Response, Status = resp.StatusCode == "00" ? TransactionStatus.SUCCESSFUL : TransactionStatus.FAILED }; return(transaction); }