/// <summary> /// create a charge /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <ChargeResultDto> ChargeCustomer(ChargeCustomerDto dto) { try { var options = new ChargeCreateOptions { Amount = (long)(dto.Amount * 100), Currency = _currency, Description = dto.Description, SourceId = dto.SourceId, CustomerId = dto.CustomerId, TransferGroup = dto.TransferGroupId, Capture = dto.IsCaptureImmediately, StatementDescriptor = dto.CustomerStatementText }; //adding meta data for charge options.Metadata = new Dictionary <string, string>(); options.Metadata["OrderNumber"] = dto.OrderId; var service = new ChargeService(); return(ChargeMapper.MapChargeToChargeResultDto( await service.CreateAsync(options))); } catch (StripeException ex) { return(ChargeMapper.MapChargeErrorToChargeResultDto(ex)); } }
public async Task <IApplicationResult <bool> > RegisterAsync(List <ChargeMessage> messages) { IDomainResult <bool> domainResult = await ChargeEntityService.RegisterAsync(ChargeMapper.MapTo(messages)); return(ResultMapper.MapFromDomainResult(domainResult, (domain) => domain)); }
public async Task <IApplicationResult <List <ChargeMessage> > > GetAsync(ChargeSearchMessage message) { IDomainResult <List <Charge> > domainResult = await ChargeEntityService.GetAsync(message.Cpf, message.ReferenceMonth); return(ResultMapper.MapFromDomainResult(domainResult, (domain) => ChargeMapper.MapTo(domain))); }