Exemple #1
0
        //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);
        }