diff --git a/CHANGELOG.md b/CHANGELOG.md index 86ecb860..90c7d8f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,43 @@ +### v3.39.0 (2025-11-26) +* * * + +### New Resources: +* Einvoice has been added. +* QuotedDeltaRamp has been added. + +### New Attributes: +* line_items_next_offset has been added to CreditNote. +* line_items_next_offset has been added to Invoice. +* credit_lines has been added to SalesOrder. +* billable_unit_price has been added to SalesOrder#LineItem. +* billable_quantity has been added to SalesOrder#LineItem. +* billable_amount has been added to SalesOrder#LineItem. + +### New Endpoint: +* move has been added to ItemPrice. + +### New Parameters: +* line_items_limit has been added to CreditNote#RetrieveRequest. +* line_items_offset has been added to CreditNote#RetrieveRequest. +* line_items_limit has been added to Invoice#RetrieveRequest. +* line_items_offset has been added to Invoice#RetrieveRequest. +* item_tiers has been added to Estimate#GiftSubscriptionForItemsRequest. +* unit_price has been added to Estimate#SubscriptionItems#GiftSubscriptionForItemsRequest. +* unit_price_in_decimal has been added to Estimate#SubscriptionItems#GiftSubscriptionForItemsRequest. +* item_tiers has been added to Gift#CreateForItemsRequest. +* meta_data has been added to Gift#CreateForItemsRequest. +* unit_price has been added to Gift#SubscriptionItems#CreateForItemsRequest. +* unit_price_in_decimal has been added to Gift#SubscriptionItems#CreateForItemsRequest. +* item_tiers has been added to HostedPage#CheckoutGiftForItemsRequest. +* unit_price has been added to HostedPage#SubscriptionItems#CheckoutGiftForItemsRequest. +* unit_price_in_decimal has been added to HostedPage#SubscriptionItems#CheckoutGiftForItemsRequest. +* auto_select_local_currency has been added to PricingPageSession#CreateForNewSubscriptionRequest. + +### New Enums: +* EZIDEBIT has been added to GatewayEnum. +* BUSINESS_RULE has been added to EntityTypeEnum. +* RULESET has been added to EntityTypeEnum. + ### v3.38.0 (2025-10-28) * * * diff --git a/pom.xml b/pom.xml index fbae70c3..80c51303 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.chargebee chargebee-java - 3.38.0 + 3.39.0 jar diff --git a/src/main/java/com/chargebee/Environment.java b/src/main/java/com/chargebee/Environment.java index 2e5dac1b..65357c65 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.38.0"; + public static final String LIBRARY_VERSION = "3.39.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 3fe64305..182d957b 100644 --- a/src/main/java/com/chargebee/internal/ResultBase.java +++ b/src/main/java/com/chargebee/internal/ResultBase.java @@ -84,6 +84,10 @@ public PaymentSchedule paymentSchedule() { return (PaymentSchedule)get("payment_schedule"); } + public Einvoice einvoice() { + return (Einvoice)get("einvoice"); + } + public TaxWithheld taxWithheld() { return (TaxWithheld)get("tax_withheld"); } @@ -132,6 +136,10 @@ public QuotedRamp quotedRamp() { return (QuotedRamp)get("quoted_ramp"); } + public QuotedDeltaRamp quotedDeltaRamp() { + return (QuotedDeltaRamp)get("quoted_delta_ramp"); + } + public BillingConfiguration billingConfiguration() { return (BillingConfiguration)get("billing_configuration"); } diff --git a/src/main/java/com/chargebee/models/CreditNote.java b/src/main/java/com/chargebee/models/CreditNote.java index 661649e6..89a781ef 100644 --- a/src/main/java/com/chargebee/models/CreditNote.java +++ b/src/main/java/com/chargebee/models/CreditNote.java @@ -806,6 +806,10 @@ public Channel channel() { return optEnum("channel", Channel.class); } + public String lineItemsNextOffset() { + return optString("line_items_next_offset"); + } + public Long subTotal() { return reqLong("sub_total"); } @@ -1122,6 +1126,18 @@ public StringFilter lineItemCustomerId() { } + public RetrieveRequest lineItemsLimit(Integer lineItemsLimit) { + params.addOpt("line_items_limit", lineItemsLimit); + return this; + } + + + public RetrieveRequest lineItemsOffset(String lineItemsOffset) { + params.addOpt("line_items_offset", lineItemsOffset); + return this; + } + + @Override public Params params() { return params; diff --git a/src/main/java/com/chargebee/models/Einvoice.java b/src/main/java/com/chargebee/models/Einvoice.java new file mode 100644 index 00000000..f865dac3 --- /dev/null +++ b/src/main/java/com/chargebee/models/Einvoice.java @@ -0,0 +1,61 @@ +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 Einvoice extends Resource { + + public enum Status { + SCHEDULED, + SKIPPED, + IN_PROGRESS, + SUCCESS, + FAILED, + REGISTERED, + _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 Einvoice(String jsonStr) { + super(jsonStr); + } + + public Einvoice(JSONObject jsonObj) { + super(jsonObj); + } + + // Fields + //======= + + public String id() { + return reqString("id"); + } + + public String referenceNumber() { + return optString("reference_number"); + } + + public Status status() { + return reqEnum("status", Status.class); + } + + public String message() { + return optString("message"); + } + + // Operations + //=========== + + +} diff --git a/src/main/java/com/chargebee/models/Estimate.java b/src/main/java/com/chargebee/models/Estimate.java index 96059a3c..14c8490a 100644 --- a/src/main/java/com/chargebee/models/Estimate.java +++ b/src/main/java/com/chargebee/models/Estimate.java @@ -3126,6 +3126,42 @@ public GiftSubscriptionForItemsRequest subscriptionItemQuantityInDecimal(int ind params.addOpt("subscription_items[quantity_in_decimal][" + index + "]", subscriptionItemQuantityInDecimal); return this; } + public GiftSubscriptionForItemsRequest subscriptionItemUnitPrice(int index, Long subscriptionItemUnitPrice) { + params.addOpt("subscription_items[unit_price][" + index + "]", subscriptionItemUnitPrice); + return this; + } + public GiftSubscriptionForItemsRequest subscriptionItemUnitPriceInDecimal(int index, String subscriptionItemUnitPriceInDecimal) { + params.addOpt("subscription_items[unit_price_in_decimal][" + index + "]", subscriptionItemUnitPriceInDecimal); + return this; + } + public GiftSubscriptionForItemsRequest itemTierItemPriceId(int index, String itemTierItemPriceId) { + params.addOpt("item_tiers[item_price_id][" + index + "]", itemTierItemPriceId); + return this; + } + public GiftSubscriptionForItemsRequest itemTierStartingUnit(int index, Integer itemTierStartingUnit) { + params.addOpt("item_tiers[starting_unit][" + index + "]", itemTierStartingUnit); + return this; + } + public GiftSubscriptionForItemsRequest itemTierEndingUnit(int index, Integer itemTierEndingUnit) { + params.addOpt("item_tiers[ending_unit][" + index + "]", itemTierEndingUnit); + return this; + } + public GiftSubscriptionForItemsRequest itemTierPrice(int index, Long itemTierPrice) { + params.addOpt("item_tiers[price][" + index + "]", itemTierPrice); + return this; + } + public GiftSubscriptionForItemsRequest itemTierStartingUnitInDecimal(int index, String itemTierStartingUnitInDecimal) { + params.addOpt("item_tiers[starting_unit_in_decimal][" + index + "]", itemTierStartingUnitInDecimal); + return this; + } + public GiftSubscriptionForItemsRequest itemTierEndingUnitInDecimal(int index, String itemTierEndingUnitInDecimal) { + params.addOpt("item_tiers[ending_unit_in_decimal][" + index + "]", itemTierEndingUnitInDecimal); + return this; + } + public GiftSubscriptionForItemsRequest itemTierPriceInDecimal(int index, String itemTierPriceInDecimal) { + params.addOpt("item_tiers[price_in_decimal][" + index + "]", itemTierPriceInDecimal); + return this; + } @Override public Params params() { return params; diff --git a/src/main/java/com/chargebee/models/Gift.java b/src/main/java/com/chargebee/models/Gift.java index 38b0229b..0dc46716 100644 --- a/src/main/java/com/chargebee/models/Gift.java +++ b/src/main/java/com/chargebee/models/Gift.java @@ -447,6 +447,12 @@ public CreateForItemsRequest couponIds(String... couponIds) { return this; } + public CreateForItemsRequest metaData(JSONObject metaData) { + params.addOpt("meta_data", metaData); + return this; + } + + public CreateForItemsRequest gifterCustomerId(String gifterCustomerId) { params.add("gifter[customer_id]", gifterCustomerId); return this; @@ -605,6 +611,42 @@ public CreateForItemsRequest subscriptionItemQuantityInDecimal(int index, String params.addOpt("subscription_items[quantity_in_decimal][" + index + "]", subscriptionItemQuantityInDecimal); return this; } + public CreateForItemsRequest subscriptionItemUnitPrice(int index, Long subscriptionItemUnitPrice) { + params.addOpt("subscription_items[unit_price][" + index + "]", subscriptionItemUnitPrice); + return this; + } + public CreateForItemsRequest subscriptionItemUnitPriceInDecimal(int index, String subscriptionItemUnitPriceInDecimal) { + params.addOpt("subscription_items[unit_price_in_decimal][" + index + "]", subscriptionItemUnitPriceInDecimal); + return this; + } + public CreateForItemsRequest itemTierItemPriceId(int index, String itemTierItemPriceId) { + params.addOpt("item_tiers[item_price_id][" + index + "]", itemTierItemPriceId); + return this; + } + public CreateForItemsRequest itemTierStartingUnit(int index, Integer itemTierStartingUnit) { + params.addOpt("item_tiers[starting_unit][" + index + "]", itemTierStartingUnit); + return this; + } + public CreateForItemsRequest itemTierEndingUnit(int index, Integer itemTierEndingUnit) { + params.addOpt("item_tiers[ending_unit][" + index + "]", itemTierEndingUnit); + return this; + } + public CreateForItemsRequest itemTierPrice(int index, Long itemTierPrice) { + params.addOpt("item_tiers[price][" + index + "]", itemTierPrice); + return this; + } + public CreateForItemsRequest itemTierStartingUnitInDecimal(int index, String itemTierStartingUnitInDecimal) { + params.addOpt("item_tiers[starting_unit_in_decimal][" + index + "]", itemTierStartingUnitInDecimal); + return this; + } + public CreateForItemsRequest itemTierEndingUnitInDecimal(int index, String itemTierEndingUnitInDecimal) { + params.addOpt("item_tiers[ending_unit_in_decimal][" + index + "]", itemTierEndingUnitInDecimal); + return this; + } + public CreateForItemsRequest itemTierPriceInDecimal(int index, String itemTierPriceInDecimal) { + params.addOpt("item_tiers[price_in_decimal][" + index + "]", itemTierPriceInDecimal); + 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 5235c02d..df6c6f14 100644 --- a/src/main/java/com/chargebee/models/HostedPage.java +++ b/src/main/java/com/chargebee/models/HostedPage.java @@ -3053,6 +3053,42 @@ public CheckoutGiftForItemsRequest subscriptionItemQuantityInDecimal(int index, params.addOpt("subscription_items[quantity_in_decimal][" + index + "]", subscriptionItemQuantityInDecimal); return this; } + public CheckoutGiftForItemsRequest subscriptionItemUnitPrice(int index, Long subscriptionItemUnitPrice) { + params.addOpt("subscription_items[unit_price][" + index + "]", subscriptionItemUnitPrice); + return this; + } + public CheckoutGiftForItemsRequest subscriptionItemUnitPriceInDecimal(int index, String subscriptionItemUnitPriceInDecimal) { + params.addOpt("subscription_items[unit_price_in_decimal][" + index + "]", subscriptionItemUnitPriceInDecimal); + return this; + } + public CheckoutGiftForItemsRequest itemTierItemPriceId(int index, String itemTierItemPriceId) { + params.addOpt("item_tiers[item_price_id][" + index + "]", itemTierItemPriceId); + return this; + } + public CheckoutGiftForItemsRequest itemTierStartingUnit(int index, Integer itemTierStartingUnit) { + params.addOpt("item_tiers[starting_unit][" + index + "]", itemTierStartingUnit); + return this; + } + public CheckoutGiftForItemsRequest itemTierEndingUnit(int index, Integer itemTierEndingUnit) { + params.addOpt("item_tiers[ending_unit][" + index + "]", itemTierEndingUnit); + return this; + } + public CheckoutGiftForItemsRequest itemTierPrice(int index, Long itemTierPrice) { + params.addOpt("item_tiers[price][" + index + "]", itemTierPrice); + return this; + } + public CheckoutGiftForItemsRequest itemTierStartingUnitInDecimal(int index, String itemTierStartingUnitInDecimal) { + params.addOpt("item_tiers[starting_unit_in_decimal][" + index + "]", itemTierStartingUnitInDecimal); + return this; + } + public CheckoutGiftForItemsRequest itemTierEndingUnitInDecimal(int index, String itemTierEndingUnitInDecimal) { + params.addOpt("item_tiers[ending_unit_in_decimal][" + index + "]", itemTierEndingUnitInDecimal); + return this; + } + public CheckoutGiftForItemsRequest itemTierPriceInDecimal(int index, String itemTierPriceInDecimal) { + params.addOpt("item_tiers[price_in_decimal][" + index + "]", itemTierPriceInDecimal); + return this; + } @Override public Params params() { return params; diff --git a/src/main/java/com/chargebee/models/Invoice.java b/src/main/java/com/chargebee/models/Invoice.java index 034b51b4..f683b00b 100644 --- a/src/main/java/com/chargebee/models/Invoice.java +++ b/src/main/java/com/chargebee/models/Invoice.java @@ -1086,6 +1086,10 @@ public Timestamp updatedAt() { return optTimestamp("updated_at"); } + public String lineItemsNextOffset() { + return optString("line_items_next_offset"); + } + public Boolean firstInvoice() { return optBoolean("first_invoice"); } @@ -3851,6 +3855,18 @@ public StringFilter lineItemCustomerId() { } + public RetrieveRequest lineItemsLimit(Integer lineItemsLimit) { + params.addOpt("line_items_limit", lineItemsLimit); + return this; + } + + + public RetrieveRequest lineItemsOffset(String lineItemsOffset) { + params.addOpt("line_items_offset", lineItemsOffset); + return this; + } + + @Override public Params params() { return params; diff --git a/src/main/java/com/chargebee/models/ItemPrice.java b/src/main/java/com/chargebee/models/ItemPrice.java index e6e85b44..3ceb4f10 100644 --- a/src/main/java/com/chargebee/models/ItemPrice.java +++ b/src/main/java/com/chargebee/models/ItemPrice.java @@ -418,6 +418,12 @@ public static ItemPriceFindApplicableItemPricesRequest findApplicableItemPrices( return new ItemPriceFindApplicableItemPricesRequest(uri); } + @Deprecated + public static MoveItemPriceRequest moveItemPrice(String id) { + String uri = uri("item_prices", nullCheck(id), "move"); + return new MoveItemPriceRequest(Method.POST, uri); + } + // Operation Request Classes //========================== @@ -1151,6 +1157,24 @@ public ItemPriceFindApplicableItemPricesRequest sortByUpdatedAt(SortOrder order) } + @Override + public Params params() { + return params; + } + } + + public static class MoveItemPriceRequest extends Request { + + private MoveItemPriceRequest(Method httpMeth, String uri) { + super(httpMeth, uri); + } + + public MoveItemPriceRequest destinationItemId(String destinationItemId) { + params.add("destination_item_id", destinationItemId); + return this; + } + + @Override public Params params() { return params; diff --git a/src/main/java/com/chargebee/models/PricingPageSession.java b/src/main/java/com/chargebee/models/PricingPageSession.java index 47219344..4194ecc0 100644 --- a/src/main/java/com/chargebee/models/PricingPageSession.java +++ b/src/main/java/com/chargebee/models/PricingPageSession.java @@ -78,6 +78,12 @@ public CreateForNewSubscriptionRequest businessEntityId(String businessEntityId) } + public CreateForNewSubscriptionRequest autoSelectLocalCurrency(Boolean autoSelectLocalCurrency) { + params.addOpt("auto_select_local_currency", autoSelectLocalCurrency); + return this; + } + + public CreateForNewSubscriptionRequest pricingPageId(String pricingPageId) { params.add("pricing_page[id]", pricingPageId); return this; diff --git a/src/main/java/com/chargebee/models/QuotedDeltaRamp.java b/src/main/java/com/chargebee/models/QuotedDeltaRamp.java new file mode 100644 index 00000000..1b0ffa37 --- /dev/null +++ b/src/main/java/com/chargebee/models/QuotedDeltaRamp.java @@ -0,0 +1,49 @@ +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 QuotedDeltaRamp extends Resource { + + public static class LineItem extends Resource { + public LineItem(JSONObject jsonObj) { + super(jsonObj); + } + + public String itemLevelDiscountPerBillingCycleInDecimal() { + return optString("item_level_discount_per_billing_cycle_in_decimal"); + } + + } + + //Constructors + //============ + + public QuotedDeltaRamp(String jsonStr) { + super(jsonStr); + } + + public QuotedDeltaRamp(JSONObject jsonObj) { + super(jsonObj); + } + + // Fields + //======= + + public List lineItems() { + return optList("line_items", QuotedDeltaRamp.LineItem.class); + } + + // Operations + //=========== + + +} diff --git a/src/main/java/com/chargebee/models/enums/EntityType.java b/src/main/java/com/chargebee/models/enums/EntityType.java index 70fa7446..437b3aa0 100644 --- a/src/main/java/com/chargebee/models/enums/EntityType.java +++ b/src/main/java/com/chargebee/models/enums/EntityType.java @@ -39,6 +39,8 @@ public enum EntityType { OMNICHANNEL_ONE_TIME_ORDER, OMNICHANNEL_ONE_TIME_ORDER_ITEM, USAGE_FILE, + BUSINESS_RULE, + RULESET, _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 diff --git a/src/main/java/com/chargebee/models/enums/Gateway.java b/src/main/java/com/chargebee/models/enums/Gateway.java index 68ddcb42..b78fd66f 100644 --- a/src/main/java/com/chargebee/models/enums/Gateway.java +++ b/src/main/java/com/chargebee/models/enums/Gateway.java @@ -55,6 +55,7 @@ public enum Gateway { PAYSTACK, JP_MORGAN, DEUTSCHE_BANK, + EZIDEBIT, GOCARDLESS, NOT_APPLICABLE, _UNKNOWN; /*Indicates unexpected value for this enum. You can get this when there is a