Exemple #1
0
        public async Task SendAllUnsentPaymentRequestsAsync()
        {
            if (string.IsNullOrWhiteSpace(_settings.SendJsonPaymentRequestUri))
            {
                return;
            }

            var unsentRequests = await UnsentPaymentRequests()
                                 .ToListAsync();

            foreach (EservicePaymentRequest request in unsentRequests)
            {
                using (var tran = _context.Database.BeginTransaction())
                {
                    try
                    {
                        string result = await SendPaymentRequest(request.PaymentRequest.ToModel());

                        await _ePaymentService.ProcessPaymentRequestSendResult(request, result);

                        tran.Commit();
                    }
                    catch (Exception ex)
                    {
                        tran.Rollback();
                        Log.Error(ex, $"ERROR sending payment requests");
                        try
                        {
                            await _ePaymentService.SetPaymentRequestErrorAsync(request, ex.Message);
                        }
                        catch
                        { }
                        throw ex;
                    }
                }
            }
        }
Exemple #2
0
        public async Task <IActionResult> SendPaymentRequest(int id)
        {
            try
            {
                EservicePaymentRequest request = await paymentService.GetServicePaymentRequestAsync(id);

                if (request == null)
                {
                    return(BadRequest("Request not found!"));
                }

                string result = await paymentJobService.SendPaymentRequest(request.PaymentRequest.ToModel());

                await paymentService.ProcessPaymentRequestSendResult(request, result);

                Log.Information($"IntegrationController/sendPaymentRequest - sent request with Id: {id} / {result}");
                return(Ok(result));
            }
            catch (Exception ex)
            {
                Log.Error(ex, $"ERROR sending payment request");
                return(BadRequest("Error sending payment request"));
            }
        }