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());
}
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());
}
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);
}
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());
}
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);
}
Aggregations