public async Task<Result<Uri>> Handle(AddPaymentMethodCommand command, CancellationToken cancellationToken)
{
// Validation and other logic..
Result<ProviderDataDto> providerDataResult = await _mediator.Send(new GetProviderDataQuery(command.CompanyMarketId, INTEGRATION_TYPE), cancellationToken);
if (!providerDataResult.IsSuccess)
{
return Result<Uri>.Failure(providerDataResult.Error);
}
IPaymentService paymentService = _providerServiceFactory.CreateProviderService(providerDataResult.Value);
// Create payment method, save to database...
Result<Uri> result = await paymentService.InitiatePaymentMethodTokenization(paymentMethod);
// Handle result...
}
public async Task<Result<Uri>> Handle(AddPaymentMethodCommand command, CancellationToken cancellationToken)
{
// Validation and other logic..
Result<ProviderDataDto> providerDataResult = await _mediator.Send(new GetProviderDataQuery(command.CompanyMarketId, INTEGRATION_TYPE), cancellationToken);
if (!providerDataResult.IsSuccess)
{
return Result<Uri>.Failure(providerDataResult.Error);
}
IPaymentService paymentService = _providerServiceFactory.CreateProviderService(providerDataResult.Value);
// Create payment method, save to database...
Result<Uri> result = await paymentService.InitiatePaymentMethodTokenization(paymentMethod);
// Handle result...
}