diff --git a/TPServices/GuavaPayRemit/Services/GuavaPayAPI.cs b/TPServices/GuavaPayRemit/Services/GuavaPayAPI.cs index b7fa702..7d1fbb0 100644 --- a/TPServices/GuavaPayRemit/Services/GuavaPayAPI.cs +++ b/TPServices/GuavaPayRemit/Services/GuavaPayAPI.cs @@ -136,13 +136,41 @@ namespace TPApiServices.GuavaPayRemit.Services var txnResponseData = client.Execute(request); var sendTxnResponse = txnResponseData.Data; _log.Info($"GUAVAPAYAPI|SENDTRANSACTION|RESPONSE : {txnResponseData.Content}"); - txnResponse.ResponseCode = "0"; - txnResponse.Id = sendTxnResponse.RRN; - txnResponse.Extra = sendTxnResponse.Rate; - txnResponse.Extra2 = sendTxnResponse.Status; - txnResponse.Extra3 = sendTxnResponse.Fee; - txnResponse.Extra4 = sendTxnResponse.StatusDescription; - txnResponse.Data = sendTxnResponse; + + if (sendTxnResponse != null) + { + _log.Info($"GUAVAPAYAPI|SENDTRANSACTION|RESPONSE DATA : {JsonConvert.SerializeObject(sendTxnResponse)}"); + + if (string.IsNullOrEmpty(sendTxnResponse.RRN) || string.IsNullOrEmpty(sendTxnResponse.Rate) || + string.IsNullOrEmpty(sendTxnResponse.Status) || string.IsNullOrEmpty(sendTxnResponse.Fee) || + string.IsNullOrEmpty(sendTxnResponse.StatusDescription)) + { + txnResponse.ResponseCode = "1"; + txnResponse.Msg = "One or more critical response fields are null."; + _log.Warn($"GUAVAPAYAPI|SENDTRANSACTION|MISSING FIELDS: " + + $"RRN: {sendTxnResponse.RRN}, " + + $"Rate: {sendTxnResponse.Rate}, " + + $"Status: {sendTxnResponse.Status}, " + + $"Fee: {sendTxnResponse.Fee}, " + + $"StatusDescription: {sendTxnResponse.StatusDescription}"); + } + else + { + txnResponse.ResponseCode = "0"; + txnResponse.Id = sendTxnResponse.RRN; + txnResponse.Extra = sendTxnResponse.Rate; + txnResponse.Extra2 = sendTxnResponse.Status; + txnResponse.Extra3 = sendTxnResponse.Fee; + txnResponse.Extra4 = sendTxnResponse.StatusDescription; + txnResponse.Data = sendTxnResponse; + } + } + else + { + txnResponse.ResponseCode = "1"; + txnResponse.Msg = "Response data is null"; + _log.Warn($"GUAVAPAYAPI|SENDTRANSACTION|RESPONSE DATA IS NULL"); + } } catch (Exception ex) {