com.stripe.model.tax.Form Maven / Gradle / Ivy
// File generated from our OpenAPI spec
package com.stripe.model.tax;
import com.google.gson.annotations.SerializedName;
import com.stripe.exception.StripeException;
import com.stripe.model.Account;
import com.stripe.model.ExpandableField;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
import com.stripe.net.ApiRequest;
import com.stripe.net.ApiRequestParams;
import com.stripe.net.ApiResource;
import com.stripe.net.BaseAddress;
import com.stripe.net.RequestOptions;
import com.stripe.net.StripeResponseGetter;
import com.stripe.param.tax.FormListParams;
import com.stripe.param.tax.FormPdfParams;
import com.stripe.param.tax.FormRetrieveParams;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* Tax forms are legal documents which are delivered to one or more tax authorities for information
* reporting purposes.
*
* Related guide: US tax reporting for
* Connect platforms
*/
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public class Form extends ApiResource implements HasId {
/** The form that corrects this form, if any. */
@SerializedName("corrected_by")
@Getter(lombok.AccessLevel.NONE)
@Setter(lombok.AccessLevel.NONE)
ExpandableField
filingStatuses;
/** Unique identifier for the object. */
@Getter(onMethod_ = {@Override})
@SerializedName("id")
String id;
/**
* Has the value {@code true} if the object exists in live mode or the value {@code false} if the
* object exists in test mode.
*/
@SerializedName("livemode")
Boolean livemode;
/**
* String representing the object's type. Objects of the same type share the same value.
*
* Equal to {@code tax.form}.
*/
@SerializedName("object")
String object;
@SerializedName("payee")
Payee payee;
/**
* The type of the tax form. An additional hash is included on the tax form with a name matching
* this value. It contains additional information specific to the tax form type.
*
*
One of {@code us_1099_k}, {@code us_1099_misc}, or {@code us_1099_nec}.
*/
@SerializedName("type")
String type;
@SerializedName("us_1099_k")
Us1099K us1099K;
@SerializedName("us_1099_misc")
Us1099Misc us1099Misc;
@SerializedName("us_1099_nec")
Us1099Nec us1099Nec;
/** Get ID of expandable {@code correctedBy} object. */
public String getCorrectedBy() {
return (this.correctedBy != null) ? this.correctedBy.getId() : null;
}
public void setCorrectedBy(String id) {
this.correctedBy = ApiResource.setExpandableFieldId(id, this.correctedBy);
}
/** Get expanded {@code correctedBy}. */
public Form getCorrectedByObject() {
return (this.correctedBy != null) ? this.correctedBy.getExpanded() : null;
}
public void setCorrectedByObject(Form expandableObject) {
this.correctedBy = new ExpandableField