diff --git a/CHANGELOG.md b/CHANGELOG.md
index 31530249..b60b4903 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,40 @@
+### v3.49.0 (2026-06-12)
+* * *
+### New Resources:
+- [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks) has been added.
+- [`LedgerAccountBalance`](https://apidocs.chargebee.com/docs/api/ledger_account_balances) has been added.
+- [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations) has been added.
+- [`PromotionalGrant`](https://apidocs.chargebee.com/docs/api/promotional_grants) has been added.
+
+
+### New Attributes:
+- [`notes`](https://apidocs.chargebee.com/docs/api/credit_notes/credit-note-object#notes) has been added to [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
+- [`layout`](https://apidocs.chargebee.com/docs/api/hosted_pages/hosted-page-object#layout) has been added to [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages).
+
+
+### New Parameters:
+- [`sort_by`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions/list-omnichannel-subscriptions#sort_by) has been added as query parameter to [`list_omnichannel_subscriptions`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions/list-omnichannel-subscriptions) in [`OmnichannelSubscription`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions).
+
+
+### New Enums:
+- `available`, `exhausted`, `scheduled`, and `in_grace_period` have been added as new values enum `Status`.
+- `subscription_created`, `subscription_changed`, `top_up`, `promotional_grants`, and `rollover` have been added as new values to enum attribute [`grant_source`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#grant_source) in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks).
+- `provisioned` and `overdraft` have been added as new values to enum attribute [`account_type`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#account_type) in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks).
+- `credit_unit` has been added as a new value to enum attribute [`unit_type`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#unit_type) in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks).
+- `credit_unit` has been added as a new value to enum attribute [`unit_type`](https://apidocs.chargebee.com/docs/api/ledger_account_balances/ledger-account-balance-object#unit_type) in [`LedgerAccountBalance`](https://apidocs.chargebee.com/docs/api/ledger_account_balances).
+- `allocation`, `capture`, `authorize`, `release_authorization`, `capture_authorization`, `expiry`, `void`, `rollover`, and `adjustment` have been added as new values to enum attribute [`type`](https://apidocs.chargebee.com/docs/api/ledger_operations/ledger-operation-object#type) in [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
+- `credit_unit` has been added as a new value to enum attribute [`unit_type`](https://apidocs.chargebee.com/docs/api/ledger_operations/ledger-operation-object#unit_type) in [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
+- `expires_at`, `created_at`, and `effective_from` have been added as new values to enum query parameter `sort_by.asc` in [`list_grant_blocks`](https://apidocs.chargebee.com/docs/api/grant_blocks/list-grant-blocks) of [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks).
+- `expires_at`, `created_at`, and `effective_from` have been added as new values to enum query parameter `sort_by.desc` in [`list_grant_blocks`](https://apidocs.chargebee.com/docs/api/grant_blocks/list-grant-blocks) of [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks).
+- `allocation`, `release_authorization`, `void`, `capture`, `rollover`, `adjustment`, `expiry`, `authorize`, and `capture_authorization` have been added as new values to enum query parameter `type.is` in [`list_ledger_operations`](https://apidocs.chargebee.com/docs/api/ledger_operations/list-ledger-operations) of [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
+- `allocation`, `release_authorization`, `void`, `capture`, `rollover`, `adjustment`, `expiry`, `authorize`, and `capture_authorization` have been added as new values to enum query parameter `type.in` in [`list_ledger_operations`](https://apidocs.chargebee.com/docs/api/ledger_operations/list-ledger-operations) of [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
+- `created_at` has been added as a new value to enum query parameter `sort_by.asc` in [`list_ledger_operations`](https://apidocs.chargebee.com/docs/api/ledger_operations/list-ledger-operations) of [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
+- `created_at` has been added as a new value to enum query parameter `sort_by.desc` in [`list_ledger_operations`](https://apidocs.chargebee.com/docs/api/ledger_operations/list-ledger-operations) of [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
+- `updated_at` and `created_at` have been added as new values to enum query parameter `sort_by.asc` in [`list_omnichannel_subscriptions`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions/list-omnichannel-subscriptions) of [`OmnichannelSubscription`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions).
+- `updated_at` and `created_at` have been added as new values to enum query parameter `sort_by.desc` in [`list_omnichannel_subscriptions`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions/list-omnichannel-subscriptions) of [`OmnichannelSubscription`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions).
+
+
+
### v3.48.0 (2026-06-08)
* * *
### New Attributes:
diff --git a/VERSION b/VERSION
index 7dd5eda8..549b777e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.48.0
+3.49.0
diff --git a/pom.xml b/pom.xml
index 4942c033..eaa84522 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.chargebee
chargebee-java
- 3.48.0
+ 3.49.0
jar
diff --git a/src/main/java/com/chargebee/Environment.java b/src/main/java/com/chargebee/Environment.java
index 54976245..792a93d3 100644
--- a/src/main/java/com/chargebee/Environment.java
+++ b/src/main/java/com/chargebee/Environment.java
@@ -38,7 +38,7 @@ public class Environment {
public static final String API_VERSION = "v2";
- public static final String LIBRARY_VERSION = "3.48.0";
+ public static final String LIBRARY_VERSION = "3.49.0";
private final String apiBaseUrl;
diff --git a/src/main/java/com/chargebee/internal/ResultBase.java b/src/main/java/com/chargebee/internal/ResultBase.java
index d8e530f2..f99cee64 100644
--- a/src/main/java/com/chargebee/internal/ResultBase.java
+++ b/src/main/java/com/chargebee/internal/ResultBase.java
@@ -404,6 +404,22 @@ public AlertStatus alertStatus() {
return (AlertStatus)get("alert_status");
}
+ public LedgerAccountBalance ledgerAccountBalance() {
+ return (LedgerAccountBalance)get("ledger_account_balance");
+ }
+
+ public LedgerOperation ledgerOperation() {
+ return (LedgerOperation)get("ledger_operation");
+ }
+
+ public GrantBlock grantBlock() {
+ return (GrantBlock)get("grant_block");
+ }
+
+ public PromotionalGrant promotionalGrant() {
+ return (PromotionalGrant)get("promotional_grant");
+ }
+
public ImpactedCustomer impactedCustomer() {
return (ImpactedCustomer)get("impacted_customer");
}
@@ -456,6 +472,14 @@ public List personalizedOffers() {
return (List) getList("personalized_offers", "personalized_offer");
}
+ public List ledgerOperations() {
+ return (List) getList("ledger_operations", "ledger_operation");
+ }
+
+ public List grantBlocks() {
+ return (List) getList("grant_blocks", "grant_block");
+ }
+
private List extends Resource> getList(String pluralName, String singularName) {
JSONArray listModels = jsonObj.optJSONArray(pluralName);
diff --git a/src/main/java/com/chargebee/models/CreditNote.java b/src/main/java/com/chargebee/models/CreditNote.java
index 18e6dca4..fb2019f9 100644
--- a/src/main/java/com/chargebee/models/CreditNote.java
+++ b/src/main/java/com/chargebee/models/CreditNote.java
@@ -842,6 +842,10 @@ public Long fractionalCorrection() {
return optLong("fractional_correction");
}
+ public List notes() {
+ return optList("notes", String.class);
+ }
+
public List lineItems() {
return optList("line_items", CreditNote.LineItem.class);
}
diff --git a/src/main/java/com/chargebee/models/GrantBlock.java b/src/main/java/com/chargebee/models/GrantBlock.java
new file mode 100644
index 00000000..0a8298eb
--- /dev/null
+++ b/src/main/java/com/chargebee/models/GrantBlock.java
@@ -0,0 +1,189 @@
+package com.chargebee.models;
+
+import com.chargebee.*;
+import com.chargebee.internal.*;
+import com.chargebee.filters.*;
+import com.chargebee.filters.enums.SortOrder;
+import com.chargebee.internal.HttpUtil.Method;
+import com.chargebee.models.enums.*;
+import org.json.*;
+import java.io.*;
+import java.sql.Timestamp;
+import java.util.*;
+
+public class GrantBlock extends Resource {
+
+ public enum GrantSource {
+ SUBSCRIPTION_CREATED,
+ SUBSCRIPTION_CHANGED,
+ TOP_UP,
+ PROMOTIONAL_GRANTS,
+ ROLLOVER,
+ _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
+ java-client version incompatibility. We suggest you to upgrade to the latest version */
+ }
+
+ public enum AccountType {
+ PROVISIONED,
+ OVERDRAFT,
+ _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
+ java-client version incompatibility. We suggest you to upgrade to the latest version */
+ }
+
+ public enum UnitType {
+ CREDIT_UNIT,
+ _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
+ java-client version incompatibility. We suggest you to upgrade to the latest version */
+ }
+
+ //Constructors
+ //============
+
+ public GrantBlock(String jsonStr) {
+ super(jsonStr);
+ }
+
+ public GrantBlock(JSONObject jsonObj) {
+ super(jsonObj);
+ }
+
+ // Fields
+ //=======
+
+ public String id() {
+ return reqString("id");
+ }
+
+ public String grantedAmount() {
+ return reqString("granted_amount");
+ }
+
+ public Timestamp effectiveFrom() {
+ return reqTimestamp("effective_from");
+ }
+
+ public Timestamp expiresAt() {
+ return reqTimestamp("expires_at");
+ }
+
+ public String balance() {
+ return reqString("balance");
+ }
+
+ public String holdAmount() {
+ return reqString("hold_amount");
+ }
+
+ public String usedAmount() {
+ return reqString("used_amount");
+ }
+
+ public String expiredAmount() {
+ return reqString("expired_amount");
+ }
+
+ public String rolledOverAmount() {
+ return reqString("rolled_over_amount");
+ }
+
+ public String voidedAmount() {
+ return reqString("voided_amount");
+ }
+
+ public String originGrantBlockId() {
+ return optString("origin_grant_block_id");
+ }
+
+ public Status status() {
+ return reqEnum("status", Status.class);
+ }
+
+ public String metadata() {
+ return optString("metadata");
+ }
+
+ public GrantSource grantSource() {
+ return reqEnum("grant_source", GrantSource.class);
+ }
+
+ public Timestamp createdAt() {
+ return optTimestamp("created_at");
+ }
+
+ public AccountType accountType() {
+ return optEnum("account_type", AccountType.class);
+ }
+
+ public String unitId() {
+ return optString("unit_id");
+ }
+
+ public UnitType unitType() {
+ return optEnum("unit_type", UnitType.class);
+ }
+
+ // Operations
+ //===========
+
+ public static GrantBlockListGrantBlocksRequest listGrantBlocks() {
+ String uri = uri("grant_blocks");
+ return new GrantBlockListGrantBlocksRequest(uri);
+ }
+
+
+ // Operation Request Classes
+ //==========================
+
+ public static class GrantBlockListGrantBlocksRequest extends ListRequest {
+
+ private GrantBlockListGrantBlocksRequest(String uri) {
+ super(uri);
+ }
+
+ public StringFilter subscriptionId() {
+ return new StringFilter("subscription_id",this);
+ }
+
+
+ public StringFilter unitId() {
+ return new StringFilter("unit_id",this);
+ }
+
+
+ public TimestampFilter effectiveFrom() {
+ return new TimestampFilter("effective_from",this);
+ }
+
+
+ public TimestampFilter expiresAt() {
+ return new TimestampFilter("expires_at",this);
+ }
+
+
+ public TimestampFilter createdAt() {
+ return new TimestampFilter("created_at",this);
+ }
+
+
+ public GrantBlockListGrantBlocksRequest sortByEffectiveFrom(SortOrder order) {
+ params.addOpt("sort_by["+order.name().toLowerCase()+"]","effective_from");
+ return this;
+ }
+ public GrantBlockListGrantBlocksRequest sortByExpiresAt(SortOrder order) {
+ params.addOpt("sort_by["+order.name().toLowerCase()+"]","expires_at");
+ return this;
+ }
+ public GrantBlockListGrantBlocksRequest sortByCreatedAt(SortOrder order) {
+ params.addOpt("sort_by["+order.name().toLowerCase()+"]","created_at");
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+}
diff --git a/src/main/java/com/chargebee/models/HostedPage.java b/src/main/java/com/chargebee/models/HostedPage.java
index 67a8117a..ea0f82f3 100644
--- a/src/main/java/com/chargebee/models/HostedPage.java
+++ b/src/main/java/com/chargebee/models/HostedPage.java
@@ -18,6 +18,7 @@ public enum Type {
CHECKOUT_EXISTING,
@Deprecated
UPDATE_CARD,
+ @Deprecated
UPDATE_PAYMENT_METHOD,
MANAGE_PAYMENT_SOURCES,
COLLECT_NOW,
@@ -103,6 +104,10 @@ public Timestamp expiresAt() {
return optTimestamp("expires_at");
}
+ public Layout layout() {
+ return optEnum("layout", Layout.class);
+ }
+
public Timestamp updatedAt() {
return optTimestamp("updated_at");
}
@@ -158,6 +163,7 @@ public static UpdateCardRequest updateCard() {
return new UpdateCardRequest(Method.POST, uri);
}
+ @Deprecated
public static UpdatePaymentMethodRequest updatePaymentMethod() {
String uri = uri("hosted_pages", "update_payment_method");
return new UpdatePaymentMethodRequest(Method.POST, uri);
diff --git a/src/main/java/com/chargebee/models/LedgerAccountBalance.java b/src/main/java/com/chargebee/models/LedgerAccountBalance.java
new file mode 100644
index 00000000..7db0b799
--- /dev/null
+++ b/src/main/java/com/chargebee/models/LedgerAccountBalance.java
@@ -0,0 +1,145 @@
+package com.chargebee.models;
+
+import com.chargebee.*;
+import com.chargebee.internal.*;
+import com.chargebee.filters.*;
+import com.chargebee.filters.enums.SortOrder;
+import com.chargebee.internal.HttpUtil.Method;
+import com.chargebee.models.enums.*;
+import org.json.*;
+import java.io.*;
+import java.sql.Timestamp;
+import java.util.*;
+
+public class LedgerAccountBalance extends Resource {
+
+ public enum UnitType {
+ CREDIT_UNIT,
+ _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
+ java-client version incompatibility. We suggest you to upgrade to the latest version */
+ }
+
+ public static class ProvisionedBalance extends Resource {
+ public ProvisionedBalance(JSONObject jsonObj) {
+ super(jsonObj);
+ }
+
+ public String totalBalance() {
+ return reqString("total_balance");
+ }
+
+ public String usableBalance() {
+ return reqString("usable_balance");
+ }
+
+ public String holdAmount() {
+ return reqString("hold_amount");
+ }
+
+ }
+
+ public static class OverdraftBalance extends Resource {
+ public OverdraftBalance(JSONObject jsonObj) {
+ super(jsonObj);
+ }
+
+ public Boolean isUnlimited() {
+ return reqBoolean("is_unlimited");
+ }
+
+ public String limit() {
+ return optString("limit");
+ }
+
+ public String totalBalance() {
+ return optString("total_balance");
+ }
+
+ public String usableBalance() {
+ return optString("usable_balance");
+ }
+
+ public String usedAmount() {
+ return reqString("used_amount");
+ }
+
+ public String holdAmount() {
+ return reqString("hold_amount");
+ }
+
+ }
+
+ //Constructors
+ //============
+
+ public LedgerAccountBalance(String jsonStr) {
+ super(jsonStr);
+ }
+
+ public LedgerAccountBalance(JSONObject jsonObj) {
+ super(jsonObj);
+ }
+
+ // Fields
+ //=======
+
+ public String subscriptionId() {
+ return reqString("subscription_id");
+ }
+
+ public String unitId() {
+ return reqString("unit_id");
+ }
+
+ public UnitType unitType() {
+ return reqEnum("unit_type", UnitType.class);
+ }
+
+ public Timestamp modifiedAt() {
+ return optTimestamp("modified_at");
+ }
+
+ public LedgerAccountBalance.ProvisionedBalance provisionedBalance() {
+ return optSubResource("provisioned_balance", LedgerAccountBalance.ProvisionedBalance.class);
+ }
+
+ public LedgerAccountBalance.OverdraftBalance overdraftBalance() {
+ return optSubResource("overdraft_balance", LedgerAccountBalance.OverdraftBalance.class);
+ }
+
+ // Operations
+ //===========
+
+ public static LedgerAccountBalanceListLedgerAccountBalancesRequest listLedgerAccountBalances() {
+ String uri = uri("ledger_account_balances");
+ return new LedgerAccountBalanceListLedgerAccountBalancesRequest(uri);
+ }
+
+
+ // Operation Request Classes
+ //==========================
+
+ public static class LedgerAccountBalanceListLedgerAccountBalancesRequest extends ListRequest {
+
+ private LedgerAccountBalanceListLedgerAccountBalancesRequest(String uri) {
+ super(uri);
+ }
+
+ public StringFilter subscriptionId() {
+ return new StringFilter("subscription_id",this);
+ }
+
+
+ public StringFilter unitId() {
+ return new StringFilter("unit_id",this);
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+}
diff --git a/src/main/java/com/chargebee/models/LedgerOperation.java b/src/main/java/com/chargebee/models/LedgerOperation.java
new file mode 100644
index 00000000..3afa8364
--- /dev/null
+++ b/src/main/java/com/chargebee/models/LedgerOperation.java
@@ -0,0 +1,382 @@
+package com.chargebee.models;
+
+import com.chargebee.*;
+import com.chargebee.internal.*;
+import com.chargebee.filters.*;
+import com.chargebee.filters.enums.SortOrder;
+import com.chargebee.internal.HttpUtil.Method;
+import com.chargebee.models.enums.*;
+import org.json.*;
+import java.io.*;
+import java.sql.Timestamp;
+import java.util.*;
+
+public class LedgerOperation extends Resource {
+
+ public enum Type {
+ ALLOCATION,
+ CAPTURE,
+ AUTHORIZE,
+ RELEASE_AUTHORIZATION,
+ CAPTURE_AUTHORIZATION,
+ EXPIRY,
+ VOID,
+ ROLLOVER,
+ ADJUSTMENT,
+ _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
+ java-client version incompatibility. We suggest you to upgrade to the latest version */
+ }
+
+ public enum UnitType {
+ CREDIT_UNIT,
+ _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
+ java-client version incompatibility. We suggest you to upgrade to the latest version */
+ }
+
+ //Constructors
+ //============
+
+ public LedgerOperation(String jsonStr) {
+ super(jsonStr);
+ }
+
+ public LedgerOperation(JSONObject jsonObj) {
+ super(jsonObj);
+ }
+
+ // Fields
+ //=======
+
+ public String id() {
+ return reqString("id");
+ }
+
+ public Type type() {
+ return reqEnum("type", Type.class);
+ }
+
+ public String amount() {
+ return reqString("amount");
+ }
+
+ public String startBalance() {
+ return reqString("start_balance");
+ }
+
+ public String endBalance() {
+ return reqString("end_balance");
+ }
+
+ public String provisionedStartBalance() {
+ return reqString("provisioned_start_balance");
+ }
+
+ public String provisionedEndBalance() {
+ return reqString("provisioned_end_balance");
+ }
+
+ public String overdraftStartBalance() {
+ return reqString("overdraft_start_balance");
+ }
+
+ public String overdraftEndBalance() {
+ return reqString("overdraft_end_balance");
+ }
+
+ public String parentLedgerOperationId() {
+ return optString("parent_ledger_operation_id");
+ }
+
+ public Timestamp ledgerOperationTimestamp() {
+ return optTimestamp("ledger_operation_timestamp");
+ }
+
+ public Timestamp autoReleaseTimestamp() {
+ return optTimestamp("auto_release_timestamp");
+ }
+
+ public String metadata() {
+ return optString("metadata");
+ }
+
+ public Timestamp createdAt() {
+ return optTimestamp("created_at");
+ }
+
+ public Timestamp modifiedAt() {
+ return optTimestamp("modified_at");
+ }
+
+ public String subscriptionId() {
+ return optString("subscription_id");
+ }
+
+ public String unitId() {
+ return optString("unit_id");
+ }
+
+ public UnitType unitType() {
+ return optEnum("unit_type", UnitType.class);
+ }
+
+ // Operations
+ //===========
+
+ public static Request retrieveLedgerOperation(String id) {
+ String uri = uri("ledger_operations", nullCheck(id));
+ return new Request(Method.GET, uri);
+ }
+
+ public static LedgerOperationListLedgerOperationsRequest listLedgerOperations() {
+ String uri = uri("ledger_operations");
+ return new LedgerOperationListLedgerOperationsRequest(uri);
+ }
+
+ public static CaptureRequest capture() {
+ String uri = uri("ledger_operations", "capture");
+ return new CaptureRequest(Method.POST, uri).setIdempotency(false);
+ }
+
+ public static AuthorizeRequest authorize() {
+ String uri = uri("ledger_operations", "authorize");
+ return new AuthorizeRequest(Method.POST, uri).setIdempotency(false);
+ }
+
+ public static CaptureAuthorizationRequest captureAuthorization() {
+ String uri = uri("ledger_operations", "capture_authorization");
+ return new CaptureAuthorizationRequest(Method.POST, uri).setIdempotency(false);
+ }
+
+ public static ReleaseAuthorizationRequest releaseAuthorization() {
+ String uri = uri("ledger_operations", "release_authorization");
+ return new ReleaseAuthorizationRequest(Method.POST, uri).setIdempotency(false);
+ }
+
+
+ // Operation Request Classes
+ //==========================
+
+ public static class LedgerOperationListLedgerOperationsRequest extends ListRequest {
+
+ private LedgerOperationListLedgerOperationsRequest(String uri) {
+ super(uri);
+ }
+
+ public StringFilter subscriptionId() {
+ return new StringFilter("subscription_id",this);
+ }
+
+
+ public StringFilter unitId() {
+ return new StringFilter("unit_id",this);
+ }
+
+
+ public TimestampFilter createdAt() {
+ return new TimestampFilter("created_at",this);
+ }
+
+
+ public EnumFilter type() {
+ return new EnumFilter("type",this).supportsMultiOperators(true);
+ }
+
+
+ public LedgerOperationListLedgerOperationsRequest sortByCreatedAt(SortOrder order) {
+ params.addOpt("sort_by["+order.name().toLowerCase()+"]","created_at");
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+ public static class CaptureRequest extends Request {
+
+ private CaptureRequest(Method httpMeth, String uri) {
+ super(httpMeth, uri, null, null,true);
+ }
+
+ public CaptureRequest id(String id) {
+ params.addOpt("id", id);
+ return this;
+ }
+
+
+ public CaptureRequest subscriptionId(String subscriptionId) {
+ params.add("subscription_id", subscriptionId);
+ return this;
+ }
+
+
+ public CaptureRequest unitId(String unitId) {
+ params.add("unit_id", unitId);
+ return this;
+ }
+
+
+ public CaptureRequest amount(String amount) {
+ params.add("amount", amount);
+ return this;
+ }
+
+
+ public CaptureRequest ledgerOperationTimestamp(Timestamp ledgerOperationTimestamp) {
+ params.add("ledger_operation_timestamp", ledgerOperationTimestamp);
+ return this;
+ }
+
+
+ public CaptureRequest metadata(Map metadata) {
+ params.addOpt("metadata", metadata);
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+ public static class AuthorizeRequest extends Request {
+
+ private AuthorizeRequest(Method httpMeth, String uri) {
+ super(httpMeth, uri, null, null,true);
+ }
+
+ public AuthorizeRequest id(String id) {
+ params.addOpt("id", id);
+ return this;
+ }
+
+
+ public AuthorizeRequest subscriptionId(String subscriptionId) {
+ params.add("subscription_id", subscriptionId);
+ return this;
+ }
+
+
+ public AuthorizeRequest unitId(String unitId) {
+ params.add("unit_id", unitId);
+ return this;
+ }
+
+
+ public AuthorizeRequest amount(String amount) {
+ params.add("amount", amount);
+ return this;
+ }
+
+
+ public AuthorizeRequest ledgerOperationTimestamp(Timestamp ledgerOperationTimestamp) {
+ params.add("ledger_operation_timestamp", ledgerOperationTimestamp);
+ return this;
+ }
+
+
+ public AuthorizeRequest autoReleaseTimestamp(Timestamp autoReleaseTimestamp) {
+ params.addOpt("auto_release_timestamp", autoReleaseTimestamp);
+ return this;
+ }
+
+
+ public AuthorizeRequest metadata(Map metadata) {
+ params.addOpt("metadata", metadata);
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+ public static class CaptureAuthorizationRequest extends Request {
+
+ private CaptureAuthorizationRequest(Method httpMeth, String uri) {
+ super(httpMeth, uri, null, null,true);
+ }
+
+ public CaptureAuthorizationRequest authorizationId(String authorizationId) {
+ params.add("authorization_id", authorizationId);
+ return this;
+ }
+
+
+ public CaptureAuthorizationRequest id(String id) {
+ params.addOpt("id", id);
+ return this;
+ }
+
+
+ public CaptureAuthorizationRequest amount(String amount) {
+ params.add("amount", amount);
+ return this;
+ }
+
+
+ public CaptureAuthorizationRequest ledgerOperationTimestamp(Timestamp ledgerOperationTimestamp) {
+ params.add("ledger_operation_timestamp", ledgerOperationTimestamp);
+ return this;
+ }
+
+
+ public CaptureAuthorizationRequest metadata(Map metadata) {
+ params.addOpt("metadata", metadata);
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+ public static class ReleaseAuthorizationRequest extends Request {
+
+ private ReleaseAuthorizationRequest(Method httpMeth, String uri) {
+ super(httpMeth, uri, null, null,true);
+ }
+
+ public ReleaseAuthorizationRequest authorizationId(String authorizationId) {
+ params.add("authorization_id", authorizationId);
+ return this;
+ }
+
+
+ public ReleaseAuthorizationRequest id(String id) {
+ params.addOpt("id", id);
+ return this;
+ }
+
+
+ public ReleaseAuthorizationRequest ledgerOperationTimestamp(Timestamp ledgerOperationTimestamp) {
+ params.add("ledger_operation_timestamp", ledgerOperationTimestamp);
+ return this;
+ }
+
+
+ public ReleaseAuthorizationRequest metadata(Map metadata) {
+ params.addOpt("metadata", metadata);
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+}
diff --git a/src/main/java/com/chargebee/models/OmnichannelSubscription.java b/src/main/java/com/chargebee/models/OmnichannelSubscription.java
index a8b4b7b2..2e3a935f 100644
--- a/src/main/java/com/chargebee/models/OmnichannelSubscription.java
+++ b/src/main/java/com/chargebee/models/OmnichannelSubscription.java
@@ -151,6 +151,16 @@ public TimestampFilter purchasedAt() {
}
+ public OmnichannelSubscriptionListRequest sortByCreatedAt(SortOrder order) {
+ params.addOpt("sort_by["+order.name().toLowerCase()+"]","created_at");
+ return this;
+ }
+ public OmnichannelSubscriptionListRequest sortByUpdatedAt(SortOrder order) {
+ params.addOpt("sort_by["+order.name().toLowerCase()+"]","updated_at");
+ return this;
+ }
+
+
@Override
public Params params() {
return params;
diff --git a/src/main/java/com/chargebee/models/PromotionalGrant.java b/src/main/java/com/chargebee/models/PromotionalGrant.java
new file mode 100644
index 00000000..70b3a4bb
--- /dev/null
+++ b/src/main/java/com/chargebee/models/PromotionalGrant.java
@@ -0,0 +1,105 @@
+package com.chargebee.models;
+
+import com.chargebee.*;
+import com.chargebee.internal.*;
+import com.chargebee.filters.*;
+import com.chargebee.filters.enums.SortOrder;
+import com.chargebee.internal.HttpUtil.Method;
+import com.chargebee.models.enums.*;
+import org.json.*;
+import java.io.*;
+import java.sql.Timestamp;
+import java.util.*;
+
+public class PromotionalGrant extends Resource {
+
+ //Constructors
+ //============
+
+ public PromotionalGrant(String jsonStr) {
+ super(jsonStr);
+ }
+
+ public PromotionalGrant(JSONObject jsonObj) {
+ super(jsonObj);
+ }
+
+ // Fields
+ //=======
+
+ public String subscriptionId() {
+ return reqString("subscription_id");
+ }
+
+ public String unitId() {
+ return reqString("unit_id");
+ }
+
+ public String amount() {
+ return reqString("amount");
+ }
+
+ public Timestamp expiresAt() {
+ return reqTimestamp("expires_at");
+ }
+
+ public String metadata() {
+ return optString("metadata");
+ }
+
+ // Operations
+ //===========
+
+ public static PromotionalGrantsRequest promotionalGrants() {
+ String uri = uri("promotional_grants");
+ return new PromotionalGrantsRequest(Method.POST, uri);
+ }
+
+
+ // Operation Request Classes
+ //==========================
+
+ public static class PromotionalGrantsRequest extends Request {
+
+ private PromotionalGrantsRequest(Method httpMeth, String uri) {
+ super(httpMeth, uri, null, null,true);
+ }
+
+ public PromotionalGrantsRequest subscriptionId(String subscriptionId) {
+ params.add("subscription_id", subscriptionId);
+ return this;
+ }
+
+
+ public PromotionalGrantsRequest unitId(String unitId) {
+ params.add("unit_id", unitId);
+ return this;
+ }
+
+
+ public PromotionalGrantsRequest amount(String amount) {
+ params.add("amount", amount);
+ return this;
+ }
+
+
+ public PromotionalGrantsRequest expiresAt(Timestamp expiresAt) {
+ params.add("expires_at", expiresAt);
+ return this;
+ }
+
+
+ public PromotionalGrantsRequest metadata(Map metadata) {
+ params.addOpt("metadata", metadata);
+ return this;
+ }
+
+
+
+ @Override
+ public Params params() {
+ return params;
+ }
+ }
+
+}
diff --git a/src/main/java/com/chargebee/models/enums/Status.java b/src/main/java/com/chargebee/models/enums/Status.java
index 4c15ead0..26bcd8e4 100644
--- a/src/main/java/com/chargebee/models/enums/Status.java
+++ b/src/main/java/com/chargebee/models/enums/Status.java
@@ -1,12 +1,10 @@
package com.chargebee.models.enums;
public enum Status {
- FUTURE,
- IN_TRIAL,
- ACTIVE,
- NON_RENEWING,
- PAUSED,
- CANCELLED,
+ AVAILABLE,
+ EXHAUSTED,
+ SCHEDULED,
+ IN_GRACE_PERIOD,
_UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a
java-client version incompatibility. We suggest you to upgrade to the latest version */
}
\ No newline at end of file