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)); }
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); }