public async Task <IActionResult> ChechoutAsync([FromBody] ChechoutRequestModel model) { try { IPaymentRequest paymentRequest = await _paymentRequestService.CheckoutAsync(model.MerchantId, model.PaymentRequestId, model.Force); IOrder order = await _orderService.GetAsync(paymentRequest.Id, paymentRequest.OrderId); return(Ok(Mapper.Map <OrderModel>(order))); } catch (AssetUnknownException assetEx) { await _log.WriteErrorAsync(nameof(OrdersController), nameof(ChechoutAsync), new { assetEx.Asset }.ToJson(), assetEx); return(BadRequest(ErrorResponse.Create(assetEx.Message))); } catch (MarkupNotFoundException markupEx) { await _log.WriteErrorAsync(nameof(OrdersController), nameof(ChechoutAsync), new { markupEx.MerchantId, markupEx.AssetPairId }.ToJson(), markupEx); return(BadRequest(ErrorResponse.Create(markupEx.Message))); } catch (Exception ex) { await _log.WriteErrorAsync(nameof(OrdersController), nameof(ChechoutAsync), model.ToJson(), ex); throw; } }
public async Task <IActionResult> ChechoutAsync([FromBody] ChechoutRequestModel model) { try { IPaymentRequest paymentRequest = await _paymentRequestService.CheckoutAsync(model.MerchantId, model.PaymentRequestId, model.Force); IOrder order = await _orderService.GetAsync(paymentRequest.Id, paymentRequest.OrderId); return(Ok(Mapper.Map <OrderModel>(order))); } catch (AssetUnknownException e) { _log.ErrorWithDetails(e, new { e.Asset }); return(BadRequest(ErrorResponse.Create(e.Message))); } catch (AssetNetworkNotDefinedException e) { _log.ErrorWithDetails(e, new { e.AssetId }); return(BadRequest(ErrorResponse.Create(e.Message))); } catch (MarkupNotFoundException e) { _log.ErrorWithDetails(e, new { e.MerchantId, e.AssetPairId }); return(BadRequest(ErrorResponse.Create(e.Message))); } catch (PaymentRequestNotFoundException e) { _log.ErrorWithDetails(e, new { e.MerchantId, e.PaymentRequestId, e.WalletAddress }); return(NotFound(ErrorResponse.Create(e.Message))); } }