public async Task <IActionResult> GetDetailsAsync(string merchantId, string paymentRequestId) { try { IPaymentRequest paymentRequest = await _paymentRequestService.GetAsync(merchantId, paymentRequestId); if (paymentRequest == null) { return(NotFound(ErrorResponse.Create("Could not find payment request"))); } PaymentRequestRefund refundInfo = await _paymentRequestService.GetRefundInfoAsync(paymentRequest.WalletAddress); PaymentRequestDetailsModel model = await _paymentRequestDetailsBuilder.Build < PaymentRequestDetailsModel, PaymentRequestOrderModel, PaymentRequestTransactionModel, PaymentRequestRefundModel>(paymentRequest, refundInfo); return(Ok(model)); } catch (Exception ex) { await _log.WriteErrorAsync(nameof(GetDetailsAsync), new { MerchantId = merchantId, PaymentRequestId = paymentRequestId }.ToJson(), ex); throw; } }
public async Task PublishAsync(IPaymentRequest paymentRequest, Core.Domain.PaymentRequests.PaymentRequestRefund refundInfo) { PaymentRequestDetailsMessage message = await _paymentRequestDetailsBuilder.Build < PaymentRequestDetailsMessage, PaymentRequestOrder, PaymentRequestTransaction, PaymentRequestRefund>(paymentRequest, refundInfo); await PublishAsync(message); }
public async Task <IActionResult> GetDetailsAsync( [Required, RowKey] string merchantId, [Required, RowKey] string paymentRequestId) { IPaymentRequest paymentRequest = await _paymentRequestService.GetAsync(merchantId, paymentRequestId); if (paymentRequest == null) { return(NotFound(ErrorResponse.Create("Could not find payment request"))); } PaymentRequestRefund refundInfo = await _paymentRequestService.GetRefundInfoAsync(paymentRequest.WalletAddress); PaymentRequestDetailsModel model = await _paymentRequestDetailsBuilder.Build < PaymentRequestDetailsModel, PaymentRequestOrderModel, PaymentRequestTransactionModel, PaymentRequestRefundModel>(paymentRequest, refundInfo); return(Ok(model)); }