public async Task LogTransaction(PaystackTransaction paystackTransaction) { if (paystackTransaction == null || paystackTransaction.Data == null) { throw new ArgumentNullException("paystackTransaction"); } PaystackTransactionLog transactionLog = await _transactionLogService.GetByReferenceAsync(paystackTransaction.Data.reference); if (transactionLog == null || transactionLog.Id <= 0) { throw new ArgumentNullException("Transaction Log failed on Retrieval!"); } paystackTransaction.RegisterationId = GatewayLuncher.RegistrationId; transactionLog = paystackTransaction.ToTransactionLog(transactionLog); _transactionLogService.Update(transactionLog); }