Exemple #1
0
        public async Task <IActionResult> C2bStkPush(LipaNaMpesaResponse lipaNaMpesaResponse)
        {
            var time = _mPesa.Totime();
            var test = await _mPesa.InitiateStkPush(new LipaNaMpesaModelPost
            {
                AccountReference  = "13455",
                Amount            = "5",
                BusinessShortCode = _credentials.C2bshortCode,
                CallBackURL       = "https://mobile.cemascore.com/api/v1/cemascore/c2b/stk-push-validation",
                PartyA            = "254706394137",
                PartyB            = _credentials.C2bshortCode,
                Password          = _mPesa.GenerateBase64(string.Format("{0}{1}{2}", _credentials.C2bshortCode, _credentials.LipaNaMpesaPassKey, time)),
                Timestamp         = time,
                PhoneNumber       = "254706394137",
                TransactionDesc   = "Deposit",
                TransactionType   = "CustomerPayBillOnline",
            });

            return(Ok(test));
        }
Exemple #2
0
        protected override LipaNaMpesaCallbackResponse GetCallback(BodyResponse request)
        {
            if (request.Body == null)
            {
                throw new ArgumentNullException(nameof(request.Body));
            }

            var callback = new LipaNaMpesaCallbackResponse();

            if (request.Body.stkCallback.ResultCode == 0)
            {
                callback.Data = LipaNaMpesaResponse.From(request.Body.stkCallback);
            }
            else
            {
                callback.Error = LipaNaMpesaError.From(request.Body.stkCallback);
            }

            return(callback);
        }