public async Task <ActionResult> PaymentResult(PaymentResultViewModel model) { var data = Request.Form.ToDictionary(q => q.Key, q => string.Join(",", q.Value)); var executePaymentDto = ObjectMapper.Map <ExecutePaymentDto>(model); executePaymentDto.AdditionalData = data; await _paymentAppService.ExecutePayment(executePaymentDto); return(RedirectToAction("Index")); }
private async Task <string> ExecutePaymentAsync(int editionId, PaymentPeriodType paymentPeriodType, SubscriptionPaymentGatewayType gateway) { var data = Request.Form.ToDictionary(q => q.Key, q => string.Join(",", q.Value)); var result = await _paymentAppService.ExecutePayment(new ExecutePaymentDto { EditionId = editionId, EditionPaymentType = EditionPaymentType.NewRegistration, Gateway = gateway, AdditionalData = data }); var paymentId = result.GetId(); _paymentCache.AddCacheItem(new PaymentCacheItem(gateway, paymentPeriodType, paymentId)); return(paymentId); }