public void Charge(string username, SubscriptionChargeDto subscriptionChargeDto)
        {
            var chargeOptions = new StripeChargeCreateOptions()
            {
                Amount = 18000,
                Currency = "cad",
                Source = new StripeSourceOptions() {  TokenId = subscriptionChargeDto.Token },
                Description = "Membership Payment",
                ReceiptEmail = username
            };

            var chargeService = new StripeChargeService();
            var stripeCharge = chargeService.Create(chargeOptions);

            var user = uow.Users.GetAll()
                .Include(x => x.Accounts)
                .Include("Accounts.Profiles")
                .Single(x => x.Username == username);
            var account = user.Accounts.First();
            account.AccountStatus = AccountStatus.Paid;
            uow.SaveChanges();
        }
 public IHttpActionResult Charge(SubscriptionChargeDto subscriptionChargeDto)
 {
     this.subscriptionService.Charge(User.Identity.Name, subscriptionChargeDto);
     return Ok();
 }