public async Task <IActionResult> Post([FromBody] Transaction transaction) { string resultId = string.Empty; try { resultId = await _paymentProvider.Pay(transaction); } catch (ApiException error) { _logger.LogError(error.Message, error); if (error.StatusCode == 400) { return(BadRequest("Invalid data provided")); } throw new ApplicationException("Unexpected exception occured while processing your request"); } return(Ok(resultId)); }
public static string ProcessPayment(IPaymentProvider paymentProvider) { return(paymentProvider.Pay()); }
public void Pay(decimal money) { _provider.Pay(money); }