public PaymentResponseDto MakePayment(PaymentStripeDto input)
 {
     PaymentResponseDto results = new PaymentResponseDto();
     return (PaymentResponseDto)_creditsHeroConnect.CallCreditsHeroService<PaymentResponseDto>(results, input,
         "api/services/app/Subscriber/MakeStripePurchase");
 }
        public async Task<ActionResult> PurchaseCredits()
        {
            string role = GetUserRole();
            Users.User user = await GetUser();
            CreditsHero.Subscribers.Dtos.GetSubscribersInput input = await BuildCreditsHeroSubscriberInput(user);

            var companyInput = new CreditsHero.Common.Companies.Dtos.GetCompanyInput() { CompanyId = input.CompanyId.Value.ToString() };
            //Get Company entity so we can use the cost per credits
            var company = _companyService2.GetCompany(companyInput);

            //Get Company Configuration
            var companyConfig = _companyService2.GetCompanyConfig(companyInput);

            //TODO:Determine type of payment

            //Build Stripe data payment
            PaymentStripeDto payment = new PaymentStripeDto()
            {
                AddressCity = Request.Form[""],
                AddressLine1 = Request.Form[""],
                AddressLine2 = Request.Form[""],
            };

            //Build PaymentAuthorize.NET data object
            //PaymentAuthorizeNetDto payment = new PaymentAuthorizeNetDto()
            //{
            //    Credits = Int32.Parse(Request.Form["txtCredits"]),
            //    SubscribersId = input.SubscribersId,
            //    SubscribersEmail = input.SubscribersEmail,
            //    SubscribersName = input.SubscribersName,
            //    Amount = Decimal.Parse(Request.Form["txtTotal"]),
            //    CardCode = Request.Form["txtCardCode"],
            //    CompanyId = company.Id,
            //    MarketType = 0, //Request.Form[],
            //    ExpirationDate = Request.Form["txtExpirationDate"],
            //    PaymentGatewayType = "AuthorizeNET", //Request.Form[],
            //    PaymentMethod = "ChargeCreditCard", //Request.Form[],
            //    PurchaseDescription = String.Format("Purchase made by {0}, email {1}, ID {2}", input.SubscribersName, input.SubscribersEmail, input.SubscribersId.ToString()),
            //    TaxAmount = Decimal.Parse(Request.Form["txtAmount"]),
            //    TransactionType = "AuthorizeAndCapture",
            //    CardNumber = Request.Form["txtCardNumber"],
            //    CompanyConfigurationSettings = companyConfig
            //};

            var output = _memberAppService.MakePayment(payment);
            return Redirect((Url.Action("Index", "Home")));
        }