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; } } } }
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")); } }