public void CanDeSerialize_Reversal_WithNoErrors() { var dto = JsonSerializer.Deserialize <ReversalResponseDto>(PaymentOrderReversalResponse, JsonSerialization.JsonSerialization.Settings); var sut = new ReversalResponse(dto.Payment, dto.Reversal.Map()); Assert.NotNull(sut); Assert.NotNull(sut.Reversal); Assert.NotNull(sut.Reversal.Transaction); Assert.NotNull(sut.Payment); }
static async Task <ReversalResponse> ReversalRequestAsync() { Dictionary <string, string> _parameters = new Dictionary <string, string>(); _parameters.Add("Initiator", "testapi481"); _parameters.Add("SecurityCredential", "Safaricom481$"); _parameters.Add("CommandID", "TransactionReversal"); _parameters.Add("TransactionID", "LKXXXX1234"); _parameters.Add("Amount", 1000.ToString()); _parameters.Add("ReceiverParty", "600481"); _parameters.Add("RecieverIdentifierType", "4"); _parameters.Add("ResultURL", "https://safaricom.api"); _parameters.Add("QueueTimeOutURL", "https://safaricom.api"); _parameters.Add("Remarks", "Test"); _parameters.Add("Occasion", "Test"); string _reversalResponse = await _safaricomApiClient.Execute("mpesa/reversal/v1/request", _parameters); ReversalResponse _response = JsonConvert.DeserializeObject <ReversalResponse>(_reversalResponse); if (_response.ErrorCode == null) { Console.WriteLine("==========================================="); Console.WriteLine("=====Reversal Request Success Response====="); Console.WriteLine("==========================================="); Console.WriteLine(Environment.NewLine); Console.WriteLine(_response.OriginatorConversationID + Environment.NewLine + _response.ConversationID + Environment.NewLine + _response.ResponseDescription); Console.WriteLine(Environment.NewLine); } else { Console.WriteLine("==========================================="); Console.WriteLine("======Reversal Request Error Response======"); Console.WriteLine("==========================================="); Console.WriteLine(Environment.NewLine); Console.WriteLine(_response.ErrorCode + Environment.NewLine + _response.ErrorMessage + Environment.NewLine + _response.ErrorRequestId); Console.WriteLine(Environment.NewLine); } return(_response); }