예제 #1
0
        static void TestInvoices2(StripePayment payment)
        {
            StripeCustomer cust     = payment.GetCustomer("cus_ulcOcy5Seu2dpq");
            StripePlanInfo planInfo = new StripePlanInfo {
                Amount   = 1999,
                ID       = "testplan",
                Interval = StripePlanInterval.Month,
                Name     = "The Test Plan",
                //TrialPeriod = 7
            };
            //payment.DeletePlan (planInfo.ID);
            StripePlan             plan    = payment.CreatePlan(planInfo);
            StripeSubscriptionInfo subInfo = new StripeSubscriptionInfo {
                Card    = GetCC(),
                Plan    = planInfo.ID,
                Prorate = true
            };
            StripeSubscription sub = payment.Subscribe(cust.ID, subInfo);

            payment.CreateInvoiceItem(new StripeInvoiceItemInfo {
                CustomerID  = cust.ID,
                Amount      = 1337,
                Description = "Test single charge"
            });

            var           invoices = payment.GetInvoices(0, 10, cust.ID);
            StripeInvoice upcoming = payment.GetUpcomingInvoice(cust.ID);

            payment.Unsubscribe(cust.ID, true);
            payment.DeletePlan(planInfo.ID);
            foreach (StripeLineItem line in upcoming)
            {
                Console.WriteLine("{0} for type {1}", line.Amount, line.GetType());
            }
        }
예제 #2
0
        public StripeSubscriptionInfo GetByBusinessId(int businessId)
        {
            StripeSubscriptionInfo sub = null;

            dataProvider.ExecuteCmd(
                "Subscriptions_GetByBusinessId",
                (parameters) =>
            {
                parameters.AddWithValue("@BusinessId", businessId);
            },
                (reader, resultSetIndex) =>
            {
                sub    = new StripeSubscriptionInfo();
                sub.Id = (int)reader["Id"];

                sub.SubscriptionLevel    = (int)reader["SubscriptionLevel"];
                sub.StripeSubscriptionId = (string)reader["StripeSubscriptionId"];
                sub.StartDate            = (DateTime)reader["StartDate"];
                sub.EndDate       = (DateTime)reader["EndDate"];
                sub.StripePlanId  = (string)reader["StripePlanId"];
                sub.DateCancelled = reader["DateCancelled"] as DateTime?;
                sub.BusinessId    = (int)reader["BusinessId"];
            }

                );
            return(sub);
        }
예제 #3
0
        public HttpResponseMessage GetSubscriptionInfo(int Id)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            StripeSubscriptionInfo subscription = stripeService.GetByBusinessId(Id);

            return(Request.CreateResponse(HttpStatusCode.OK, new ItemResponse <StripeSubscriptionInfo>
            {
                Item = subscription
            }));
        }