public string GetMerchantChargeXmlResponse(MerchantChargeResponse apiCResp) { string xml = ""; if (apiCResp.StatusCode.Equals("0")) { // string TransactionID = DateTime.Now.ToString(DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond + DateTime.Now.Ticks + ""); xml = "<? xml version = \"1.0\" encoding =\"UTF-8\" ?>" + "<GetChargeResponse>" + "<MerchantCode>" + apiCResp.MerchantId + "</MerchantCode>" + "<Amount>" + apiCResp.OriginalTransactionAmount + "</Amount>" + "<Charge>" + apiCResp.CalculatedChargeAmount + "</Charge>" + "<ChargeCode>" + apiCResp.ChargeCode + "</ChargeCode>" + "<StatusCode>" + apiCResp.StatusCode + "</StatusCode>" + "<StatusDescription>" + apiCResp.StatusDesc + "</StatusDescription>" + "</GetChargeResponse>"; } else { xml = "<? xml version = \"1.0\" encoding =\"UTF-8\" ?>" + "<GetChargeResponse>" + "<MerchantCode></MerchantCode>" + "<Amount></Amount>" + "<Charge></Charge>" + "<ChargeCode></ChargeCode>" + "<StatusCode>" + apiCResp.StatusCode + "</StatusCode>" + "<StatusDescription>" + apiCResp.StatusDesc + "</StatusDescription>" + "</GetChargeResponse>"; } return(xml); }
public string GetMerchantChargeDetailsApi(Request vmRequest) { ListenerResponse resp = new ListenerResponse(); MerchantChargeResponse chargeResp = new MerchantChargeResponse(); string xmlResponse = ""; resp = GetVendorCredentials(vmRequest.Username, vmRequest.Password); if (resp.StatusCode.Equals("0") && resp.StatusDescription.Equals("ValidVendor")) { if (IsValidDigitalSignature(vmRequest)) { mapiRequest.ReferenceId = vmRequest.MerchantCode; mapiRequest.MerchantId = vmRequest.MerchantCode; mapiRequest.RequestAgent = "1"; mapiRequest.ApiUsername = apiUsername; mapiRequest.ApiPassword = apiPassword; mapiRequest.Channel = vmRequest.Channel; apiResp = mapi.GetMerchantDetails(mapiRequest); if (apiResp.Status.Equals("0")) { mapiRequest.Amount = vmRequest.Amount; mapiRequest.ReferenceId = apiResp.Customer.AccountNumber; chargeResp = mapi.GetCharges(mapiRequest); if (chargeResp.StatusCode.Equals("0")) { xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } else { apiResp.Status = chargeResp.StatusCode; apiResp.StatusDescription = chargeResp.StatusDesc; xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } } else { chargeResp.Status = apiResp.Status; chargeResp.StatusDesc = apiResp.StatusDescription; xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } } else { chargeResp.Status = "30"; chargeResp.StatusDesc = "Invalid Digital Signature"; xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } } else { chargeResp.Status = "100"; chargeResp.StatusDesc = "Invalid Vendor Credentials"; xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } return(xmlResponse); }
public string GetMerchantTransactionDetailsApi(Request vmRequest) { ListenerResponse resp = new ListenerResponse(); MerchantChargeResponse chargeResp = new MerchantChargeResponse(); string xmlResponse = ""; resp = GetVendorCredentials(vmRequest.Username, vmRequest.Password); if (resp.StatusCode.Equals("0") && resp.StatusDescription.Equals("ValidVendor")) { if (IsValidDigitalSignature(vmRequest)) { mapiRequest.ReferenceId = vmRequest.TransactionId; mapiRequest.MerchantId = vmRequest.MerchantCode; mapiRequest.RequestAgent = "1"; mapiRequest.ApiUsername = apiUsername; mapiRequest.ApiPassword = apiPassword; mapiRequest.Channel = vmRequest.Channel; mtran = mapi.GetTransactionDetails(mapiRequest); if (!string.IsNullOrEmpty(mtran.Status.ToString())) { if (!(string.IsNullOrEmpty(mtran.Status.ToString()))) { xmlResponse = GetMerchantTranStatusXmlResponse(mtran); } else { mtran.Status = "201"; mtran.StatusDescription = "Transaction Not Found"; xmlResponse = GetMerchantTranStatusXmlResponse(mtran); } } else { mtran.Status = mtran.Status; mtran.StatusDescription = mtran.StatusDescription; xmlResponse = GetMerchantTranStatusXmlResponse(mtran); } } else { apiResp.Status = "30"; apiResp.StatusDescription = "Invalid Digital Signature"; xmlResponse = GetMerchantPaymentXmlResponse(apiResp); } } else { apiResp.Status = "100"; apiResp.StatusDescription = "Invalid Vendor Credentials"; xmlResponse = GetMerchantPaymentXmlResponse(apiResp); } return(xmlResponse); }
public string GetMerchantTranStatusApi(Request vmRequest) { ListenerResponse resp = new ListenerResponse(); MerchantChargeResponse chargeResp = new MerchantChargeResponse(); string xmlResponse = ""; mapiRequest.ReferenceId = vmRequest.RequestId; mapiRequest.MerchantId = vmRequest.MerchantCode; mapiRequest.RequestAgent = "1"; mapiRequest.ApiUsername = apiUsername; mapiRequest.ApiPassword = apiPassword; mapiRequest.Channel = vmRequest.Channel; apiResp = mapi.GetMerchantDetails(mapiRequest); if (apiResp.Status.Equals("0")) { mapiRequest.Amount = vmRequest.Amount; mapiRequest.ReferenceId = apiResp.Customer.AccountNumber; chargeResp = mapi.GetCharges(mapiRequest); if (chargeResp.StatusCode.Equals("0")) { xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } else { apiResp.Status = chargeResp.StatusCode; apiResp.StatusDescription = chargeResp.StatusDesc; xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } } else { chargeResp.Status = apiResp.Status; chargeResp.StatusDesc = apiResp.StatusDescription; xmlResponse = GetMerchantChargeXmlResponse(chargeResp); } return(xmlResponse); }
public string GetMerchantPaymentDetailsApi(Request vmRequest) { ListenerResponse resp = new ListenerResponse(); string xmlResponse = ""; resp = GetVendorCredentials(vmRequest.Username, vmRequest.Password); if (resp.StatusCode.Equals("0") && resp.StatusDescription.Equals("ValidVendor")) { if (IsValidDigitalSignature(vmRequest)) { mapiRequest.ReferenceId = vmRequest.MerchantCode; mapiRequest.MerchantId = vmRequest.MerchantCode; mapiRequest.RequestAgent = vmRequest.CustomerTel; mapiRequest.ApiUsername = apiUsername; mapiRequest.ApiPassword = apiPassword; mapiRequest.Channel = vmRequest.Channel; apiResp = mapi.GetMerchantDetails(mapiRequest); if (apiResp.Status.Equals("0")) { mapiRequest.Amount = vmRequest.Amount; mapiRequest.ReferenceId = apiResp.Customer.AccountNumber; MerchantChargeResponse chargeResp = mapi.GetCharges(mapiRequest); if (chargeResp.StatusCode.Equals("0")) { mtran.DigitalSignature = "1234"; mtran.ApiUsername = apiUsername; mtran.ApiPassword = apiPassword; mtran.Channel = vmRequest.Channel; mtran.CustTel = vmRequest.CustomerTel;//bll.DecryptPhone(phone); mtran.AccountTo = apiResp.Customer.AccountNumber; mtran.AccountFrom = vmRequest.CustomerTel; mtran.Amount = vmRequest.Amount; mtran.TranType = "TOPUP"; mtran.PaymentType = "MTN MOBILE MONEY"; mtran.PaymentDate = DateTime.Now.ToString("dd/MM/yyyy"); mtran.TranId = vmRequest.RequestId; mtran.MerchantId = vmRequest.MerchantCode; mtran.CustRef = vmRequest.CustomerRef; mtran.CustName = vmRequest.MerchantCode; mtran.CreatedBy = "108633"; mtran.CustomerType = "PUBLIC"; mtran.Utility = ""; mtran.Area = vmRequest.MerchantCode; mtran.Field1 = ""; mtran.Narration = vmRequest.Narration; mtran.Charge = chargeResp.CalculatedChargeAmount; payResp = mapi.MakePegPayTopUp(mtran); payResp.RequestId = vmRequest.RequestId; xmlResponse = GetMerchantPaymentXmlResponse(payResp); } else { apiResp.Status = chargeResp.StatusCode; apiResp.StatusDescription = chargeResp.StatusDesc; xmlResponse = GetMerchantPaymentXmlResponse(apiResp); } } else { apiResp.Status = apiResp.Status; apiResp.StatusDescription = apiResp.StatusDescription; xmlResponse = GetMerchantPaymentXmlResponse(apiResp); } } else { apiResp.Status = "30"; apiResp.StatusDescription = "Invalid Digital Signature"; xmlResponse = GetMerchantPaymentXmlResponse(apiResp); } } else { apiResp.Status = "100"; apiResp.StatusDescription = "Invalid Vendor Credentials"; xmlResponse = GetMerchantPaymentXmlResponse(apiResp); } return(xmlResponse); }