예제 #1
0
        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);
        }