package com.android.feedmeandroid.model; import java.util.Map; import com.android.feedmeandroid.exception.StripeException; import com.android.feedmeandroid.net.APIResource; public class Customer extends APIResource { Long created; String id; Boolean livemode; Boolean deleted; String description; Card activeCard; String email; String plan; Long trialEnd; Discount discount; NextRecurringCharge nextRecurringCharge; Subscription subscription; Boolean delinquent; Integer accountBalance; public Long getCreated() { return created; } public void setCreated(Long created) { this.created = created; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Boolean getLivemode() { return livemode; } public void setLivemode(Boolean livemode) { this.livemode = livemode; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Card getActiveCard() { return activeCard; } public void setActiveCard(Card activeCard) { this.activeCard = activeCard; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPlan() { return plan; } public void setPlan(String plan) { this.plan = plan; } public Long getTrialEnd() { return trialEnd; } public void setTrialEnd(Long trialEnd) { this.trialEnd = trialEnd; } public Discount getDiscount() { return discount; } public void setDiscount(Discount discount) { this.discount = discount; } public NextRecurringCharge getNextRecurringCharge() { return nextRecurringCharge; } public void setNextRecurringCharge(NextRecurringCharge nextRecurringCharge) { this.nextRecurringCharge = nextRecurringCharge; } public Subscription getSubscription() { return subscription; } public void setSubscription(Subscription subscription) { this.subscription = subscription; } public Boolean getDeleted() { return deleted; } public Boolean getDelinquent() { return delinquent; } public void setDelinquent(Boolean delinquent) { this.delinquent = delinquent; } public Integer getAccountBalance() { return accountBalance; } public void setAccountBalance(Integer accountBalance) { this.accountBalance = accountBalance; } public static Customer create(Map<String, Object> params) throws StripeException { return request(RequestMethod.POST, classURL(Customer.class), params, Customer.class); } public static Customer retrieve(String id) throws StripeException { return request(RequestMethod.GET, instanceURL(Customer.class, id), null, Customer.class); } public static CustomerCollection all(Map<String, Object> params) throws StripeException { return request(RequestMethod.GET, classURL(Customer.class), params, CustomerCollection.class); } public Customer update(Map<String, Object> params) throws StripeException { return request(RequestMethod.POST, instanceURL(Customer.class, this.id), params, Customer.class); } public DeletedCustomer delete() throws StripeException { return request(RequestMethod.DELETE, instanceURL(Customer.class, this.id), null, DeletedCustomer.class); } public Subscription updateSubscription(Map<String, Object> params) throws StripeException { return request(RequestMethod.POST, String.format("%s/subscription", instanceURL(Customer.class, this.id)), params, Subscription.class); } public Subscription cancelSubscription() throws StripeException { return cancelSubscription(null); } public Subscription cancelSubscription(Map<String, Object> params) throws StripeException { return request(RequestMethod.DELETE, String.format("%s/subscription", instanceURL(Customer.class, this.id)), params, Subscription.class); } public void deleteDiscount() throws StripeException { request(RequestMethod.DELETE, String.format("%s/discount", instanceURL(Customer.class, this.id)), null, Discount.class); } }