com.stripe.model.InvoiceItem 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.AccessLevel;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public class InvoiceItem extends APIResource implements MetadataStore, HasId {
@Getter(onMethod = @__({@Override})) String id;
String object;
Long amount;
String currency;
@Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) ExpandableField customer;
Long date;
String description;
Boolean discountable;
@Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) ExpandableField invoice;
Boolean livemode;
@Getter(onMethod = @__({@Override})) Map metadata;
InvoiceLineItemPeriod period;
Plan plan;
Boolean proration;
Integer quantity;
@Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) ExpandableField subscription;
//
public String getCustomer() {
return (this.customer != null) ? this.customer.getId() : null;
}
public void setCustomer(String customerID) {
this.customer = setExpandableFieldID(customerID, this.customer);
}
public Customer getCustomerObject() {
return (this.customer != null) ? this.customer.getExpanded() : null;
}
public void setCustomerObject(Customer c) {
this.customer = new ExpandableField(c.getId(), c);
}
//
//
public String getInvoice() {
return (this.invoice != null) ? this.invoice.getId() : null;
}
public void setInvoice(String invoiceID) {
this.invoice = setExpandableFieldID(invoiceID, this.invoice);
}
public Invoice getInvoiceObject() {
return (this.invoice != null) ? this.invoice.getExpanded() : null;
}
public void setInvoiceObject(Invoice invoice) {
this.invoice = new ExpandableField(invoice.getId(), invoice);
}
//
//
public String getSubscription() {
return (this.subscription != null) ? this.subscription.getId() : null;
}
public void setSubscription(String subscriptionID) {
this.subscription = setExpandableFieldID(subscriptionID, this.subscription);
}
public Subscription getSubscriptionObject() {
return (this.subscription != null) ? this.subscription.getExpanded() : null;
}
public void setSubscriptionObject(Subscription subscription) {
this.subscription = new ExpandableField(subscription.getId(), subscription);
}
//
//
/**
* List all invoice items.
*
* @deprecated Use the {@link #list(Map)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public static InvoiceItemCollection all(Map params)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return list(params, null);
}
/**
* List all invoice items.
*
* @deprecated Use the {@link #list(Map, RequestOptions)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public static InvoiceItemCollection all(Map params,
RequestOptions options) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return list(params, options);
}
/**
* List all invoice items.
*
* @deprecated Use the {@link #list(Map, RequestOptions)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public static InvoiceItemCollection all(Map params,
String apiKey) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return list(params, RequestOptions.builder().setApiKey(apiKey).build());
}
//
//
/**
* Create an invoice item.
*/
public static InvoiceItem create(Map params)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return create(params, (RequestOptions) null);
}
/**
* Create an invoice item.
*/
public static InvoiceItem create(Map params, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.POST, classURL(InvoiceItem.class), params, InvoiceItem.class,
options);
}
/**
* Create an invoice item.
*
* @deprecated Use the {@link #create(Map, RequestOptions)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public static InvoiceItem create(Map params, String apiKey)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return create(params, RequestOptions.builder().setApiKey(apiKey).build());
}
//
//
/**
* Delete an invoice item.
*/
public DeletedInvoiceItem delete() throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return delete((RequestOptions) null);
}
/**
* Delete an invoice item.
*/
public DeletedInvoiceItem delete(RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.DELETE, instanceURL(InvoiceItem.class, this.id), null,
DeletedInvoiceItem.class, options);
}
/**
* Delete an invoice item.
*
* @deprecated Use the {@link #delete(RequestOptions)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public DeletedInvoiceItem delete(String apiKey)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return delete(RequestOptions.builder().setApiKey(apiKey).build());
}
//
//
/**
* List all invoice items.
*/
public static InvoiceItemCollection list(Map params)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return list(params, null);
}
/**
* List all invoice items.
*/
public static InvoiceItemCollection list(Map params,
RequestOptions options) throws AuthenticationException,
InvalidRequestException, APIConnectionException, CardException,
APIException {
return requestCollection(classURL(InvoiceItem.class), params, InvoiceItemCollection.class,
options);
}
//
//
/**
* Retrieve an invoice item.
*/
public static InvoiceItem retrieve(String id)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return retrieve(id, (RequestOptions) null);
}
/**
* Retrieve an invoice item.
*/
public static InvoiceItem retrieve(String id, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.GET, instanceURL(InvoiceItem.class, id), null, InvoiceItem.class,
options);
}
/**
* Retrieve an invoice item.
*
* @deprecated Use the {@link #retrieve(String, RequestOptions)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public static InvoiceItem retrieve(String id, String apiKey)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return retrieve(id, RequestOptions.builder().setApiKey(apiKey).build());
}
/**
* Retrieve an invoice item.
*/
public static InvoiceItem retrieve(String id, Map params, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.GET, instanceURL(InvoiceItem.class, id), params, InvoiceItem.class,
options);
}
//
//
/**
* Update an invoice item.
*/
@Override
public InvoiceItem update(Map params)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return update(params, (RequestOptions) null);
}
/**
* Update an invoice item.
*/
@Override
public InvoiceItem update(Map params, RequestOptions options)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return request(RequestMethod.POST, instanceURL(InvoiceItem.class, this.id), params,
InvoiceItem.class, options);
}
/**
* Update an invoice item.
*
* @deprecated Use the {@link #update(Map, RequestOptions)} method instead.
* This method will be removed in the next major version.
*/
@Deprecated
public InvoiceItem update(Map params, String apiKey)
throws AuthenticationException, InvalidRequestException,
APIConnectionException, CardException, APIException {
return update(params, RequestOptions.builder().setApiKey(apiKey).build());
}
//
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy