Skip to content

Latest commit

 

History

History
273 lines (171 loc) · 6.68 KB

File metadata and controls

273 lines (171 loc) · 6.68 KB

Subscription API

A subscription is a product or service that has recurring charges, such as a monthly flat fee or charges based on usage. Subscriptions can also include one-time charges, such as service activation fees. Every subscription must be associated with an account.

The Subscription object contains the information needed to create and maintain a subscription associated with an Account object.

Methods

Create Subscription

Creates a new subscription.

Subscription subscription=zuoraClient.subscriptions().create(params);

Parameters

Parameter Type Tags Description
params SubscriptionCreateRequest Required Subscription request object.

Response Type

Subscription

Example

final String ACCOUNT_ID = "account_id8";

Account account = zuoraClient.accounts().get(ACCOUNT_ID);

SubscriptionCreateRequest params = SubscriptionCreateRequest.builder()
        .account(account)
        .build();
        
Subscription subscription = zuoraClient.subscriptions().create(params);

Get Subscription

Subscription subscription = zuoraClient.subscriptions().get(subscriptionId);

Parameters

Parameter Type Tags Description
id String Required The unique identifier of a subscription.

Response Type

Subscription

Example

String SUBSCRIPTION_ID = "subscription_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);

Get Subscription Plans

List<SubscriptionPlan> subscriptionPlans = zuoraClient.subscriptions().getSubscriptionPlans(subscriptionId);

Parameters

Parameter Type Tags Description
id String Required The unique identifier of a subscription.

Example

String SUBSCRIPTION_ID = "subscription_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);

Add Subscription Plan

Subscription subscription =
        zuoraClient.subscriptions().addPlan(subscription,
                plan, LocalDate.now(), LocalDate.now(), LocalDate.now());

Response Type

Subscription

Example

final String SUBSCRIPTION_ID = "subscription_id8";
final String PLAN_ID = "plan_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);
Plan plan = zuoraClient.products().get(PLAN_ID);

Subscription subscription =
        zuoraClient.subscriptions().addPlan(subscription,
                plan, LocalDate.now(), LocalDate.now(), LocalDate.now());

Update Subscription

Subscription subscription = subscription.update();

Example

String SUBSCRIPTION_ID = "subscription_id8";
Subscription subscription = zuoraClient.subscriptions().get(SUBSCIRPTION_ID);

subscription.setDescription("New Description");
subscription.update();

Update Subscription Item

Subscription subscription =
        zuoraClient.subscriptions().updateItem(subscription,
                subscriptionItem, LocalDate.now());

Response Type

Subscription

Example

final String SUBSCRIPTION_ID = "subscription_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);

SubscriptionItem subscriptionItem =
        subscription.getSubscriptionPlans().get(0).getItems().get(0);
PerUnit perUnit = (PerUnit)subscriptionItem.getChargeModel();
perUnit.setQuantity(60.0);
SubscriptionItem subscriptionItem =
        subscriptionItem.toBuilder().chargeModel(perUnit).build();
Subscription subscription =
        zuoraClient.subscriptions()
                .updateItem(subscription, subscriptionItem, LocalDate.now());

Transfer Owner

Subscription subscription =
        zuoraClient.subscriptions().ownerTransfer(subscription, NEW_ACCOUNT_KEY, NEW_INVOICE_OWNER_KEY);

Response Type

Subscription

Example

final String SUBSCRIPTION_ID = "subscription_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);

final String NEW_ACCOUNT_KEY = "Account_X_Key";
final String NEW_INVOICE_OWNER_KEY = "Account_Y_Key";
Subscription subscription =
        zuoraClient.subscriptions().ownerTransfer(subscription, NEW_ACCOUNT_KEY, NEW_INVOICE_OWNER_KEY);

Renew Subscription

zuoraClient.subscriptions().renew(SUBSCRIPTION_ID);

Parameters

Parameter Type Tags Description
id String Required The unique identifier of a subscription.

Example

final String SUBSCRIPTION_ID = "subscription_id8";

zuoraClient.subscriptions().renew(SUBSCRIPTION_ID);

Cancel Subscription

Subscription subscription = zuoraClient.subscriptions().cancel(subscription);

Response Type

Subscription

Example

final String SUBSCRIPTION_ID = "subscription_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);

Subscription subscription = zuoraClient.subscriptions().cancel(subscription);

Remove Subscription Plan

Subscription subscription = zuoraClient.subscriptions().removeSubscriptionPlan(subscription, subscriptionPlan);

Response Type

Subscription

Example

final String SUBSCRIPTION_ID = "subscription_id8";

Subscription subscription = zuoraClient.subscriptions().get(SUBSCRIPTION_ID);
SubscriptionPlan subscriptionPlan = subscription.getPlans().get(0);

subscription = zuoraClient.subscriptions().removeSubscriptionPlan(subscription, subscriptionPlan);