All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.recurly.v3.requests.SubscriptionUpdate Maven / Gradle / Ivy

There is a newer version: 4.58.0
Show newest version
/**
 * This file is automatically created by Recurly's OpenAPI generation process and thus any edits you
 * make by hand will be lost. If you wish to make a change to this file, please create a Github
 * issue explaining the changes you need and we will usher them to the appropriate places.
 */
package com.recurly.v3.requests;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.recurly.v3.Constants;
import com.recurly.v3.Request;
import com.recurly.v3.resources.*;
import java.util.List;
import org.joda.time.DateTime;

public class SubscriptionUpdate extends Request {

  /** Whether the subscription renews at the end of its term. */
  @SerializedName("auto_renew")
  @Expose
  private Boolean autoRenew;

  /**
   * The `billing_info_id` is the value that represents a specific billing info for an end customer.
   * When `billing_info_id` is used to assign billing info to the subscription, all future billing
   * events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY
   * be used for sites utilizing the Wallet feature.
   */
  @SerializedName("billing_info_id")
  @Expose
  private String billingInfoId;

  /** Change collection method */
  @SerializedName("collection_method")
  @Expose
  private Constants.CollectionMethod collectionMethod;

  /**
   * The custom fields will only be altered when they are included in a request. Sending an empty
   * array will not remove any existing values. To remove a field send the name with a null or empty
   * value.
   */
  @SerializedName("custom_fields")
  @Expose
  private List customFields;

  /**
   * Specify custom notes to add or override Customer Notes. Custom notes will stay with a
   * subscription on all renewals.
   */
  @SerializedName("customer_notes")
  @Expose
  private String customerNotes;

  /** If present, this subscription's transactions will use the payment gateway with this code. */
  @SerializedName("gateway_code")
  @Expose
  private String gatewayCode;

  /**
   * Integer paired with `Net Terms Type` and representing the number of days past the current date
   * (for `net` Net Terms Type) or days after the last day of the current month (for `eom` Net Terms
   * Type) that the invoice will become past due. For `manual` collection method, an additional 24
   * hours is added to ensure the customer has the entire last day to make payment before becoming
   * past due. For example:
   *
   * 

If an invoice is due `net 0`, it is due 'On Receipt' and will become past due 24 hours after * it's created. If an invoice is due `net 30`, it will become past due at 31 days exactly. If an * invoice is due `eom 30`, it will become past due 31 days from the last day of the current * month. * *

For `automatic` collection method, the additional 24 hours is not added. For example, * On-Receipt is due immediately, and `net 30` will become due exactly 30 days from invoice * generation, at which point Recurly will attempt collection. When `eom` Net Terms Type is * passed, the value for `Net Terms` is restricted to `0, 15, 30, 45, 60, or 90`. * *

For more information on how net terms work with `manual` collection visit our docs page * (https://docs.recurly.com/docs/manual-payments#section-collection-terms) or visit * (https://docs.recurly.com/docs/automatic-invoicing-terms#section-collection-terms) for * information about net terms using `automatic` collection. */ @SerializedName("net_terms") @Expose private Integer netTerms; /** * Optionally supplied string that may be either `net` or `eom` (end-of-month). When `net`, an * invoice becomes past due the specified number of `Net Terms` days from the current date. When * `eom` an invoice becomes past due the specified number of `Net Terms` days from the last day of * the current month. */ @SerializedName("net_terms_type") @Expose private Constants.NetTermsType netTermsType; /** * If present, this sets the date the subscription's next billing period will start * (`current_period_ends_at`). This can be used to align the subscription’s billing to a specific * day of the month. For a subscription in a trial period, this will change when the trial * expires. This parameter is useful for postponement of a subscription to change its billing date * without proration. */ @SerializedName("next_bill_date") @Expose private DateTime nextBillDate; /** For manual invoicing, this identifies the PO number associated with the subscription. */ @SerializedName("po_number") @Expose private String poNumber; /** The remaining billing cycles in the current term. */ @SerializedName("remaining_billing_cycles") @Expose private Integer remainingBillingCycles; /** * If `auto_renew=true`, when a term completes, `total_billing_cycles` takes this value as the * length of subsequent terms. Defaults to the plan's `total_billing_cycles`. */ @SerializedName("renewal_billing_cycles") @Expose private Integer renewalBillingCycles; /** Revenue schedule type */ @SerializedName("revenue_schedule_type") @Expose private Constants.RevenueScheduleType revenueScheduleType; /** Subscription shipping details */ @SerializedName("shipping") @Expose private SubscriptionShippingUpdate shipping; /** This field is deprecated. Please do not use it. */ @SerializedName("tax_inclusive") @Expose private Boolean taxInclusive; /** * Specify custom notes to add or override Terms and Conditions. Custom notes will stay with a * subscription on all renewals. */ @SerializedName("terms_and_conditions") @Expose private String termsAndConditions; /** Whether the subscription renews at the end of its term. */ public Boolean getAutoRenew() { return this.autoRenew; } /** @param autoRenew Whether the subscription renews at the end of its term. */ public void setAutoRenew(final Boolean autoRenew) { this.autoRenew = autoRenew; } /** * The `billing_info_id` is the value that represents a specific billing info for an end customer. * When `billing_info_id` is used to assign billing info to the subscription, all future billing * events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY * be used for sites utilizing the Wallet feature. */ public String getBillingInfoId() { return this.billingInfoId; } /** * @param billingInfoId The `billing_info_id` is the value that represents a specific billing info * for an end customer. When `billing_info_id` is used to assign billing info to the * subscription, all future billing events for the subscription will bill to the specified * billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature. */ public void setBillingInfoId(final String billingInfoId) { this.billingInfoId = billingInfoId; } /** Change collection method */ public Constants.CollectionMethod getCollectionMethod() { return this.collectionMethod; } /** @param collectionMethod Change collection method */ public void setCollectionMethod(final Constants.CollectionMethod collectionMethod) { this.collectionMethod = collectionMethod; } /** * The custom fields will only be altered when they are included in a request. Sending an empty * array will not remove any existing values. To remove a field send the name with a null or empty * value. */ public List getCustomFields() { return this.customFields; } /** * @param customFields The custom fields will only be altered when they are included in a request. * Sending an empty array will not remove any existing values. To remove a field send the name * with a null or empty value. */ public void setCustomFields(final List customFields) { this.customFields = customFields; } /** * Specify custom notes to add or override Customer Notes. Custom notes will stay with a * subscription on all renewals. */ public String getCustomerNotes() { return this.customerNotes; } /** * @param customerNotes Specify custom notes to add or override Customer Notes. Custom notes will * stay with a subscription on all renewals. */ public void setCustomerNotes(final String customerNotes) { this.customerNotes = customerNotes; } /** If present, this subscription's transactions will use the payment gateway with this code. */ public String getGatewayCode() { return this.gatewayCode; } /** * @param gatewayCode If present, this subscription's transactions will use the payment gateway * with this code. */ public void setGatewayCode(final String gatewayCode) { this.gatewayCode = gatewayCode; } /** * Integer paired with `Net Terms Type` and representing the number of days past the current date * (for `net` Net Terms Type) or days after the last day of the current month (for `eom` Net Terms * Type) that the invoice will become past due. For `manual` collection method, an additional 24 * hours is added to ensure the customer has the entire last day to make payment before becoming * past due. For example: * *

If an invoice is due `net 0`, it is due 'On Receipt' and will become past due 24 hours after * it's created. If an invoice is due `net 30`, it will become past due at 31 days exactly. If an * invoice is due `eom 30`, it will become past due 31 days from the last day of the current * month. * *

For `automatic` collection method, the additional 24 hours is not added. For example, * On-Receipt is due immediately, and `net 30` will become due exactly 30 days from invoice * generation, at which point Recurly will attempt collection. When `eom` Net Terms Type is * passed, the value for `Net Terms` is restricted to `0, 15, 30, 45, 60, or 90`. * *

For more information on how net terms work with `manual` collection visit our docs page * (https://docs.recurly.com/docs/manual-payments#section-collection-terms) or visit * (https://docs.recurly.com/docs/automatic-invoicing-terms#section-collection-terms) for * information about net terms using `automatic` collection. */ public Integer getNetTerms() { return this.netTerms; } /** * @param netTerms Integer paired with `Net Terms Type` and representing the number of days past * the current date (for `net` Net Terms Type) or days after the last day of the current month * (for `eom` Net Terms Type) that the invoice will become past due. For `manual` collection * method, an additional 24 hours is added to ensure the customer has the entire last day to * make payment before becoming past due. For example: *

If an invoice is due `net 0`, it is due 'On Receipt' and will become past due 24 hours * after it's created. If an invoice is due `net 30`, it will become past due at 31 days * exactly. If an invoice is due `eom 30`, it will become past due 31 days from the last day * of the current month. *

For `automatic` collection method, the additional 24 hours is not added. For example, * On-Receipt is due immediately, and `net 30` will become due exactly 30 days from invoice * generation, at which point Recurly will attempt collection. When `eom` Net Terms Type is * passed, the value for `Net Terms` is restricted to `0, 15, 30, 45, 60, or 90`. *

For more information on how net terms work with `manual` collection visit our docs page * (https://docs.recurly.com/docs/manual-payments#section-collection-terms) or visit * (https://docs.recurly.com/docs/automatic-invoicing-terms#section-collection-terms) for * information about net terms using `automatic` collection. */ public void setNetTerms(final Integer netTerms) { this.netTerms = netTerms; } /** * Optionally supplied string that may be either `net` or `eom` (end-of-month). When `net`, an * invoice becomes past due the specified number of `Net Terms` days from the current date. When * `eom` an invoice becomes past due the specified number of `Net Terms` days from the last day of * the current month. */ public Constants.NetTermsType getNetTermsType() { return this.netTermsType; } /** * @param netTermsType Optionally supplied string that may be either `net` or `eom` * (end-of-month). When `net`, an invoice becomes past due the specified number of `Net Terms` * days from the current date. When `eom` an invoice becomes past due the specified number of * `Net Terms` days from the last day of the current month. */ public void setNetTermsType(final Constants.NetTermsType netTermsType) { this.netTermsType = netTermsType; } /** * If present, this sets the date the subscription's next billing period will start * (`current_period_ends_at`). This can be used to align the subscription’s billing to a specific * day of the month. For a subscription in a trial period, this will change when the trial * expires. This parameter is useful for postponement of a subscription to change its billing date * without proration. */ public DateTime getNextBillDate() { return this.nextBillDate; } /** * @param nextBillDate If present, this sets the date the subscription's next billing period will * start (`current_period_ends_at`). This can be used to align the subscription’s billing to a * specific day of the month. For a subscription in a trial period, this will change when the * trial expires. This parameter is useful for postponement of a subscription to change its * billing date without proration. */ public void setNextBillDate(final DateTime nextBillDate) { this.nextBillDate = nextBillDate; } /** For manual invoicing, this identifies the PO number associated with the subscription. */ public String getPoNumber() { return this.poNumber; } /** * @param poNumber For manual invoicing, this identifies the PO number associated with the * subscription. */ public void setPoNumber(final String poNumber) { this.poNumber = poNumber; } /** The remaining billing cycles in the current term. */ public Integer getRemainingBillingCycles() { return this.remainingBillingCycles; } /** @param remainingBillingCycles The remaining billing cycles in the current term. */ public void setRemainingBillingCycles(final Integer remainingBillingCycles) { this.remainingBillingCycles = remainingBillingCycles; } /** * If `auto_renew=true`, when a term completes, `total_billing_cycles` takes this value as the * length of subsequent terms. Defaults to the plan's `total_billing_cycles`. */ public Integer getRenewalBillingCycles() { return this.renewalBillingCycles; } /** * @param renewalBillingCycles If `auto_renew=true`, when a term completes, `total_billing_cycles` * takes this value as the length of subsequent terms. Defaults to the plan's * `total_billing_cycles`. */ public void setRenewalBillingCycles(final Integer renewalBillingCycles) { this.renewalBillingCycles = renewalBillingCycles; } /** Revenue schedule type */ public Constants.RevenueScheduleType getRevenueScheduleType() { return this.revenueScheduleType; } /** @param revenueScheduleType Revenue schedule type */ public void setRevenueScheduleType(final Constants.RevenueScheduleType revenueScheduleType) { this.revenueScheduleType = revenueScheduleType; } /** Subscription shipping details */ public SubscriptionShippingUpdate getShipping() { return this.shipping; } /** @param shipping Subscription shipping details */ public void setShipping(final SubscriptionShippingUpdate shipping) { this.shipping = shipping; } /** This field is deprecated. Please do not use it. */ public Boolean getTaxInclusive() { return this.taxInclusive; } /** @param taxInclusive This field is deprecated. Please do not use it. */ public void setTaxInclusive(final Boolean taxInclusive) { this.taxInclusive = taxInclusive; } /** * Specify custom notes to add or override Terms and Conditions. Custom notes will stay with a * subscription on all renewals. */ public String getTermsAndConditions() { return this.termsAndConditions; } /** * @param termsAndConditions Specify custom notes to add or override Terms and Conditions. Custom * notes will stay with a subscription on all renewals. */ public void setTermsAndConditions(final String termsAndConditions) { this.termsAndConditions = termsAndConditions; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy