com.stripe.model.SubscriptionItem Maven / Gradle / Ivy
package com.stripe.model;
import com.stripe.exception.APIConnectionException;
import com.stripe.exception.APIException;
import com.stripe.exception.AuthenticationException;
import com.stripe.exception.CardException;
import com.stripe.exception.InvalidRequestException;
import com.stripe.net.APIResource;
import com.stripe.net.RequestOptions;
import java.util.Map;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public class SubscriptionItem extends APIResource implements HasId {
@Getter(onMethod = @__({@Override})) String id;
String object;
Long created;
Plan plan;
Integer quantity;
//
/**
* Create a subscription item.
*/
public static SubscriptionItem create(Map params)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return create(params, null);
}
/**
* Create a subscription item.
*/
public static SubscriptionItem create(Map params, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.POST, classURL(SubscriptionItem.class), params,
SubscriptionItem.class, options);
}
//
//
/**
* Delete a subscription item.
*/
public DeletedSubscriptionItem delete() throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return delete(null, null);
}
/**
* Delete a subscription item.
*/
public DeletedSubscriptionItem delete(RequestOptions options) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return delete(null, options);
}
/**
* Delete a subscription item.
*/
public DeletedSubscriptionItem delete(Map params) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return delete(params, null);
}
/**
* Delete a subscription item.
*/
public DeletedSubscriptionItem delete(Map params, RequestOptions options)
throws AuthenticationException, InvalidRequestException, APIConnectionException,
CardException, APIException {
return request(RequestMethod.DELETE, instanceURL(SubscriptionItem.class, id), params,
DeletedSubscriptionItem.class, options);
}
//
//
/**
* List all subscription items.
*/
public static SubscriptionItemCollection list(Map params)
throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return list(params, null);
}
/**
* List all subscription items.
*/
public static SubscriptionItemCollection list(Map params,
RequestOptions options) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return requestCollection(classURL(SubscriptionItem.class), params,
SubscriptionItemCollection.class, options);
}
//
//
/**
* Retrieve a subscription item.
*/
public static SubscriptionItem retrieve(String id) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return retrieve(id, null);
}
/**
* Retrieve a subscription item.
*/
public static SubscriptionItem retrieve(String id, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.GET, instanceURL(SubscriptionItem.class, id), null,
SubscriptionItem.class, options);
}
//
//
/**
* Update a subscription item.
*/
public SubscriptionItem update(Map params)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return update(params, null);
}
/**
* Update a subscription item.
*/
public SubscriptionItem update(Map params, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.POST, instanceURL(SubscriptionItem.class, id), params,
SubscriptionItem.class, options);
}
//
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy