private async Task CreatePartnerPaymentRequestAsync(string customerId) { _log.Info("Sending payment request to customer", new { customerId }); var partnerRes = await _partnerManagementClient.Partners.GetAsync( new PartnerListRequestModel { CurrentPage = 1, PageSize = 1, Vertical = Vertical.Hospitality }); var partnerId = partnerRes.PartnersDetails.First().Id; var location = await _partnerManagementClient.Partners.GetByIdAsync(partnerId); var externalLocationId = location.Locations.First().ExternalId; var request = new PaymentsCreateRequestModel { CustomerId = customerId, Currency = _paymentRequestSettings.Currency, PartnerId = partnerId.ToString(), ExternalLocationId = externalLocationId, //PosId = _paymentRequestSettings.PosId, ExpirationTimeoutInSeconds = _paymentRequestSettings.CustomerExpirationInSeconds, PaymentInfo = _paymentRequestSettings.PaymentInfo, PaymentProcessedCallbackUrl = null, RequestAuthToken = null, TotalFiatAmount = _paymentRequestSettings.TotalFiatAmount }; if (_paymentRequestSettings.FiatAmount.HasValue) { request.FiatAmount = _paymentRequestSettings.FiatAmount; } else if (!string.IsNullOrWhiteSpace(_paymentRequestSettings.TokensAmount)) { request.TokensAmount = _tokensAmount; } var paymentRequestResult = await _partnersIntegrationClient.PaymentsApi.CreatePaymentRequestAsync(request); if (paymentRequestResult.Status != PaymentCreateStatus.OK) { _log.Error(message: $"Couldn't create payment request - {paymentRequestResult.Status}", context: request); } }
public async Task <PaymentsCreateResponseModel> CreatePaymentRequestAsync([FromBody] PaymentsCreateRequestModel model) { var responseContract = await _paymentsService.CreatePaymentRequestAsync(_mapper.Map <PaymentsCreateRequest>(model)); return(_mapper.Map <PaymentsCreateResponseModel>(responseContract)); }