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 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