Search in sources :

Example 6 with Subscription

use of com.stripe.model.Subscription in project stripe-java by stripe.

the class SubscriptionTest method testInvoicingSubscription.

@Test
public void testInvoicingSubscription() throws StripeException {
    Plan plan = Plan.create(getUniquePlanParams());
    defaultCustomerParams.put("email", "test@stripe.com");
    Customer customer = Customer.create(defaultCustomerParams);
    Map<String, Object> subscriptionParams = new HashMap<String, Object>();
    subscriptionParams.put("plan", plan.getId());
    subscriptionParams.put("billing", "send_invoice");
    subscriptionParams.put("days_until_due", 30);
    subscriptionParams.put("customer", customer.getId());
    Subscription sub = Subscription.create(subscriptionParams);
    assertEquals(plan.getId(), sub.getPlan().getId());
    assertEquals("send_invoice", sub.getBilling());
    assertEquals((Integer) 30, sub.getDaysUntilDue());
    Map<String, Object> updateParams = new HashMap<String, Object>();
    updateParams.put("days_until_due", 10);
    Subscription subUpdated = sub.update(updateParams);
    assertEquals((Integer) 10, subUpdated.getDaysUntilDue());
}
Also used : Customer(com.stripe.model.Customer) HashMap(java.util.HashMap) Plan(com.stripe.model.Plan) Subscription(com.stripe.model.Subscription) BaseStripeFunctionalTest(com.stripe.BaseStripeFunctionalTest) Test(org.junit.Test)

Example 7 with Subscription

use of com.stripe.model.Subscription in project stripe-java by stripe.

the class SubscriptionTest method testTopLevelSubscriptionAPI.

@Test
public void testTopLevelSubscriptionAPI() throws StripeException {
    final Plan plan = Plan.create(getUniquePlanParams());
    final Plan plan2 = Plan.create(getUniquePlanParams());
    Customer customer = Customer.create(defaultCustomerParams);
    // Create
    Map<String, Object> subCreateParams = new HashMap<String, Object>();
    subCreateParams.put("plan", plan.getId());
    subCreateParams.put("customer", customer.getId());
    Subscription sub = Subscription.create(subCreateParams);
    assertEquals(plan.getId(), sub.getPlan().getId());
    assertEquals(customer.getId(), sub.getCustomer());
    customer = Customer.retrieve(customer.getId());
    assertEquals(1, customer.getSubscriptions().getData().size());
    assertEquals(sub.getId(), customer.getSubscriptions().getData().get(0).getId());
    // Retrieve
    Subscription retrievedSub = Subscription.retrieve(sub.getId());
    assertEquals(sub.getId(), retrievedSub.getId());
    // List
    Map<String, Object> subAllParams = new HashMap<String, Object>();
    subAllParams.put("plan", plan.getId());
    subAllParams.put("customer", customer.getId());
    SubscriptionCollection list = Subscription.all(subAllParams);
    assertEquals(1, list.getData().size());
    assertEquals(sub.getId(), list.getData().get(0).getId());
    assertEquals(customer.getId(), list.getData().get(0).getCustomer());
    assertEquals(plan.getId(), list.getData().get(0).getPlan().getId());
    // Update
    Map<String, Object> subUpdateParams = new HashMap<String, Object>();
    subUpdateParams.put("plan", plan2.getId());
    sub = sub.update(subUpdateParams);
    assertEquals(plan2.getId(), sub.getPlan().getId());
    // Cancel
    sub = sub.cancel(null);
    assertNotNull(sub.getCanceledAt());
}
Also used : Customer(com.stripe.model.Customer) HashMap(java.util.HashMap) SubscriptionCollection(com.stripe.model.SubscriptionCollection) CustomerSubscriptionCollection(com.stripe.model.CustomerSubscriptionCollection) Plan(com.stripe.model.Plan) Subscription(com.stripe.model.Subscription) BaseStripeFunctionalTest(com.stripe.BaseStripeFunctionalTest) Test(org.junit.Test)

Example 8 with Subscription

use of com.stripe.model.Subscription in project stripe-java by stripe.

the class SubscriptionTest method testCancelSubscriptionAtPeriodEnd.

@Test
public void testCancelSubscriptionAtPeriodEnd() throws StripeException {
    Plan plan = Plan.create(getUniquePlanParams());
    Customer customer = createDefaultCustomerWithPlan(plan);
    assertEquals(customer.getSubscriptions().getData().get(0).getStatus(), "active");
    Map<String, Object> cancelParams = new HashMap<String, Object>();
    cancelParams.put("at_period_end", true);
    Subscription canceledSubscription = customer.cancelSubscription(cancelParams);
    assertEquals(canceledSubscription.getStatus(), "active");
    assertEquals(canceledSubscription.getCancelAtPeriodEnd(), true);
}
Also used : Customer(com.stripe.model.Customer) HashMap(java.util.HashMap) Plan(com.stripe.model.Plan) Subscription(com.stripe.model.Subscription) BaseStripeFunctionalTest(com.stripe.BaseStripeFunctionalTest) Test(org.junit.Test)

Example 9 with Subscription

use of com.stripe.model.Subscription in project stripe-java by stripe.

the class SubscriptionTest method testUpdateSubscriptionPerCallAPIKey.

@Test
public void testUpdateSubscriptionPerCallAPIKey() throws StripeException {
    Plan plan = Plan.create(getUniquePlanParams(), Stripe.apiKey);
    Customer customer = Customer.create(defaultCustomerParams, Stripe.apiKey);
    Map<String, Object> subscriptionParams = new HashMap<String, Object>();
    subscriptionParams.put("plan", plan.getId());
    Subscription sub = customer.updateSubscription(subscriptionParams, Stripe.apiKey);
    assertEquals(sub.getPlan().getId(), plan.getId());
    assertEquals(sub.getCustomer(), customer.getId());
}
Also used : Customer(com.stripe.model.Customer) HashMap(java.util.HashMap) Plan(com.stripe.model.Plan) Subscription(com.stripe.model.Subscription) BaseStripeFunctionalTest(com.stripe.BaseStripeFunctionalTest) Test(org.junit.Test)

Example 10 with Subscription

use of com.stripe.model.Subscription in project stripe-java by stripe.

the class SubscriptionTest method testCancelSubscriptionAtPeriodEndPerCallAPIKey.

@Test
public void testCancelSubscriptionAtPeriodEndPerCallAPIKey() throws StripeException {
    Plan plan = Plan.create(getUniquePlanParams(), Stripe.apiKey);
    Customer customer = createDefaultCustomerWithPlan(plan);
    assertEquals(customer.getSubscriptions().getData().get(0).getStatus(), "active");
    Map<String, Object> cancelParams = new HashMap<String, Object>();
    cancelParams.put("at_period_end", true);
    Subscription canceledSubscription = customer.cancelSubscription(cancelParams, Stripe.apiKey);
    assertEquals(canceledSubscription.getStatus(), "active");
    assertEquals(canceledSubscription.getCancelAtPeriodEnd(), true);
}
Also used : Customer(com.stripe.model.Customer) HashMap(java.util.HashMap) Plan(com.stripe.model.Plan) Subscription(com.stripe.model.Subscription) BaseStripeFunctionalTest(com.stripe.BaseStripeFunctionalTest) Test(org.junit.Test)

Aggregations

BaseStripeFunctionalTest (com.stripe.BaseStripeFunctionalTest)16 Subscription (com.stripe.model.Subscription)16 Test (org.junit.Test)16 Customer (com.stripe.model.Customer)15 Plan (com.stripe.model.Plan)11 HashMap (java.util.HashMap)11 SubscriptionItem (com.stripe.model.SubscriptionItem)6 DeletedSubscriptionItem (com.stripe.model.DeletedSubscriptionItem)5 CustomerSubscriptionCollection (com.stripe.model.CustomerSubscriptionCollection)2 SubscriptionCollection (com.stripe.model.SubscriptionCollection)1 SubscriptionItemCollection (com.stripe.model.SubscriptionItemCollection)1 UsageRecord (com.stripe.model.UsageRecord)1