/** * Terminate a particular {@link Subscription} by it's UUID * * @param subscription Subscription to terminate */ public void terminateSubscription(final Subscription subscription, final RefundOption refund) { doPUT( Subscription.SUBSCRIPTION_RESOURCE + "/" + subscription.getUuid() + "/terminate?refund=" + refund, subscription, Subscription.class); }
private Subscription verifySubscription(final String subscriptionData) throws IOException { final Subscription subscription = xmlMapper.readValue(subscriptionData, Subscription.class); Assert.assertEquals(subscription.getUuid(), "44f83d7cba354d5b84812419f923ea96"); Assert.assertEquals(subscription.getState(), "active"); Assert.assertEquals(subscription.getUnitAmountInCents(), (Integer) 800); Assert.assertEquals(subscription.getCurrency(), "EUR"); Assert.assertEquals(subscription.getQuantity(), (Integer) 1); Assert.assertEquals(subscription.getActivatedAt(), new DateTime("2011-05-27T07:00:00Z")); Assert.assertNull(subscription.getCanceledAt(), ""); Assert.assertNull(subscription.getExpiresAt(), ""); Assert.assertEquals( subscription.getCurrentPeriodStartedAt(), new DateTime("2011-06-27T07:00:00Z")); Assert.assertEquals( subscription.getCurrentPeriodEndsAt(), new DateTime("2010-07-27T07:00:00Z")); Assert.assertNull(subscription.getTrialStartedAt(), ""); Assert.assertNull(subscription.getTrialEndsAt(), ""); Assert.assertEquals(subscription.getStartsAt(), new DateTime("2010-07-28T07:00:00Z")); Assert.assertEquals(subscription.getCollectionMethod(), "manual"); Assert.assertEquals(subscription.getNetTerms(), (Integer) 10); Assert.assertEquals(subscription.getPoNumber(), "PO19384"); Assert.assertEquals(subscription.getFirstRenewalDate(), new DateTime("2011-07-01T07:00:00Z")); return subscription; }
/** * Reactivating a canceled subscription * * <p>Reactivate a canceled subscription so it renews at the end of the current bill cycle. * * @param subscription Subscription object * @return -?- */ public Subscription reactivateSubscription(final Subscription subscription) { return doPUT( Subscription.SUBSCRIPTION_RESOURCE + "/" + subscription.getUuid() + "/reactivate", subscription, Subscription.class); }
/** * Cancel a subscription * * <p>Cancel a subscription so it remains active and then expires at the end of the current bill * cycle. * * @param subscription Subscription object * @return -?- */ public Subscription cancelSubscription(final Subscription subscription) { return doPUT( Subscription.SUBSCRIPTION_RESOURCE + "/" + subscription.getUuid() + "/cancel", subscription, Subscription.class); }