digitaluapi

<back to all web services

GetStripeSession

The following routes are available for this service:
All Verbs/stripe-session/{Id}
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class GetStripeSession
    {
        public String Id = null;
        
        public String getId() { return Id; }
        public GetStripeSession setId(String value) { this.Id = value; return this; }
    }

    public static class Session extends StripeEntity_1<Session> implements IHasId, IHasMetadata, IHasObject
    {
        public String Id = null;
        public String Object = null;
        public SessionAfterExpiration AfterExpiration = null;
        public Boolean AllowPromotionCodes = null;
        public Long AmountSubtotal = null;
        public Long AmountTotal = null;
        public SessionAutomaticTax AutomaticTax = null;
        public String BillingAddressCollection = null;
        public String CancelUrl = null;
        public String ClientReferenceId = null;
        public SessionConsent Consent = null;
        public SessionConsentCollection ConsentCollection = null;
        public Date Created = null;
        public String Currency = null;
        public ArrayList<SessionCustomField> CustomFields = null;
        public SessionCustomText CustomText = null;
        public String CustomerCreation = null;
        public SessionCustomerDetails CustomerDetails = null;
        public String CustomerEmail = null;
        public Date ExpiresAt = null;
        public SessionInvoiceCreation InvoiceCreation = null;
        public StripeList<LineItem> LineItems = null;
        public Boolean Livemode = null;
        public String Locale = null;
        public HashMap<String,String> Metadata = null;
        public String Mode = null;
        public String PaymentMethodCollection = null;
        public SessionPaymentMethodOptions PaymentMethodOptions = null;
        public ArrayList<String> PaymentMethodTypes = null;
        public String PaymentStatus = null;
        public SessionPhoneNumberCollection PhoneNumberCollection = null;
        public String RecoveredFrom = null;
        public SessionShippingAddressCollection ShippingAddressCollection = null;
        public SessionShippingCost ShippingCost = null;
        public SessionShippingDetails ShippingDetails = null;
        public ArrayList<SessionShippingOption> ShippingOptions = null;
        public String Status = null;
        public String SubmitType = null;
        public String SuccessUrl = null;
        public SessionTaxIdCollection TaxIdCollection = null;
        public SessionTotalDetails TotalDetails = null;
        public String Url = null;
        
        public String getId() { return Id; }
        public Session setId(String value) { this.Id = value; return this; }
        public String getObject() { return Object; }
        public Session setObject(String value) { this.Object = value; return this; }
        public SessionAfterExpiration getAfterExpiration() { return AfterExpiration; }
        public Session setAfterExpiration(SessionAfterExpiration value) { this.AfterExpiration = value; return this; }
        public Boolean isAllowPromotionCodes() { return AllowPromotionCodes; }
        public Session setAllowPromotionCodes(Boolean value) { this.AllowPromotionCodes = value; return this; }
        public Long getAmountSubtotal() { return AmountSubtotal; }
        public Session setAmountSubtotal(Long value) { this.AmountSubtotal = value; return this; }
        public Long getAmountTotal() { return AmountTotal; }
        public Session setAmountTotal(Long value) { this.AmountTotal = value; return this; }
        public SessionAutomaticTax getAutomaticTax() { return AutomaticTax; }
        public Session setAutomaticTax(SessionAutomaticTax value) { this.AutomaticTax = value; return this; }
        public String getBillingAddressCollection() { return BillingAddressCollection; }
        public Session setBillingAddressCollection(String value) { this.BillingAddressCollection = value; return this; }
        public String getCancelUrl() { return CancelUrl; }
        public Session setCancelUrl(String value) { this.CancelUrl = value; return this; }
        public String getClientReferenceId() { return ClientReferenceId; }
        public Session setClientReferenceId(String value) { this.ClientReferenceId = value; return this; }
        public SessionConsent getConsent() { return Consent; }
        public Session setConsent(SessionConsent value) { this.Consent = value; return this; }
        public SessionConsentCollection getConsentCollection() { return ConsentCollection; }
        public Session setConsentCollection(SessionConsentCollection value) { this.ConsentCollection = value; return this; }
        public Date getCreated() { return Created; }
        public Session setCreated(Date value) { this.Created = value; return this; }
        public String getCurrency() { return Currency; }
        public Session setCurrency(String value) { this.Currency = value; return this; }
        public ArrayList<SessionCustomField> getCustomFields() { return CustomFields; }
        public Session setCustomFields(ArrayList<SessionCustomField> value) { this.CustomFields = value; return this; }
        public SessionCustomText getCustomText() { return CustomText; }
        public Session setCustomText(SessionCustomText value) { this.CustomText = value; return this; }
        public String getCustomerCreation() { return CustomerCreation; }
        public Session setCustomerCreation(String value) { this.CustomerCreation = value; return this; }
        public SessionCustomerDetails getCustomerDetails() { return CustomerDetails; }
        public Session setCustomerDetails(SessionCustomerDetails value) { this.CustomerDetails = value; return this; }
        public String getCustomerEmail() { return CustomerEmail; }
        public Session setCustomerEmail(String value) { this.CustomerEmail = value; return this; }
        public Date getExpiresAt() { return ExpiresAt; }
        public Session setExpiresAt(Date value) { this.ExpiresAt = value; return this; }
        public SessionInvoiceCreation getInvoiceCreation() { return InvoiceCreation; }
        public Session setInvoiceCreation(SessionInvoiceCreation value) { this.InvoiceCreation = value; return this; }
        public StripeList<LineItem> getLineItems() { return LineItems; }
        public Session setLineItems(StripeList<LineItem> value) { this.LineItems = value; return this; }
        public Boolean isLivemode() { return Livemode; }
        public Session setLivemode(Boolean value) { this.Livemode = value; return this; }
        public String getLocale() { return Locale; }
        public Session setLocale(String value) { this.Locale = value; return this; }
        public HashMap<String,String> getMetadata() { return Metadata; }
        public Session setMetadata(HashMap<String,String> value) { this.Metadata = value; return this; }
        public String getMode() { return Mode; }
        public Session setMode(String value) { this.Mode = value; return this; }
        public String getPaymentMethodCollection() { return PaymentMethodCollection; }
        public Session setPaymentMethodCollection(String value) { this.PaymentMethodCollection = value; return this; }
        public SessionPaymentMethodOptions getPaymentMethodOptions() { return PaymentMethodOptions; }
        public Session setPaymentMethodOptions(SessionPaymentMethodOptions value) { this.PaymentMethodOptions = value; return this; }
        public ArrayList<String> getPaymentMethodTypes() { return PaymentMethodTypes; }
        public Session setPaymentMethodTypes(ArrayList<String> value) { this.PaymentMethodTypes = value; return this; }
        public String getPaymentStatus() { return PaymentStatus; }
        public Session setPaymentStatus(String value) { this.PaymentStatus = value; return this; }
        public SessionPhoneNumberCollection getPhoneNumberCollection() { return PhoneNumberCollection; }
        public Session setPhoneNumberCollection(SessionPhoneNumberCollection value) { this.PhoneNumberCollection = value; return this; }
        public String getRecoveredFrom() { return RecoveredFrom; }
        public Session setRecoveredFrom(String value) { this.RecoveredFrom = value; return this; }
        public SessionShippingAddressCollection getShippingAddressCollection() { return ShippingAddressCollection; }
        public Session setShippingAddressCollection(SessionShippingAddressCollection value) { this.ShippingAddressCollection = value; return this; }
        public SessionShippingCost getShippingCost() { return ShippingCost; }
        public Session setShippingCost(SessionShippingCost value) { this.ShippingCost = value; return this; }
        public SessionShippingDetails getShippingDetails() { return ShippingDetails; }
        public Session setShippingDetails(SessionShippingDetails value) { this.ShippingDetails = value; return this; }
        public ArrayList<SessionShippingOption> getShippingOptions() { return ShippingOptions; }
        public Session setShippingOptions(ArrayList<SessionShippingOption> value) { this.ShippingOptions = value; return this; }
        public String getStatus() { return Status; }
        public Session setStatus(String value) { this.Status = value; return this; }
        public String getSubmitType() { return SubmitType; }
        public Session setSubmitType(String value) { this.SubmitType = value; return this; }
        public String getSuccessUrl() { return SuccessUrl; }
        public Session setSuccessUrl(String value) { this.SuccessUrl = value; return this; }
        public SessionTaxIdCollection getTaxIdCollection() { return TaxIdCollection; }
        public Session setTaxIdCollection(SessionTaxIdCollection value) { this.TaxIdCollection = value; return this; }
        public SessionTotalDetails getTotalDetails() { return TotalDetails; }
        public Session setTotalDetails(SessionTotalDetails value) { this.TotalDetails = value; return this; }
        public String getUrl() { return Url; }
        public Session setUrl(String value) { this.Url = value; return this; }
    }

    public static class StripeEntity_1<T> extends StripeEntity
    {
        
    }

    public static class StripeEntity implements IStripeEntity
    {
        
    }

    public static class SessionAfterExpiration extends StripeEntity_1<SessionAfterExpiration>
    {
        public SessionAfterExpirationRecovery Recovery = null;
        
        public SessionAfterExpirationRecovery getRecovery() { return Recovery; }
        public SessionAfterExpiration setRecovery(SessionAfterExpirationRecovery value) { this.Recovery = value; return this; }
    }

    public static class SessionAfterExpirationRecovery extends StripeEntity_1<SessionAfterExpirationRecovery>
    {
        public Boolean AllowPromotionCodes = null;
        public Boolean Enabled = null;
        public Date ExpiresAt = null;
        public String Url = null;
        
        public Boolean isAllowPromotionCodes() { return AllowPromotionCodes; }
        public SessionAfterExpirationRecovery setAllowPromotionCodes(Boolean value) { this.AllowPromotionCodes = value; return this; }
        public Boolean isEnabled() { return Enabled; }
        public SessionAfterExpirationRecovery setEnabled(Boolean value) { this.Enabled = value; return this; }
        public Date getExpiresAt() { return ExpiresAt; }
        public SessionAfterExpirationRecovery setExpiresAt(Date value) { this.ExpiresAt = value; return this; }
        public String getUrl() { return Url; }
        public SessionAfterExpirationRecovery setUrl(String value) { this.Url = value; return this; }
    }

    public static class SessionAutomaticTax extends StripeEntity_1<SessionAutomaticTax>
    {
        public Boolean Enabled = null;
        public String Status = null;
        
        public Boolean isEnabled() { return Enabled; }
        public SessionAutomaticTax setEnabled(Boolean value) { this.Enabled = value; return this; }
        public String getStatus() { return Status; }
        public SessionAutomaticTax setStatus(String value) { this.Status = value; return this; }
    }

    public static class SessionConsent extends StripeEntity_1<SessionConsent>
    {
        public String Promotions = null;
        public String TermsOfService = null;
        
        public String getPromotions() { return Promotions; }
        public SessionConsent setPromotions(String value) { this.Promotions = value; return this; }
        public String getTermsOfService() { return TermsOfService; }
        public SessionConsent setTermsOfService(String value) { this.TermsOfService = value; return this; }
    }

    public static class SessionConsentCollection extends StripeEntity_1<SessionConsentCollection>
    {
        public String Promotions = null;
        public String TermsOfService = null;
        
        public String getPromotions() { return Promotions; }
        public SessionConsentCollection setPromotions(String value) { this.Promotions = value; return this; }
        public String getTermsOfService() { return TermsOfService; }
        public SessionConsentCollection setTermsOfService(String value) { this.TermsOfService = value; return this; }
    }

    public static class SessionCustomField extends StripeEntity_1<SessionCustomField>
    {
        public SessionCustomFieldDropdown Dropdown = null;
        public String Key = null;
        public SessionCustomFieldLabel Label = null;
        public SessionCustomFieldNumeric Numeric = null;
        public Boolean Optional = null;
        public SessionCustomFieldText Text = null;
        public String Type = null;
        
        public SessionCustomFieldDropdown getDropdown() { return Dropdown; }
        public SessionCustomField setDropdown(SessionCustomFieldDropdown value) { this.Dropdown = value; return this; }
        public String getKey() { return Key; }
        public SessionCustomField setKey(String value) { this.Key = value; return this; }
        public SessionCustomFieldLabel getLabel() { return Label; }
        public SessionCustomField setLabel(SessionCustomFieldLabel value) { this.Label = value; return this; }
        public SessionCustomFieldNumeric getNumeric() { return Numeric; }
        public SessionCustomField setNumeric(SessionCustomFieldNumeric value) { this.Numeric = value; return this; }
        public Boolean isOptional() { return Optional; }
        public SessionCustomField setOptional(Boolean value) { this.Optional = value; return this; }
        public SessionCustomFieldText getText() { return Text; }
        public SessionCustomField setText(SessionCustomFieldText value) { this.Text = value; return this; }
        public String getType() { return Type; }
        public SessionCustomField setType(String value) { this.Type = value; return this; }
    }

    public static class SessionCustomFieldDropdown extends StripeEntity_1<SessionCustomFieldDropdown>
    {
        public ArrayList<SessionCustomFieldDropdownOption> Options = null;
        public String Value = null;
        
        public ArrayList<SessionCustomFieldDropdownOption> getOptions() { return Options; }
        public SessionCustomFieldDropdown setOptions(ArrayList<SessionCustomFieldDropdownOption> value) { this.Options = value; return this; }
        public String getValue() { return Value; }
        public SessionCustomFieldDropdown setValue(String value) { this.Value = value; return this; }
    }

    public static class SessionCustomFieldDropdownOption extends StripeEntity_1<SessionCustomFieldDropdownOption>
    {
        public String Label = null;
        public String Value = null;
        
        public String getLabel() { return Label; }
        public SessionCustomFieldDropdownOption setLabel(String value) { this.Label = value; return this; }
        public String getValue() { return Value; }
        public SessionCustomFieldDropdownOption setValue(String value) { this.Value = value; return this; }
    }

    public static class SessionCustomFieldLabel extends StripeEntity_1<SessionCustomFieldLabel>
    {
        public String Custom = null;
        public String Type = null;
        
        public String getCustom() { return Custom; }
        public SessionCustomFieldLabel setCustom(String value) { this.Custom = value; return this; }
        public String getType() { return Type; }
        public SessionCustomFieldLabel setType(String value) { this.Type = value; return this; }
    }

    public static class SessionCustomFieldNumeric extends StripeEntity_1<SessionCustomFieldNumeric>
    {
        public String Value = null;
        
        public String getValue() { return Value; }
        public SessionCustomFieldNumeric setValue(String value) { this.Value = value; return this; }
    }

    public static class SessionCustomFieldText extends StripeEntity_1<SessionCustomFieldText>
    {
        public String Value = null;
        
        public String getValue() { return Value; }
        public SessionCustomFieldText setValue(String value) { this.Value = value; return this; }
    }

    public static class SessionCustomText extends StripeEntity_1<SessionCustomText>
    {
        public SessionCustomTextShippingAddress ShippingAddress = null;
        public SessionCustomTextSubmit Submit = null;
        
        public SessionCustomTextShippingAddress getShippingAddress() { return ShippingAddress; }
        public SessionCustomText setShippingAddress(SessionCustomTextShippingAddress value) { this.ShippingAddress = value; return this; }
        public SessionCustomTextSubmit getSubmit() { return Submit; }
        public SessionCustomText setSubmit(SessionCustomTextSubmit value) { this.Submit = value; return this; }
    }

    public static class SessionCustomTextShippingAddress extends StripeEntity_1<SessionCustomTextShippingAddress>
    {
        public String Message = null;
        
        public String getMessage() { return Message; }
        public SessionCustomTextShippingAddress setMessage(String value) { this.Message = value; return this; }
    }

    public static class SessionCustomTextSubmit extends StripeEntity_1<SessionCustomTextSubmit>
    {
        public String Message = null;
        
        public String getMessage() { return Message; }
        public SessionCustomTextSubmit setMessage(String value) { this.Message = value; return this; }
    }

    public static class SessionCustomerDetails extends StripeEntity_1<SessionCustomerDetails>
    {
        public Address Address = null;
        public String Email = null;
        public String Name = null;
        public String Phone = null;
        public String TaxExempt = null;
        public ArrayList<SessionCustomerDetailsTaxId> TaxIds = null;
        
        public Address getAddress() { return Address; }
        public SessionCustomerDetails setAddress(Address value) { this.Address = value; return this; }
        public String getEmail() { return Email; }
        public SessionCustomerDetails setEmail(String value) { this.Email = value; return this; }
        public String getName() { return Name; }
        public SessionCustomerDetails setName(String value) { this.Name = value; return this; }
        public String getPhone() { return Phone; }
        public SessionCustomerDetails setPhone(String value) { this.Phone = value; return this; }
        public String getTaxExempt() { return TaxExempt; }
        public SessionCustomerDetails setTaxExempt(String value) { this.TaxExempt = value; return this; }
        public ArrayList<SessionCustomerDetailsTaxId> getTaxIds() { return TaxIds; }
        public SessionCustomerDetails setTaxIds(ArrayList<SessionCustomerDetailsTaxId> value) { this.TaxIds = value; return this; }
    }

    public static class Address extends StripeEntity_1<Address>
    {
        public String City = null;
        public String Country = null;
        public String Line1 = null;
        public String Line2 = null;
        public String PostalCode = null;
        public String State = null;
        
        public String getCity() { return City; }
        public Address setCity(String value) { this.City = value; return this; }
        public String getCountry() { return Country; }
        public Address setCountry(String value) { this.Country = value; return this; }
        public String getLine1() { return Line1; }
        public Address setLine1(String value) { this.Line1 = value; return this; }
        public String getLine2() { return Line2; }
        public Address setLine2(String value) { this.Line2 = value; return this; }
        public String getPostalCode() { return PostalCode; }
        public Address setPostalCode(String value) { this.PostalCode = value; return this; }
        public String getState() { return State; }
        public Address setState(String value) { this.State = value; return this; }
    }

    public static class SessionCustomerDetailsTaxId extends StripeEntity_1<SessionCustomerDetailsTaxId>
    {
        public String Type = null;
        public String Value = null;
        
        public String getType() { return Type; }
        public SessionCustomerDetailsTaxId setType(String value) { this.Type = value; return this; }
        public String getValue() { return Value; }
        public SessionCustomerDetailsTaxId setValue(String value) { this.Value = value; return this; }
    }

    public static class SessionInvoiceCreation extends StripeEntity_1<SessionInvoiceCreation>
    {
        public Boolean Enabled = null;
        public SessionInvoiceCreationInvoiceData InvoiceData = null;
        
        public Boolean isEnabled() { return Enabled; }
        public SessionInvoiceCreation setEnabled(Boolean value) { this.Enabled = value; return this; }
        public SessionInvoiceCreationInvoiceData getInvoiceData() { return InvoiceData; }
        public SessionInvoiceCreation setInvoiceData(SessionInvoiceCreationInvoiceData value) { this.InvoiceData = value; return this; }
    }

    public static class SessionInvoiceCreationInvoiceData extends StripeEntity_1<SessionInvoiceCreationInvoiceData> implements IHasMetadata
    {
        public ArrayList<SessionInvoiceCreationInvoiceDataCustomField> CustomFields = null;
        public String Description = null;
        public String Footer = null;
        public HashMap<String,String> Metadata = null;
        public SessionInvoiceCreationInvoiceDataRenderingOptions RenderingOptions = null;
        
        public ArrayList<SessionInvoiceCreationInvoiceDataCustomField> getCustomFields() { return CustomFields; }
        public SessionInvoiceCreationInvoiceData setCustomFields(ArrayList<SessionInvoiceCreationInvoiceDataCustomField> value) { this.CustomFields = value; return this; }
        public String getDescription() { return Description; }
        public SessionInvoiceCreationInvoiceData setDescription(String value) { this.Description = value; return this; }
        public String getFooter() { return Footer; }
        public SessionInvoiceCreationInvoiceData setFooter(String value) { this.Footer = value; return this; }
        public HashMap<String,String> getMetadata() { return Metadata; }
        public SessionInvoiceCreationInvoiceData setMetadata(HashMap<String,String> value) { this.Metadata = value; return this; }
        public SessionInvoiceCreationInvoiceDataRenderingOptions getRenderingOptions() { return RenderingOptions; }
        public SessionInvoiceCreationInvoiceData setRenderingOptions(SessionInvoiceCreationInvoiceDataRenderingOptions value) { this.RenderingOptions = value; return this; }
    }

    public static class SessionInvoiceCreationInvoiceDataCustomField extends StripeEntity_1<SessionInvoiceCreationInvoiceDataCustomField>
    {
        public String Name = null;
        public String Value = null;
        
        public String getName() { return Name; }
        public SessionInvoiceCreationInvoiceDataCustomField setName(String value) { this.Name = value; return this; }
        public String getValue() { return Value; }
        public SessionInvoiceCreationInvoiceDataCustomField setValue(String value) { this.Value = value; return this; }
    }

    public static class SessionInvoiceCreationInvoiceDataRenderingOptions extends StripeEntity_1<SessionInvoiceCreationInvoiceDataRenderingOptions>
    {
        public String AmountTaxDisplay = null;
        
        public String getAmountTaxDisplay() { return AmountTaxDisplay; }
        public SessionInvoiceCreationInvoiceDataRenderingOptions setAmountTaxDisplay(String value) { this.AmountTaxDisplay = value; return this; }
    }

    public static class StripeList<T> extends StripeEntity_1<StripeList<T>> implements IHasObject
    {
        
    }

    public static class LineItem extends StripeEntity_1<LineItem> implements IHasId, IHasObject
    {
        public String Id = null;
        public String Object = null;
        public Long AmountDiscount = null;
        public Long AmountSubtotal = null;
        public Long AmountTax = null;
        public Long AmountTotal = null;
        public String Currency = null;
        public Boolean Deleted = null;
        public String Description = null;
        public ArrayList<LineItemDiscount> Discounts = null;
        public Price Price = null;
        public Long Quantity = null;
        public ArrayList<LineItemTax> Taxes = null;
        
        public String getId() { return Id; }
        public LineItem setId(String value) { this.Id = value; return this; }
        public String getObject() { return Object; }
        public LineItem setObject(String value) { this.Object = value; return this; }
        public Long getAmountDiscount() { return AmountDiscount; }
        public LineItem setAmountDiscount(Long value) { this.AmountDiscount = value; return this; }
        public Long getAmountSubtotal() { return AmountSubtotal; }
        public LineItem setAmountSubtotal(Long value) { this.AmountSubtotal = value; return this; }
        public Long getAmountTax() { return AmountTax; }
        public LineItem setAmountTax(Long value) { this.AmountTax = value; return this; }
        public Long getAmountTotal() { return AmountTotal; }
        public LineItem setAmountTotal(Long value) { this.AmountTotal = value; return this; }
        public String getCurrency() { return Currency; }
        public LineItem setCurrency(String value) { this.Currency = value; return this; }
        public Boolean isDeleted() { return Deleted; }
        public LineItem setDeleted(Boolean value) { this.Deleted = value; return this; }
        public String getDescription() { return Description; }
        public LineItem setDescription(String value) { this.Description = value; return this; }
        public ArrayList<LineItemDiscount> getDiscounts() { return Discounts; }
        public LineItem setDiscounts(ArrayList<LineItemDiscount> value) { this.Discounts = value; return this; }
        public Price getPrice() { return Price; }
        public LineItem setPrice(Price value) { this.Price = value; return this; }
        public Long getQuantity() { return Quantity; }
        public LineItem setQuantity(Long value) { this.Quantity = value; return this; }
        public ArrayList<LineItemTax> getTaxes() { return Taxes; }
        public LineItem setTaxes(ArrayList<LineItemTax> value) { this.Taxes = value; return this; }
    }

    public static class LineItemDiscount extends StripeEntity_1<LineItemDiscount>
    {
        public Long Amount = null;
        public Discount Discount = null;
        
        public Long getAmount() { return Amount; }
        public LineItemDiscount setAmount(Long value) { this.Amount = value; return this; }
        public Discount getDiscount() { return Discount; }
        public LineItemDiscount setDiscount(Discount value) { this.Discount = value; return this; }
    }

    public static class Discount extends StripeEntity_1<Discount> implements IHasId, IHasObject
    {
        public String Id = null;
        public String Object = null;
        public String CheckoutSession = null;
        public Coupon Coupon = null;
        public Boolean Deleted = null;
        public Date End = null;
        public String Invoice = null;
        public String InvoiceItem = null;
        public Date Start = null;
        
        public String getId() { return Id; }
        public Discount setId(String value) { this.Id = value; return this; }
        public String getObject() { return Object; }
        public Discount setObject(String value) { this.Object = value; return this; }
        public String getCheckoutSession() { return CheckoutSession; }
        public Discount setCheckoutSession(String value) { this.CheckoutSession = value; return this; }
        public Coupon getCoupon() { return Coupon; }
        public Discount setCoupon(Coupon value) { this.Coupon = value; return this; }
        public Boolean isDeleted() { return Deleted; }
        public Discount setDeleted(Boolean value) { this.Deleted = value; return this; }
        public Date getEnd() { return End; }
        public Discount setEnd(Date value) { this.End = value; return this; }
        public String getInvoice() { return Invoice; }
        public Discount setInvoice(String value) { this.Invoice = value; return this; }
        public String getInvoiceItem() { return InvoiceItem; }
        public Discount setInvoiceItem(String value) { this.InvoiceItem = value; return this; }
        public Date getStart() { return Start; }
        public Discount setStart(Date value) { this.Start = value; return this; }
    }

    public static class Coupon extends StripeEntity_1<Coupon> implements IHasId, IHasMetadata, IHasObject
    {
        public String Id = null;
        public String Object = null;
        public Long AmountOff = null;
        public CouponAppliesTo AppliesTo = null;
        public Date Created = null;
        public String Currency = null;
        public HashMap<String,CouponCurrencyOptions> CurrencyOptions = null;
        public Boolean Deleted = null;
        public String Duration = null;
        public Long DurationInMonths = null;
        public Boolean Livemode = null;
        public Long MaxRedemptions = null;
        public HashMap<String,String> Metadata = null;
        public String Name = null;
        public BigDecimal PercentOff = null;
        public Date RedeemBy = null;
        public Long TimesRedeemed = null;
        public Boolean Valid = null;
        
        public String getId() { return Id; }
        public Coupon setId(String value) { this.Id = value; return this; }
        public String getObject() { return Object; }
        public Coupon setObject(String value) { this.Object = value; return this; }
        public Long getAmountOff() { return AmountOff; }
        public Coupon setAmountOff(Long value) { this.AmountOff = value; return this; }
        public CouponAppliesTo getAppliesTo() { return AppliesTo; }
        public Coupon setAppliesTo(CouponAppliesTo value) { this.AppliesTo = value; return this; }
        public Date getCreated() { return Created; }
        public Coupon setCreated(Date value) { this.Created = value; return this; }
        public String getCurrency() { return Currency; }
        public Coupon setCurrency(String value) { this.Currency = value; return this; }
        public HashMap<String,CouponCurrencyOptions> getCurrencyOptions() { return CurrencyOptions; }
        public Coupon setCurrencyOptions(HashMap<String,CouponCurrencyOptions> value) { this.CurrencyOptions = value; return this; }
        public Boolean isDeleted() { return Deleted; }
        public Coupon setDeleted(Boolean value) { this.Deleted = value; return this; }
        public String getDuration() { return Duration; }
        public Coupon setDuration(String value) { this.Duration = value; return this; }
        public Long getDurationInMonths() { return DurationInMonths; }
        public Coupon setDurationInMonths(Long value) { this.DurationInMonths = value; return this; }
        public Boolean isLivemode() { return Livemode; }
        public Coupon setLivemode(Boolean value) { this.Livemode = value; return this; }
        public Long getMaxRedemptions() { return MaxRedemptions; }
        public Coupon setMaxRedemptions(Long value) { this.MaxRedemptions = value; return this; }
        public HashMap<String,String> getMetadata() { return Metadata; }
        public Coupon setMetadata(HashMap<String,String> value) { this.Metadata = value; return this; }
        public String getName() { return Name; }
        public Coupon setName(String value) { this.Name = value; return this; }
        public BigDecimal getPercentOff() { return PercentOff; }
        public Coupon setPercentOff(BigDecimal value) { this.PercentOff = value; return this; }
        public Date getRedeemBy() { return RedeemBy; }
        public Coupon setRedeemBy(Date value) { this.RedeemBy = value; return this; }
        public Long getTimesRedeemed() { return TimesRedeemed; }
        public Coupon setTimesRedeemed(Long value) { this.TimesRedeemed = value; return this; }
        public Boolean isValid() { return Valid; }
        public Coupon setValid(Boolean value) { this.Valid = value; return this; }
    }

    public static class CouponAppliesTo extends StripeEntity_1<CouponAppliesTo>
    {
        public ArrayList<String> Products = null;
        
        public ArrayList<String> getProducts() { return Products; }
        public CouponAppliesTo setProducts(ArrayList<String> value) { this.Products = value; return this; }
    }

    public static class CouponCurrencyOptions extends StripeEntity_1<CouponCurrencyOptions>
    {
        public Long AmountOff = null;
        
        public Long getAmountOff() { return AmountOff; }
        public CouponCurrencyOptions setAmountOff(Long value) { this.AmountOff = value; return this; }
    }

    public static class Price extends StripeEntity_1<Price> implements IHasId, IHasMetadata, IHasObject
    {
        public String Id = null;
        public String Object = null;
        public Boolean Active = null;
        public String BillingScheme = null;
        public Date Created = null;
        public String Currency = null;
        public HashMap<String,PriceCurrencyOptions> CurrencyOptions = null;
        public PriceCustomUnitAmount CustomUnitAmount = null;
        public Boolean Deleted = null;
        public Boolean Livemode = null;
        public String LookupKey = null;
        public HashMap<String,String> Metadata = null;
        public String Nickname = null;
        public PriceRecurring Recurring = null;
        public String TaxBehavior = null;
        public ArrayList<PriceTier> Tiers = null;
        public String TiersMode = null;
        public PriceTransformQuantity TransformQuantity = null;
        public String Type = null;
        public Long UnitAmount = null;
        public BigDecimal UnitAmountDecimal = null;
        
        public String getId() { return Id; }
        public Price setId(String value) { this.Id = value; return this; }
        public String getObject() { return Object; }
        public Price setObject(String value) { this.Object = value; return this; }
        public Boolean isActive() { return Active; }
        public Price setActive(Boolean value) { this.Active = value; return this; }
        public String getBillingScheme() { return BillingScheme; }
        public Price setBillingScheme(String value) { this.BillingScheme = value; return this; }
        public Date getCreated() { return Created; }
        public Price setCreated(Date value) { this.Created = value; return this; }
        public String getCurrency() { return Currency; }
        public Price setCurrency(String value) { this.Currency = value; return this; }
        public HashMap<String,PriceCurrencyOptions> getCurrencyOptions() { return CurrencyOptions; }
        public Price setCurrencyOptions(HashMap<String,PriceCurrencyOptions> value) { this.CurrencyOptions = value; return this; }
        public PriceCustomUnitAmount getCustomUnitAmount() { return CustomUnitAmount; }
        public Price setCustomUnitAmount(PriceCustomUnitAmount value) { this.CustomUnitAmount = value; return this; }
        public Boolean isDeleted() { return Deleted; }
        public Price setDeleted(Boolean value) { this.Deleted = value; return this; }
        public Boolean isLivemode() { return Livemode; }
        public Price setLivemode(Boolean value) { this.Livemode = value; return this; }
        public String getLookupKey() { return LookupKey; }
        public Price setLookupKey(String value) { this.LookupKey = value; return this; }
        public HashMap<String,String> getMetadata() { return Metadata; }
        public Price setMetadata(HashMap<String,String> value) { this.Metadata = value; return this; }
        public String getNickname() { return Nickname; }
        public Price setNickname(String value) { this.Nickname = value; return this; }
        public PriceRecurring getRecurring() { return Recurring; }
        public Price setRecurring(PriceRecurring value) { this.Recurring = value; return this; }
        public String getTaxBehavior() { return TaxBehavior; }
        public Price setTaxBehavior(String value) { this.TaxBehavior = value; return this; }
        public ArrayList<PriceTier> getTiers() { return Tiers; }
        public Price setTiers(ArrayList<PriceTier> value) { this.Tiers = value; return this; }
        public String getTiersMode() { return TiersMode; }
        public Price setTiersMode(String value) { this.TiersMode = value; return this; }
        public PriceTransformQuantity getTransformQuantity() { return TransformQuantity; }
        public Price setTransformQuantity(PriceTransformQuantity value) { this.TransformQuantity = value; return this; }
        public String getType() { return Type; }
        public Price setType(String value) { this.Type = value; return this; }
        public Long getUnitAmount() { return UnitAmount; }
        public Price setUnitAmount(Long value) { this.UnitAmount = value; return this; }
        public BigDecimal getUnitAmountDecimal() { return UnitAmountDecimal; }
        public Price setUnitAmountDecimal(BigDecimal value) { this.UnitAmountDecimal = value; return this; }
    }

    public static class PriceCurrencyOptions extends StripeEntity_1<PriceCurrencyOptions>
    {
        public PriceCurrencyOptionsCustomUnitAmount CustomUnitAmount = null;
        public String TaxBehavior = null;
        public ArrayList<PriceCurrencyOptionsTier> Tiers = null;
        public Long UnitAmount = null;
        public BigDecimal UnitAmountDecimal = null;
        
        public PriceCurrencyOptionsCustomUnitAmount getCustomUnitAmount() { return CustomUnitAmount; }
        public PriceCurrencyOptions setCustomUnitAmount(PriceCurrencyOptionsCustomUnitAmount value) { this.CustomUnitAmount = value; return this; }
        public String getTaxBehavior() { return TaxBehavior; }
        public PriceCurrencyOptions setTaxBehavior(String value) { this.TaxBehavior = value; return this; }
        public ArrayList<PriceCurrencyOptionsTier> getTiers() { return Tiers; }
        public PriceCurrencyOptions setTiers(ArrayList<PriceCurrencyOptionsTier> value) { this.Tiers = value; return this; }
        public Long getUnitAmount() { return UnitAmount; }
        public PriceCurrencyOptions setUnitAmount(Long value) { this.UnitAmount = value; return this; }
        public BigDecimal getUnitAmountDecimal() { return UnitAmountDecimal; }
        public PriceCurrencyOptions setUnitAmountDecimal(BigDecimal value) { this.UnitAmountDecimal = value; return this; }
    }

    public static class PriceCurrencyOptionsCustomUnitAmount extends StripeEntity_1<PriceCurrencyOptionsCustomUnitAmount>
    {
        public Long Maximum = null;
        public Long Minimum = null;
        public Long Preset = null;
        
        public Long getMaximum() { return Maximum; }
        public PriceCurrencyOptionsCustomUnitAmount setMaximum(Long value) { this.Maximum = value; return this; }
        public Long getMinimum() { return Minimum; }
        public PriceCurrencyOptionsCustomUnitAmount setMinimum(Long value) { this.Minimum = value; return this; }
        public Long getPreset() { return Preset; }
        public PriceCurrencyOptionsCustomUnitAmount setPreset(Long value) { this.Preset = value; return this; }
    }

    public static class PriceCurrencyOptionsTier extends StripeEntity_1<PriceCurrencyOptionsTier>
    {
        public Long FlatAmount = null;
        public BigDecimal FlatAmountDecimal = null;
        public Long UnitAmount = null;
        public BigDecimal UnitAmountDecimal = null;
        public Long UpTo = null;
        
        public Long getFlatAmount() { return FlatAmount; }
        public PriceCurrencyOptionsTier setFlatAmount(Long value) { this.FlatAmount = value; return this; }
        public BigDecimal getFlatAmountDecimal() { return FlatAmountDecimal; }
        public PriceCurrencyOptionsTier setFlatAmountDecimal(BigDecimal value) { this.FlatAmountDecimal = value; return this; }
        public Long getUnitAmount() { return UnitAmount; }
        public PriceCurrencyOptionsTier setUnitAmount(Long value) { this.UnitAmount = value; return this; }
        public BigDecimal getUnitAmountDecimal() { return UnitAmountDecimal; }
        public PriceCurrencyOptionsTier setUnitAmountDecimal(BigDecimal value) { this.UnitAmountDecimal = value; return this; }
        public Long getUpTo() { return UpTo; }
        public PriceCurrencyOptionsTier setUpTo(Long value) { this.UpTo = value; return this; }
    }

    public static class PriceCustomUnitAmount extends StripeEntity_1<PriceCustomUnitAmount>
    {
        public Long Maximum = null;
        public Long Minimum = null;
        public Long Preset = null;
        
        public Long getMaximum() { return Maximum; }
        public PriceCustomUnitAmount setMaximum(Long value) { this.Maximum = value; return this; }
        public Long getMinimum() { return Minimum; }
        public PriceCustomUnitAmount setMinimum(Long value) { this.Minimum = value; return this; }
        public Long getPreset() { return Preset; }
        public PriceCustomUnitAmount setPreset(Long value) { this.Preset = value; return this; }
    }

    public static class PriceRecurring extends StripeEntity_1<PriceRecurring>
    {
        public String AggregateUsage = null;
        public String Interval = null;
        public Long IntervalCount = null;
        public Long TrialPeriodDays = null;
        public String UsageType = null;
        
        public String getAggregateUsage() { return AggregateUsage; }
        public PriceRecurring setAggregateUsage(String value) { this.AggregateUsage = value; return this; }
        public String getInterval() { return Interval; }
        public PriceRecurring setInterval(String value) { this.Interval = value; return this; }
        public Long getIntervalCount() { return IntervalCount; }
        public PriceRecurring setIntervalCount(Long value) { this.IntervalCount = value; return this; }
        public Long getTrialPeriodDays() { return TrialPeriodDays; }
        public PriceRecurring setTrialPeriodDays(Long value) { this.TrialPeriodDays = value; return this; }
        public String getUsageType() { return UsageType; }
        public PriceRecurring setUsageType(String value) { this.UsageType = value; return this; }
    }

    public static class PriceTier extends StripeEntity_1<PriceTier>
    {
        public Long FlatAmount = null;
        public BigDecimal FlatAmountDecimal = null;
        public Long UnitAmount = null;
        public BigDecimal UnitAmountDecimal = null;
        public Long UpTo = null;
        
        public Long getFlatAmount() { return FlatAmount; }
        public PriceTier setFlatAmount(Long value) { this.FlatAmount = value; return this; }
        public BigDecimal getFlatAmountDecimal() { return FlatAmountDecimal; }
        public PriceTier setFlatAmountDecimal(BigDecimal value) { this.FlatAmountDecimal = value; return this; }
        public Long getUnitAmount() { return UnitAmount; }
        public PriceTier setUnitAmount(Long value) { this.UnitAmount = value; return this; }
        public BigDecimal getUnitAmountDecimal() { return UnitAmountDecimal; }
        public PriceTier setUnitAmountDecimal(BigDecimal value) { this.UnitAmountDecimal = value; return this; }
        public Long getUpTo() { return UpTo; }
        public PriceTier setUpTo(Long value) { this.UpTo = value; return this; }
    }

    public static class PriceTransformQuantity extends StripeEntity_1<PriceTransformQuantity>
    {
        public Long DivideBy = null;
        public String Round = null;
        
        public Long getDivideBy() { return DivideBy; }
        public PriceTransformQuantity setDivideBy(Long value) { this.DivideBy = value; return this; }
        public String getRound() { return Round; }
        public PriceTransformQuantity setRound(String value) { this.Round = value; return this; }
    }

    public static class LineItemTax extends StripeEntity_1<LineItemTax>
    {
        public Long Amount = null;
        public TaxRate Rate = null;
        
        public Long getAmount() { return Amount; }
        public LineItemTax setAmount(Long value) { this.Amount = value; return this; }
        public TaxRate getRate() { return Rate; }
        public LineItemTax setRate(TaxRate value) { this.Rate = value; return this; }
    }

    public static class TaxRate extends StripeEntity_1<TaxRate> implements IHasId, IHasMetadata, IHasObject
    {
        public String Id = null;
        public String Object = null;
        public Boolean Active = null;
        public String Country = null;
        public Date Created = null;
        public String Description = null;
        public String DisplayName = null;
        public Boolean Inclusive = null;
        public String Jurisdiction = null;
        public Boolean Livemode = null;
        public HashMap<String,String> Metadata = null;
        public BigDecimal Percentage = null;
        public String State = null;
        public String TaxType = null;
        
        public String getId() { return Id; }
        public TaxRate setId(String value) { this.Id = value; return this; }
        public String getObject() { return Object; }
        public TaxRate setObject(String value) { this.Object = value; return this; }
        public Boolean isActive() { return Active; }
        public TaxRate setActive(Boolean value) { this.Active = value; return this; }
        public String getCountry() { return Country; }
        public TaxRate setCountry(String value) { this.Country = value; return this; }
        public Date getCreated() { return Created; }
        public TaxRate setCreated(Date value) { this.Created = value; return this; }
        public String getDescription() { return Description; }
        public TaxRate setDescription(String value) { this.Description = value; return this; }
        public String getDisplayName() { return DisplayName; }
        public TaxRate setDisplayName(String value) { this.DisplayName = value; return this; }
        public Boolean isInclusive() { return Inclusive; }
        public TaxRate setInclusive(Boolean value) { this.Inclusive = value; return this; }
        public String getJurisdiction() { return Jurisdiction; }
        public TaxRate setJurisdiction(String value) { this.Jurisdiction = value; return this; }
        public Boolean isLivemode() { return Livemode; }
        public TaxRate setLivemode(Boolean value) { this.Livemode = value; return this; }
        public HashMap<String,String> getMetadata() { return Metadata; }
        public TaxRate setMetadata(HashMap<String,String> value) { this.Metadata = value; return this; }
        public BigDecimal getPercentage() { return Percentage; }
        public TaxRate setPercentage(BigDecimal value) { this.Percentage = value; return this; }
        public String getState() { return State; }
        public TaxRate setState(String value) { this.State = value; return this; }
        public String getTaxType() { return TaxType; }
        public TaxRate setTaxType(String value) { this.TaxType = value; return this; }
    }

    public static class SessionPaymentMethodOptions extends StripeEntity_1<SessionPaymentMethodOptions>
    {
        public SessionPaymentMethodOptionsAcssDebit AcssDebit = null;
        public SessionPaymentMethodOptionsAffirm Affirm = null;
        public SessionPaymentMethodOptionsAfterpayClearpay AfterpayClearpay = null;
        public SessionPaymentMethodOptionsAlipay Alipay = null;
        public SessionPaymentMethodOptionsAuBecsDebit AuBecsDebit = null;
        public SessionPaymentMethodOptionsBacsDebit BacsDebit = null;
        public SessionPaymentMethodOptionsBancontact Bancontact = null;
        public SessionPaymentMethodOptionsBoleto Boleto = null;
        public SessionPaymentMethodOptionsCard Card = null;
        public SessionPaymentMethodOptionsCustomerBalance CustomerBalance = null;
        public SessionPaymentMethodOptionsEps Eps = null;
        public SessionPaymentMethodOptionsFpx Fpx = null;
        public SessionPaymentMethodOptionsGiropay Giropay = null;
        public SessionPaymentMethodOptionsGrabpay Grabpay = null;
        public SessionPaymentMethodOptionsIdeal Ideal = null;
        public SessionPaymentMethodOptionsKlarna Klarna = null;
        public SessionPaymentMethodOptionsKonbini Konbini = null;
        public SessionPaymentMethodOptionsOxxo Oxxo = null;
        public SessionPaymentMethodOptionsP24 P24 = null;
        public SessionPaymentMethodOptionsPaynow Paynow = null;
        public SessionPaymentMethodOptionsPix Pix = null;
        public SessionPaymentMethodOptionsSepaDebit SepaDebit = null;
        public SessionPaymentMethodOptionsSofort Sofort = null;
        public SessionPaymentMethodOptionsUsBankAccount UsBankAccount = null;
        
        public SessionPaymentMethodOptionsAcssDebit getAcssDebit() { return AcssDebit; }
        public SessionPaymentMethodOptions setAcssDebit(SessionPaymentMethodOptionsAcssDebit value) { this.AcssDebit = value; return this; }
        public SessionPaymentMethodOptionsAffirm getAffirm() { return Affirm; }
        public SessionPaymentMethodOptions setAffirm(SessionPaymentMethodOptionsAffirm value) { this.Affirm = value; return this; }
        public SessionPaymentMethodOptionsAfterpayClearpay getAfterpayClearpay() { return AfterpayClearpay; }
        public SessionPaymentMethodOptions setAfterpayClearpay(SessionPaymentMethodOptionsAfterpayClearpay value) { this.AfterpayClearpay = value; return this; }
        public SessionPaymentMethodOptionsAlipay getAlipay() { return Alipay; }
        public SessionPaymentMethodOptions setAlipay(SessionPaymentMethodOptionsAlipay value) { this.Alipay = value; return this; }
        public SessionPaymentMethodOptionsAuBecsDebit getAuBecsDebit() { return AuBecsDebit; }
        public SessionPaymentMethodOptions setAuBecsDebit(SessionPaymentMethodOptionsAuBecsDebit value) { this.AuBecsDebit = value; return this; }
        public SessionPaymentMethodOptionsBacsDebit getBacsDebit() { return BacsDebit; }
        public SessionPaymentMethodOptions setBacsDebit(SessionPaymentMethodOptionsBacsDebit value) { this.BacsDebit = value; return this; }
        public SessionPaymentMethodOptionsBancontact getBancontact() { return Bancontact; }
        public SessionPaymentMethodOptions setBancontact(SessionPaymentMethodOptionsBancontact value) { this.Bancontact = value; return this; }
        public SessionPaymentMethodOptionsBoleto getBoleto() { return Boleto; }
        public SessionPaymentMethodOptions setBoleto(SessionPaymentMethodOptionsBoleto value) { this.Boleto = value; return this; }
        public SessionPaymentMethodOptionsCard getCard() { return Card; }
        public SessionPaymentMethodOptions setCard(SessionPaymentMethodOptionsCard value) { this.Card = value; return this; }
        public SessionPaymentMethodOptionsCustomerBalance getCustomerBalance() { return CustomerBalance; }
        public SessionPaymentMethodOptions setCustomerBalance(SessionPaymentMethodOptionsCustomerBalance value) { this.CustomerBalance = value; return this; }
        public SessionPaymentMethodOptionsEps getEps() { return Eps; }
        public SessionPaymentMethodOptions setEps(SessionPaymentMethodOptionsEps value) { this.Eps = value; return this; }
        public SessionPaymentMethodOptionsFpx getFpx() { return Fpx; }
        public SessionPaymentMethodOptions setFpx(SessionPaymentMethodOptionsFpx value) { this.Fpx = value; return this; }
        public SessionPaymentMethodOptionsGiropay getGiropay() { return Giropay; }
        public SessionPaymentMethodOptions setGiropay(SessionPaymentMethodOptionsGiropay value) { this.Giropay = value; return this; }
        public SessionPaymentMethodOptionsGrabpay getGrabpay() { return Grabpay; }
        public SessionPaymentMethodOptions setGrabpay(SessionPaymentMethodOptionsGrabpay value) { this.Grabpay = value; return this; }
        public SessionPaymentMethodOptionsIdeal getIdeal() { return Ideal; }
        public SessionPaymentMethodOptions setIdeal(SessionPaymentMethodOptionsIdeal value) { this.Ideal = value; return this; }
        public SessionPaymentMethodOptionsKlarna getKlarna() { return Klarna; }
        public SessionPaymentMethodOptions setKlarna(SessionPaymentMethodOptionsKlarna value) { this.Klarna = value; return this; }
        public SessionPaymentMethodOptionsKonbini getKonbini() { return Konbini; }
        public SessionPaymentMethodOptions setKonbini(SessionPaymentMethodOptionsKonbini value) { this.Konbini = value; return this; }
        public SessionPaymentMethodOptionsOxxo getOxxo() { return Oxxo; }
        public SessionPaymentMethodOptions setOxxo(SessionPaymentMethodOptionsOxxo value) { this.Oxxo = value; return this; }
        public SessionPaymentMethodOptionsP24 getP24() { return P24; }
        public SessionPaymentMethodOptions setP24(SessionPaymentMethodOptionsP24 value) { this.P24 = value; return this; }
        public SessionPaymentMethodOptionsPaynow getPaynow() { return Paynow; }
        public SessionPaymentMethodOptions setPaynow(SessionPaymentMethodOptionsPaynow value) { this.Paynow = value; return this; }
        public SessionPaymentMethodOptionsPix getPix() { return Pix; }
        public SessionPaymentMethodOptions setPix(SessionPaymentMethodOptionsPix value) { this.Pix = value; return this; }
        public SessionPaymentMethodOptionsSepaDebit getSepaDebit() { return SepaDebit; }
        public SessionPaymentMethodOptions setSepaDebit(SessionPaymentMethodOptionsSepaDebit value) { this.SepaDebit = value; return this; }
        public SessionPaymentMethodOptionsSofort getSofort() { return Sofort; }
        public SessionPaymentMethodOptions setSofort(SessionPaymentMethodOptionsSofort value) { this.Sofort = value; return this; }
        public SessionPaymentMethodOptionsUsBankAccount getUsBankAccount() { return UsBankAccount; }
        public SessionPaymentMethodOptions setUsBankAccount(SessionPaymentMethodOptionsUsBankAccount value) { this.UsBankAccount = value; return this; }
    }

    public static class SessionPaymentMethodOptionsAcssDebit extends StripeEntity_1<SessionPaymentMethodOptionsAcssDebit>
    {
        public String Currency = null;
        public SessionPaymentMethodOptionsAcssDebitMandateOptions MandateOptions = null;
        public String SetupFutureUsage = null;
        public String VerificationMethod = null;
        
        public String getCurrency() { return Currency; }
        public SessionPaymentMethodOptionsAcssDebit setCurrency(String value) { this.Currency = value; return this; }
        public SessionPaymentMethodOptionsAcssDebitMandateOptions getMandateOptions() { return MandateOptions; }
        public SessionPaymentMethodOptionsAcssDebit setMandateOptions(SessionPaymentMethodOptionsAcssDebitMandateOptions value) { this.MandateOptions = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsAcssDebit setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
        public String getVerificationMethod() { return VerificationMethod; }
        public SessionPaymentMethodOptionsAcssDebit setVerificationMethod(String value) { this.VerificationMethod = value; return this; }
    }

    public static class SessionPaymentMethodOptionsAcssDebitMandateOptions extends StripeEntity_1<SessionPaymentMethodOptionsAcssDebitMandateOptions>
    {
        public String CustomMandateUrl = null;
        public ArrayList<String> DefaultFor = null;
        public String IntervalDescription = null;
        public String PaymentSchedule = null;
        public String TransactionType = null;
        
        public String getCustomMandateUrl() { return CustomMandateUrl; }
        public SessionPaymentMethodOptionsAcssDebitMandateOptions setCustomMandateUrl(String value) { this.CustomMandateUrl = value; return this; }
        public ArrayList<String> getDefaultFor() { return DefaultFor; }
        public SessionPaymentMethodOptionsAcssDebitMandateOptions setDefaultFor(ArrayList<String> value) { this.DefaultFor = value; return this; }
        public String getIntervalDescription() { return IntervalDescription; }
        public SessionPaymentMethodOptionsAcssDebitMandateOptions setIntervalDescription(String value) { this.IntervalDescription = value; return this; }
        public String getPaymentSchedule() { return PaymentSchedule; }
        public SessionPaymentMethodOptionsAcssDebitMandateOptions setPaymentSchedule(String value) { this.PaymentSchedule = value; return this; }
        public String getTransactionType() { return TransactionType; }
        public SessionPaymentMethodOptionsAcssDebitMandateOptions setTransactionType(String value) { this.TransactionType = value; return this; }
    }

    public static class SessionPaymentMethodOptionsAffirm extends StripeEntity_1<SessionPaymentMethodOptionsAffirm>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsAffirm setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsAfterpayClearpay extends StripeEntity_1<SessionPaymentMethodOptionsAfterpayClearpay>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsAfterpayClearpay setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsAlipay extends StripeEntity_1<SessionPaymentMethodOptionsAlipay>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsAlipay setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsAuBecsDebit extends StripeEntity_1<SessionPaymentMethodOptionsAuBecsDebit>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsAuBecsDebit setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsBacsDebit extends StripeEntity_1<SessionPaymentMethodOptionsBacsDebit>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsBacsDebit setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsBancontact extends StripeEntity_1<SessionPaymentMethodOptionsBancontact>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsBancontact setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsBoleto extends StripeEntity_1<SessionPaymentMethodOptionsBoleto>
    {
        public Long ExpiresAfterDays = null;
        public String SetupFutureUsage = null;
        
        public Long getExpiresAfterDays() { return ExpiresAfterDays; }
        public SessionPaymentMethodOptionsBoleto setExpiresAfterDays(Long value) { this.ExpiresAfterDays = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsBoleto setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsCard extends StripeEntity_1<SessionPaymentMethodOptionsCard>
    {
        public SessionPaymentMethodOptionsCardInstallments Installments = null;
        public String SetupFutureUsage = null;
        public String StatementDescriptorSuffixKana = null;
        public String StatementDescriptorSuffixKanji = null;
        
        public SessionPaymentMethodOptionsCardInstallments getInstallments() { return Installments; }
        public SessionPaymentMethodOptionsCard setInstallments(SessionPaymentMethodOptionsCardInstallments value) { this.Installments = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsCard setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
        public String getStatementDescriptorSuffixKana() { return StatementDescriptorSuffixKana; }
        public SessionPaymentMethodOptionsCard setStatementDescriptorSuffixKana(String value) { this.StatementDescriptorSuffixKana = value; return this; }
        public String getStatementDescriptorSuffixKanji() { return StatementDescriptorSuffixKanji; }
        public SessionPaymentMethodOptionsCard setStatementDescriptorSuffixKanji(String value) { this.StatementDescriptorSuffixKanji = value; return this; }
    }

    public static class SessionPaymentMethodOptionsCardInstallments extends StripeEntity_1<SessionPaymentMethodOptionsCardInstallments>
    {
        public Boolean Enabled = null;
        
        public Boolean isEnabled() { return Enabled; }
        public SessionPaymentMethodOptionsCardInstallments setEnabled(Boolean value) { this.Enabled = value; return this; }
    }

    public static class SessionPaymentMethodOptionsCustomerBalance extends StripeEntity_1<SessionPaymentMethodOptionsCustomerBalance>
    {
        public SessionPaymentMethodOptionsCustomerBalanceBankTransfer BankTransfer = null;
        public String FundingType = null;
        public String SetupFutureUsage = null;
        
        public SessionPaymentMethodOptionsCustomerBalanceBankTransfer getBankTransfer() { return BankTransfer; }
        public SessionPaymentMethodOptionsCustomerBalance setBankTransfer(SessionPaymentMethodOptionsCustomerBalanceBankTransfer value) { this.BankTransfer = value; return this; }
        public String getFundingType() { return FundingType; }
        public SessionPaymentMethodOptionsCustomerBalance setFundingType(String value) { this.FundingType = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsCustomerBalance setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsCustomerBalanceBankTransfer extends StripeEntity_1<SessionPaymentMethodOptionsCustomerBalanceBankTransfer>
    {
        public SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer EuBankTransfer = null;
        public ArrayList<String> RequestedAddressTypes = null;
        public String Type = null;
        
        public SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer getEuBankTransfer() { return EuBankTransfer; }
        public SessionPaymentMethodOptionsCustomerBalanceBankTransfer setEuBankTransfer(SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer value) { this.EuBankTransfer = value; return this; }
        public ArrayList<String> getRequestedAddressTypes() { return RequestedAddressTypes; }
        public SessionPaymentMethodOptionsCustomerBalanceBankTransfer setRequestedAddressTypes(ArrayList<String> value) { this.RequestedAddressTypes = value; return this; }
        public String getType() { return Type; }
        public SessionPaymentMethodOptionsCustomerBalanceBankTransfer setType(String value) { this.Type = value; return this; }
    }

    public static class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer extends StripeEntity_1<SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer>
    {
        public String Country = null;
        
        public String getCountry() { return Country; }
        public SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer setCountry(String value) { this.Country = value; return this; }
    }

    public static class SessionPaymentMethodOptionsEps extends StripeEntity_1<SessionPaymentMethodOptionsEps>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsEps setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsFpx extends StripeEntity_1<SessionPaymentMethodOptionsFpx>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsFpx setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsGiropay extends StripeEntity_1<SessionPaymentMethodOptionsGiropay>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsGiropay setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsGrabpay extends StripeEntity_1<SessionPaymentMethodOptionsGrabpay>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsGrabpay setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsIdeal extends StripeEntity_1<SessionPaymentMethodOptionsIdeal>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsIdeal setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsKlarna extends StripeEntity_1<SessionPaymentMethodOptionsKlarna>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsKlarna setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsKonbini extends StripeEntity_1<SessionPaymentMethodOptionsKonbini>
    {
        public Long ExpiresAfterDays = null;
        public String SetupFutureUsage = null;
        
        public Long getExpiresAfterDays() { return ExpiresAfterDays; }
        public SessionPaymentMethodOptionsKonbini setExpiresAfterDays(Long value) { this.ExpiresAfterDays = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsKonbini setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsOxxo extends StripeEntity_1<SessionPaymentMethodOptionsOxxo>
    {
        public Long ExpiresAfterDays = null;
        public String SetupFutureUsage = null;
        
        public Long getExpiresAfterDays() { return ExpiresAfterDays; }
        public SessionPaymentMethodOptionsOxxo setExpiresAfterDays(Long value) { this.ExpiresAfterDays = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsOxxo setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsP24 extends StripeEntity_1<SessionPaymentMethodOptionsP24>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsP24 setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsPaynow extends StripeEntity_1<SessionPaymentMethodOptionsPaynow>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsPaynow setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsPix extends StripeEntity_1<SessionPaymentMethodOptionsPix>
    {
        public Long ExpiresAfterSeconds = null;
        
        public Long getExpiresAfterSeconds() { return ExpiresAfterSeconds; }
        public SessionPaymentMethodOptionsPix setExpiresAfterSeconds(Long value) { this.ExpiresAfterSeconds = value; return this; }
    }

    public static class SessionPaymentMethodOptionsSepaDebit extends StripeEntity_1<SessionPaymentMethodOptionsSepaDebit>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsSepaDebit setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsSofort extends StripeEntity_1<SessionPaymentMethodOptionsSofort>
    {
        public String SetupFutureUsage = null;
        
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsSofort setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
    }

    public static class SessionPaymentMethodOptionsUsBankAccount extends StripeEntity_1<SessionPaymentMethodOptionsUsBankAccount>
    {
        public SessionPaymentMethodOptionsUsBankAccountFinancialConnections FinancialConnections = null;
        public String SetupFutureUsage = null;
        public String VerificationMethod = null;
        
        public SessionPaymentMethodOptionsUsBankAccountFinancialConnections getFinancialConnections() { return FinancialConnections; }
        public SessionPaymentMethodOptionsUsBankAccount setFinancialConnections(SessionPaymentMethodOptionsUsBankAccountFinancialConnections value) { this.FinancialConnections = value; return this; }
        public String getSetupFutureUsage() { return SetupFutureUsage; }
        public SessionPaymentMethodOptionsUsBankAccount setSetupFutureUsage(String value) { this.SetupFutureUsage = value; return this; }
        public String getVerificationMethod() { return VerificationMethod; }
        public SessionPaymentMethodOptionsUsBankAccount setVerificationMethod(String value) { this.VerificationMethod = value; return this; }
    }

    public static class SessionPaymentMethodOptionsUsBankAccountFinancialConnections extends StripeEntity_1<SessionPaymentMethodOptionsUsBankAccountFinancialConnections>
    {
        public ArrayList<String> Permissions = null;
        public String ReturnUrl = null;
        
        public ArrayList<String> getPermissions() { return Permissions; }
        public SessionPaymentMethodOptionsUsBankAccountFinancialConnections setPermissions(ArrayList<String> value) { this.Permissions = value; return this; }
        public String getReturnUrl() { return ReturnUrl; }
        public SessionPaymentMethodOptionsUsBankAccountFinancialConnections setReturnUrl(String value) { this.ReturnUrl = value; return this; }
    }

    public static class SessionPhoneNumberCollection extends StripeEntity_1<SessionPhoneNumberCollection>
    {
        public Boolean Enabled = null;
        
        public Boolean isEnabled() { return Enabled; }
        public SessionPhoneNumberCollection setEnabled(Boolean value) { this.Enabled = value; return this; }
    }

    public static class SessionShippingAddressCollection extends StripeEntity_1<SessionShippingAddressCollection>
    {
        public ArrayList<String> AllowedCountries = null;
        
        public ArrayList<String> getAllowedCountries() { return AllowedCountries; }
        public SessionShippingAddressCollection setAllowedCountries(ArrayList<String> value) { this.AllowedCountries = value; return this; }
    }

    public static class SessionShippingCost extends StripeEntity_1<SessionShippingCost>
    {
        public Long AmountSubtotal = null;
        public Long AmountTax = null;
        public Long AmountTotal = null;
        public ArrayList<SessionShippingCostTax> Taxes = null;
        
        public Long getAmountSubtotal() { return AmountSubtotal; }
        public SessionShippingCost setAmountSubtotal(Long value) { this.AmountSubtotal = value; return this; }
        public Long getAmountTax() { return AmountTax; }
        public SessionShippingCost setAmountTax(Long value) { this.AmountTax = value; return this; }
        public Long getAmountTotal() { return AmountTotal; }
        public SessionShippingCost setAmountTotal(Long value) { this.AmountTotal = value; return this; }
        public ArrayList<SessionShippingCostTax> getTaxes() { return Taxes; }
        public SessionShippingCost setTaxes(ArrayList<SessionShippingCostTax> value) { this.Taxes = value; return this; }
    }

    public static class SessionShippingCostTax extends StripeEntity_1<SessionShippingCostTax>
    {
        public Long Amount = null;
        public TaxRate Rate = null;
        
        public Long getAmount() { return Amount; }
        public SessionShippingCostTax setAmount(Long value) { this.Amount = value; return this; }
        public TaxRate getRate() { return Rate; }
        public SessionShippingCostTax setRate(TaxRate value) { this.Rate = value; return this; }
    }

    public static class SessionShippingDetails extends StripeEntity_1<SessionShippingDetails>
    {
        public Address Address = null;
        public String Carrier = null;
        public String Name = null;
        public String Phone = null;
        public String TrackingNumber = null;
        
        public Address getAddress() { return Address; }
        public SessionShippingDetails setAddress(Address value) { this.Address = value; return this; }
        public String getCarrier() { return Carrier; }
        public SessionShippingDetails setCarrier(String value) { this.Carrier = value; return this; }
        public String getName() { return Name; }
        public SessionShippingDetails setName(String value) { this.Name = value; return this; }
        public String getPhone() { return Phone; }
        public SessionShippingDetails setPhone(String value) { this.Phone = value; return this; }
        public String getTrackingNumber() { return TrackingNumber; }
        public SessionShippingDetails setTrackingNumber(String value) { this.TrackingNumber = value; return this; }
    }

    public static class SessionShippingOption extends StripeEntity_1<SessionShippingOption>
    {
        public Long ShippingAmount = null;
        
        public Long getShippingAmount() { return ShippingAmount; }
        public SessionShippingOption setShippingAmount(Long value) { this.ShippingAmount = value; return this; }
    }

    public static class SessionTaxIdCollection extends StripeEntity_1<SessionTaxIdCollection>
    {
        public Boolean Enabled = null;
        
        public Boolean isEnabled() { return Enabled; }
        public SessionTaxIdCollection setEnabled(Boolean value) { this.Enabled = value; return this; }
    }

    public static class SessionTotalDetails extends StripeEntity_1<SessionTotalDetails>
    {
        public Long AmountDiscount = null;
        public Long AmountShipping = null;
        public Long AmountTax = null;
        public SessionTotalDetailsBreakdown Breakdown = null;
        
        public Long getAmountDiscount() { return AmountDiscount; }
        public SessionTotalDetails setAmountDiscount(Long value) { this.AmountDiscount = value; return this; }
        public Long getAmountShipping() { return AmountShipping; }
        public SessionTotalDetails setAmountShipping(Long value) { this.AmountShipping = value; return this; }
        public Long getAmountTax() { return AmountTax; }
        public SessionTotalDetails setAmountTax(Long value) { this.AmountTax = value; return this; }
        public SessionTotalDetailsBreakdown getBreakdown() { return Breakdown; }
        public SessionTotalDetails setBreakdown(SessionTotalDetailsBreakdown value) { this.Breakdown = value; return this; }
    }

    public static class SessionTotalDetailsBreakdown extends StripeEntity_1<SessionTotalDetailsBreakdown>
    {
        public ArrayList<SessionTotalDetailsBreakdownDiscount> Discounts = null;
        public ArrayList<SessionTotalDetailsBreakdownTax> Taxes = null;
        
        public ArrayList<SessionTotalDetailsBreakdownDiscount> getDiscounts() { return Discounts; }
        public SessionTotalDetailsBreakdown setDiscounts(ArrayList<SessionTotalDetailsBreakdownDiscount> value) { this.Discounts = value; return this; }
        public ArrayList<SessionTotalDetailsBreakdownTax> getTaxes() { return Taxes; }
        public SessionTotalDetailsBreakdown setTaxes(ArrayList<SessionTotalDetailsBreakdownTax> value) { this.Taxes = value; return this; }
    }

    public static class SessionTotalDetailsBreakdownDiscount extends StripeEntity_1<SessionTotalDetailsBreakdownDiscount>
    {
        public Long Amount = null;
        public Discount Discount = null;
        
        public Long getAmount() { return Amount; }
        public SessionTotalDetailsBreakdownDiscount setAmount(Long value) { this.Amount = value; return this; }
        public Discount getDiscount() { return Discount; }
        public SessionTotalDetailsBreakdownDiscount setDiscount(Discount value) { this.Discount = value; return this; }
    }

    public static class SessionTotalDetailsBreakdownTax extends StripeEntity_1<SessionTotalDetailsBreakdownTax>
    {
        public Long Amount = null;
        public TaxRate Rate = null;
        
        public Long getAmount() { return Amount; }
        public SessionTotalDetailsBreakdownTax setAmount(Long value) { this.Amount = value; return this; }
        public TaxRate getRate() { return Rate; }
        public SessionTotalDetailsBreakdownTax setRate(TaxRate value) { this.Rate = value; return this; }
    }

}

Java GetStripeSession DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /stripe-session/{Id} HTTP/1.1 
Host: duengageapi.uat.scadsoftware.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Id":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{Unable to show example output for type 'Session' using the custom 'csv' filter}Exception has been thrown by the target of an invocation.