Class AppBillingInfo

    • Constructor Detail

      • AppBillingInfo

        public AppBillingInfo()
        Constructs a new empty instance.
      • AppBillingInfo

        protected AppBillingInfo​(boolean noInit)
        Constructs a new empty instance.
      • AppBillingInfo

        public AppBillingInfo​(JSONObject jsonObject)
        Construct a new instance backed by the given JSONObject, the parameter is not copied so changes to it will be reflected in this instance and vice-versa.
      • AppBillingInfo

        public AppBillingInfo​(AppBillingInfo src)
        Constructs a new instance that is a deep copy of the source instance. It does not copy the bundle or changelog.
    • Method Detail

      • getId

        public String getId()
        App UUID
      • getAppSubscription

        public AppSubscription getAppSubscription()
        Current subscription level of the merchant for this app
      • getIsInTrial

        public Boolean getIsInTrial()
        Returns true if the merchant is in trial for this app. Only valid for paid apps that offer trials. Trials apply to app metereds and app subscriptions
      • getBillable

        public Boolean getBillable()
        Returns false if there is an app suppression on this particular app for the merchant in context.
      • getAppBillable

        public Boolean getAppBillable()
        Returns false if all apps are non-billable for the merchant in context.
      • getPlanBillable

        public Boolean getPlanBillable()
        Returns false if plan fees are non-billable for the merchant in context.
      • getAppExportable

        public Boolean getAppExportable()
        Returns false if app charges are not exportable for the merchant in context.
      • getPlanExportable

        public Boolean getPlanExportable()
        Returns false if plan charges are not exportable for the merchant in context.
      • getBillingStartTime

        public Long getBillingStartTime()
        When the merchant's trial ends. Only valid for paid apps that offer trials
      • getStatus

        public MerchantBillingStatus getStatus()
        Returns INACTIVE if the merchant has been offboarded. Returns LAPSED if the merchant's account is not in good standing because charges to their bank account have been rejected. Returns SUPPRESSED if billing of this app for this merchant is suppressed. Returns ACTIVE otherwise (i.e. the merchant is an active Clover merchant, their account is in good standing, and billing is not suppressed for this app).
      • getDaysLapsed

        public Long getDaysLapsed()
        If the merchant's account is lapsed (i.e. merchant is behind on paying), the number of days since it lapsed
      • getJSONObject

        public JSONObject getJSONObject()
        Returns the internal JSONObject backing this instance, the return value is not a copy so changes to it will be reflected in this instance and vice-versa.
        Specified by:
        getJSONObject in interface JSONifiable
      • isNotNullId

        public boolean isNotNullId()
        Checks whether the 'id' field is set and is not null
      • isNotNullAppSubscription

        public boolean isNotNullAppSubscription()
        Checks whether the 'appSubscription' field is set and is not null
      • isNotNullIsInTrial

        public boolean isNotNullIsInTrial()
        Checks whether the 'isInTrial' field is set and is not null
      • isNotNullBillable

        public boolean isNotNullBillable()
        Checks whether the 'billable' field is set and is not null
      • isNotNullAppBillable

        public boolean isNotNullAppBillable()
        Checks whether the 'appBillable' field is set and is not null
      • isNotNullPlanBillable

        public boolean isNotNullPlanBillable()
        Checks whether the 'planBillable' field is set and is not null
      • isNotNullAppExportable

        public boolean isNotNullAppExportable()
        Checks whether the 'appExportable' field is set and is not null
      • isNotNullPlanExportable

        public boolean isNotNullPlanExportable()
        Checks whether the 'planExportable' field is set and is not null
      • isNotNullBillingStartTime

        public boolean isNotNullBillingStartTime()
        Checks whether the 'billingStartTime' field is set and is not null
      • isNotNullStatus

        public boolean isNotNullStatus()
        Checks whether the 'status' field is set and is not null
      • isNotNullDaysLapsed

        public boolean isNotNullDaysLapsed()
        Checks whether the 'daysLapsed' field is set and is not null
      • hasId

        public boolean hasId()
        Checks whether the 'id' field has been set, however the value could be null
      • hasAppSubscription

        public boolean hasAppSubscription()
        Checks whether the 'appSubscription' field has been set, however the value could be null
      • hasIsInTrial

        public boolean hasIsInTrial()
        Checks whether the 'isInTrial' field has been set, however the value could be null
      • hasBillable

        public boolean hasBillable()
        Checks whether the 'billable' field has been set, however the value could be null
      • hasAppBillable

        public boolean hasAppBillable()
        Checks whether the 'appBillable' field has been set, however the value could be null
      • hasPlanBillable

        public boolean hasPlanBillable()
        Checks whether the 'planBillable' field has been set, however the value could be null
      • hasAppExportable

        public boolean hasAppExportable()
        Checks whether the 'appExportable' field has been set, however the value could be null
      • hasPlanExportable

        public boolean hasPlanExportable()
        Checks whether the 'planExportable' field has been set, however the value could be null
      • hasBillingStartTime

        public boolean hasBillingStartTime()
        Checks whether the 'billingStartTime' field has been set, however the value could be null
      • hasStatus

        public boolean hasStatus()
        Checks whether the 'status' field has been set, however the value could be null
      • hasDaysLapsed

        public boolean hasDaysLapsed()
        Checks whether the 'daysLapsed' field has been set, however the value could be null
      • setAppSubscription

        public AppBillingInfo setAppSubscription​(AppSubscription appSubscription)
        Sets the field 'appSubscription'. The parameter is not copied so changes to it will be reflected in this instance and vice-versa.
      • setAppBillable

        public AppBillingInfo setAppBillable​(Boolean appBillable)
        Sets the field 'appBillable'.
      • setPlanBillable

        public AppBillingInfo setPlanBillable​(Boolean planBillable)
        Sets the field 'planBillable'.
      • setAppExportable

        public AppBillingInfo setAppExportable​(Boolean appExportable)
        Sets the field 'appExportable'.
      • setPlanExportable

        public AppBillingInfo setPlanExportable​(Boolean planExportable)
        Sets the field 'planExportable'.
      • setBillingStartTime

        public AppBillingInfo setBillingStartTime​(Long billingStartTime)
        Sets the field 'billingStartTime'.
      • setDaysLapsed

        public AppBillingInfo setDaysLapsed​(Long daysLapsed)
        Sets the field 'daysLapsed'.
      • clearId

        public void clearId()
        Clears the 'id' field, the 'has' method for this field will now return false
      • clearAppSubscription

        public void clearAppSubscription()
        Clears the 'appSubscription' field, the 'has' method for this field will now return false
      • clearIsInTrial

        public void clearIsInTrial()
        Clears the 'isInTrial' field, the 'has' method for this field will now return false
      • clearBillable

        public void clearBillable()
        Clears the 'billable' field, the 'has' method for this field will now return false
      • clearAppBillable

        public void clearAppBillable()
        Clears the 'appBillable' field, the 'has' method for this field will now return false
      • clearPlanBillable

        public void clearPlanBillable()
        Clears the 'planBillable' field, the 'has' method for this field will now return false
      • clearAppExportable

        public void clearAppExportable()
        Clears the 'appExportable' field, the 'has' method for this field will now return false
      • clearPlanExportable

        public void clearPlanExportable()
        Clears the 'planExportable' field, the 'has' method for this field will now return false
      • clearBillingStartTime

        public void clearBillingStartTime()
        Clears the 'billingStartTime' field, the 'has' method for this field will now return false
      • clearStatus

        public void clearStatus()
        Clears the 'status' field, the 'has' method for this field will now return false
      • clearDaysLapsed

        public void clearDaysLapsed()
        Clears the 'daysLapsed' field, the 'has' method for this field will now return false
      • containsChanges

        public boolean containsChanges()
        Returns true if this instance has any changes.
      • resetChangeLog

        public void resetChangeLog()
        Reset the log of changes made to this instance, calling copyChanges() after this would return an empty instance.
      • copyChanges

        public AppBillingInfo copyChanges()
        Create a copy of this instance that contains only fields that were set after the constructor was called.
      • mergeChanges

        public void mergeChanges​(AppBillingInfo src)
        Copy all the changed fields from the given source to this instance.