Skip to content

Releases: maxio-com/ab-java-sdk

9.1.0

Choose a tag to compare

@imlukedewitt imlukedewitt released this 12 Jun 16:08
3660199

ab-java-sdk 9.1.0 Changelog

Breaking Changes

  • None.

New Features

  • Added support for the invoice_pending webhook event.
  • Added support for the chjs_tokenization_failure and chjs_tokenization_success webhook events.
  • Added typed CHJS tokenization webhook payload support through Event.eventSpecificData / EventEventSpecificData.

New Models

  • ChjsTokenizationFailure
  • ChjsTokenizationSuccess
  • TokenizedPaymentProfile
  • PaymentProfileParams

Model Enhancements

  • BankAccountPaymentProfile
    • maskedBankRoutingNumber is now nullable.
    • maskedBankAccountNumber is now nullable and no longer required.
  • Customer
    • Added maxioid (String, nullable).
  • Site
    • Added multiFrequencyEnabled (Boolean).
    • Added autoRenewalsEnabled (Boolean).
    • Added portalEnabled (Boolean).
  • InvoiceLineItem
    • Added taxIncluded (Boolean).
    • Added prepaidAllocationExpiresAt (LocalDate, nullable).
  • CreditNoteLineItem
    • Added taxIncluded (Boolean).
    • Added prepaidAllocationExpiresAt (LocalDate, nullable).
  • EventEventSpecificData
    • Added CHJS tokenization success/failure cases.
  • EventKey and WebhookSubscription
    • Added invoice_pending.
    • Added chjs_tokenization_failure.
    • Added chjs_tokenization_success.
  • BillingSchedule
    • initialBillingAt now supports nullable/unset handling.

Bug Fixes

  • CreateSubscription.skipBillingManifestTaxes — No longer initialized with a default value, preventing the SDK from serializing that preview-only field unless explicitly set by the caller.

Internal / Non-functional Changes

  • API endpoint doc comments reworded across controllers (no behavioral impact).

Full Changelog: 9.0.0...9.1.0

9.0.0

Choose a tag to compare

@imlukedewitt imlukedewitt released this 17 Mar 19:01

Changelog: v9.0.0

Breaking Changes

Type changes (may require code updates):

  • Subscription.snapDay — Changed from SubscriptionSnapDay (oneOf container: int | SnapDay enum) to String. If you were using SubscriptionSnapDay.fromNumber() or SubscriptionSnapDay.fromSnapDay(), replace with the raw string value directly.
  • UpdateSubscription.snapDay — Changed from OptionalNullable<UpdateSubscriptionSnapDay> to UpdateSubscriptionSnapDay (no longer nullable). The unsetSnapDay() method has been removed.
  • CalendarBillingSnapDay — The SnapDay enum case was replaced with a plain String case. Use CalendarBillingSnapDay.fromString(...) instead of CalendarBillingSnapDay.fromSnapDay(SnapDay).
  • SnapDay enum removed — This enum (end) has been eliminated entirely. Use the string "end" directly.
  • ComponentPricePointsController.readComponentPricePoint() — Return type changed from ComponentPricePointResponse to ComponentPricePointCurrencyOverageResponse.
  • CreateAllocation constructor signature changed — New fields added (decimalQuantity, previousQuantity, decimalPreviousQuantity, customPrice) and the types for downgradeCredit / upgradeCharge changed from CreditType to DowngradeCreditCreditType / UpgradeChargeCreditType respectively. Field ordering also changed.
  • CancellationOptions constructor signature changed — Three new fields added (cancelAtEndOfPeriod, scheduledCancellationAt, refundPrepaymentAccountBalance).
  • SendInvoiceRequest constructor signature changed — New attachmentUrls parameter added.

New Features

New Controller: SubscriptionRenewalsController

  • Access via client.getSubscriptionRenewalsController()
  • Full CRUD for scheduled renewal configurations:
    • createScheduledRenewalConfiguration
    • listScheduledRenewalConfigurations
    • readScheduledRenewalConfiguration
    • updateScheduledRenewalConfiguration
    • scheduleScheduledRenewalLockIn
    • lockInScheduledRenewalImmediately
    • unpublishScheduledRenewalConfiguration
    • cancelScheduledRenewalConfiguration
    • createScheduledRenewalConfigurationItem
    • updateScheduledRenewalConfigurationItem
    • deleteScheduledRenewalConfigurationItem

New Endpoint: Clone Component Price Point

  • ComponentPricePointsController.cloneComponentPricePoint() — Clone an existing component price point (copies pricing scheme, tiers, currency prices, overage pricing, etc.)

New Endpoint: Deliver Proforma Invoice

  • ProformaInvoicesController.deliverProformaInvoice() — Programmatically deliver proforma invoices via email with support for cc/bcc recipients.

Invoice Email Attachments

  • SendInvoiceRequest now supports attachmentUrls — attach up to 10 files (10MB each) when sending invoice emails.

Invoices: Issue "draft" invoices

  • The issueInvoice endpoint now supports issuing invoices in "draft" status (previously only "pending").

New Models

  • AvailableActions
  • CloneComponentPricePoint, CloneComponentPricePointRequest
  • ComponentPricePointCurrencyOverageResponse
  • Contract
  • CurrencyOveragePrices
  • DeliverProformaInvoiceRequest
  • DowngradeCreditCreditType, UpgradeChargeCreditType (replace CreditType in allocation contexts)
  • Register
  • SendEmail
  • Status
  • ScheduledRenewalConfiguration, ScheduledRenewalConfigurationItem, ScheduledRenewalConfigurationItemRequest, ScheduledRenewalConfigurationItemResponse, ScheduledRenewalConfigurationRequest, ScheduledRenewalConfigurationRequestBody, ScheduledRenewalConfigurationResponse, ScheduledRenewalConfigurationsResponse, ScheduledRenewalComponentCustomPrice, ScheduledRenewalItemRequestBodyComponent, ScheduledRenewalItemRequestBodyProduct, ScheduledRenewalLockInRequest, ScheduledRenewalProductPricePoint, ScheduledRenewalUpdateRequest

Model Enhancements

  • SubscriptionSort — New sort options: TOTAL_PAYMENTS, ID, OPEN_BALANCE, EXPIRES_AT
  • SubscriptionGroup — New uid field
  • ProductFamily — New archivedAt field
  • ProformaInvoice — Added availableActions (AvailableActions)
  • CreateAllocation — New fields: decimalQuantity, previousQuantity, decimalPreviousQuantity, customPrice
  • CancellationOptions — New fields: cancelAtEndOfPeriod, scheduledCancellationAt, refundPrepaymentAccountBalance
  • ComponentCustomPrice — New fields: listPricePointId, useDefaultListPrice
  • UpdateSubscription.customPrice — Now documents the 30 custom price point limit per subscription

Internal / Non-functional Changes

  • ApiException.getHttpContext() — Now returns the concrete HttpContext type instead of the interface
  • Maven plugin version bumps:
    • versions-maven-plugin: 2.5 → 2.20.1
    • maven-enforcer-plugin: 3.0.0-M2 → 3.6.1
    • maven-javadoc-plugin: 2.10.4 → 3.12.0
    • maven-source-plugin: 3.0.1 → 3.4.0
    • maven-gpg-plugin: 1.6 → 3.2.8
  • Javadoc improvements: "Chargify" references updated to "Advanced Billing" throughout
  • Minor punctuation/wording fixes in API doc comments

8.0.0

Choose a tag to compare

@lucassus lucassus released this 10 Dec 12:52
447ac3e

What's Changed

Full Changelog: 7.0.1...8.0.0

[FND-138] Release 7.0.1 (#202)

Choose a tag to compare

@lucassus lucassus released this 12 Sep 09:29
daca4d1

📝 Changelog: API Documentation Updates

We've made several updates to the API documentation to improve clarity, consistency, and accuracy. This release includes enhancements to the descriptions for various endpoints, corrections to example data, and updates to external links.


🌐 Webhooks API Improvements

  • Simplified descriptions: We've streamlined the descriptions for several webhook endpoints, including List Webhooks, Enable Webhooks, Replay Webhooks, Create Endpoint, Update Endpoint, and List Endpoints, to make them more concise and easier to understand.
  • Updated documentation links: All internal and external links within the webhook documentation have been updated to point to the correct, current resources.

💰 Billing and Subscription Updates

  • Enhanced Customer API: The Read Customer endpoint now includes a complete example response, providing a clearer picture of the data you'll receive from the API.
  • Component Price Point examples: We've added new examples for Volume and Tiered price points to the Create Component Price Point endpoint, providing clearer guidance for different pricing schemes. The Stairstep Price Point example was also corrected to include a valid ending_quantity.
  • Flexible Subscription Usage: The subscription_id path parameter for the Create Usage endpoint has been updated to subscription_id_or_reference. This allows you to use either the subscription's ID or its reference string, making the endpoint more flexible.
  • Updated documentation links: The links in the documentation for GoCardless, Stripe SEPA/BECS Direct Debit, and Chargify.js have been corrected to ensure they point to the latest and most relevant documentation.

🧰 General Enhancements

  • Concise descriptions: We've shortened descriptions for the Read Customer and Read Component endpoints to be more direct.
  • Improved link consistency: All external links, especially those referencing Chargify.js and various examples, have been reviewed and updated to the correct, canonical URLs.

7.0.0

Choose a tag to compare

@lucassus lucassus released this 24 Jul 14:19
7e177fb
  • List Service Credits: Added a new endpoint (GET /service_credits.json) to list service credits.
  • Invoice Consolidation: Introduced a consolidation_level parameter to the GET /invoices.json endpoint to control how invoices are grouped.
  • Filter by Coupon Code: Added a coupon_code parameter to filter subscriptions.
  • New Component Field: The product_family_handle field has been added to the Read/List Components endpoints.
  • New Payment Profile Fields: Added created_at and updated_at fields to the payment profile schema.
  • New Invoice Field: The received_on date has been added to the Read Invoice endpoint response.
  • Deferred Signup: Added support for defer_signup in payment examples.

6.1.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 21 Jan 10:08
85d4f38

What's Changed

  • Added scheduleSubscriptionCancellationEnabled property to the Site model
  • Added string representations for exceptions models

Full Changelog: 6.0.0...6.1.0

6.0.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 13 Dec 15:56
3db174d
  • AdvancedBillingClient was slightly reworked:

    • domain parameter has been removed.
    • subdomain parameter changed name to site
    • Environment has changed. Now it's either default US, or EU for Advanced Billing eu hosting. The default is US. SDK is now supporting EU hosted accounts.
  • Coupon fixes:

    • renamed CreateOrUpdateCoupon to CouponRequest
    • renamed CreateOrUpdatePercentageCouponPercentage to CouponPayloadPercentage
    • changed CreateOrUpdateCouponCoupon to CouponPayload
    • There're no longer 2 distinct models for Flat amount and Percentage coupon. They're merged into CouponPayload. Using it, specify either amount_in_cents or percentage property
    • code, name, description, amount_in_cents and percentage are not required properties in CouponPayload model. It means they're not send as nulls if unset. It enables patching coupon with updateCoupon without specifying these properties values. Previous version enforced setting them.
    • CouponPayload endDate changes type from ZonedDateTime to LocalDate. Response Coupon endDate is still ZonedDateTime (its calculated as end of the day)
    • updateCoupon now throws ErrorListResponseException
    • added currencyPrices for Coupon response. Note you need to specify suitable query parameters to access it
    • added currencyPrices query parameter for readCoupon and findCoupon
    • added some missing descriptions
    • changed Coupon amountInCents to Long
    • changed CouponCurrency price to nullable Double and id to nullable Integer
    • createOrUpdateCouponCurrencyPrices now throws ErrorStringMapResponseException
  • Subscription Fixes:

    • added SubscriptionResponse for purgeSubscription operation
    • purgeSubscription now throws SubscriptionResponseErrorException
    • updatePrepaidSubscriptionConfiguration now throws ApiException when the status code is 422
  • Components fixes:

    • removed PrepaidComponentPricePoint. Use CreatePrepaidComponentPricePoint when creating price points for PrepaidComponent together with component instead
    • added prepaid-specific properties to ComponentPricePoint (response model)
    • removed upgrade_charge and downgrade_credit from EbbComponent, OnOffComponent and MeteredComponent request models (not applicable for this type of component)
    • removed deprecated priceInCents from component request models
    • removed prices from OnOffComponent request model (unitPrice should be used)
    • Fixed ComponentPricePoint expirationIntervalUnit type
    • corrected some descriptions
    • Define exceptions for create component price points operations
  • Currency Prices fixes:

    • add currencyPrices query parameter to readComponentPricePoint
    • UpdateCurrencyPrice price is now double instead of int
    • Add PriceId and PricePointId to CurrencyPrice
    • Return verbose exception message for currency prices operations
  • Events fixes:

    • Added EventKey enum and filled it with missing event types
    • merged SubscriptionGroupSignupFailure and SubscriptionGroupSignupFailure and SubscriptionGroupSignupSuccess into SubscriptionGroupSignupEventData.
    • documented key to eventSpecificData mappings.
    • removed EventType used in events endpoints for filter. EventKey should be used instead.
  • Misc:

    • Added missing properties and types for Invoice
    • fixed recordEvent and bulkRecordEvents. Now they work with default environment, with subdomain specified during client initialization. They no longer need subdomain provided to the method execution
    • Fixed types for models required for update subscription group and add subscription to group operations
    • Make initiateDelayedCancellation and cancelDunning throw ErrorListResponseException on 422 error
    • added processing Invoice Status
    • Fix errors for Subscription Notes
    • Add error model for listOffers
    • Use date/dateTime instead of string for filtering when listing products and product families
    • Now it's possible to list archived product price points using archived property with listProductPricePoints

Full Changelog: 5.2.0...6.0.0

5.2.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 17 Oct 14:49
4a71aae

What's Changed

  • Added tax_exempt_reason and default_auto_renewal_profile_id to Customer
  • Added received_on to InvoicePayment and CreateInvoicePayment
  • Added product_price_point_id and product_price_point_handle to UpdateSubscription
  • Improved some properties descriptions

Full Changelog: 5.1.0...5.2.0

5.1.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 27 Sep 10:51
dd5de92

What's Changed

  • Add imported to subscription cancellation_method
  • Add id filter to List Products API

Full Changelog: 5.0.0...5.1.0

5.0.0

Choose a tag to compare

@michalpierog michalpierog released this 21 Aug 14:25
9c593ab

What's Changed

  • DE-934 Setup tests on a new site by @michalpierog in #141
  • [DE-932] Release 5.0.0 by @maciej-nedza in #142
  • DE-921 DE-922 Fix problem with interval units - interval units now can be nullable in various contexts, ExtendedIntervalUnit was renamed to ExpirationIntervalUnit, now ExpirationIntervalUnit is used in SubscriptionCustomPrice, CreatePrepaidComponentPricePoint, CreateProductPricePoint, CreateOrUpdateProduct, PrepaidComponent, ProductPricePoint and Product for expirationIntervalUnit property. This enum has additional value of never (this has not changed)
  • DE-921 DE-924 Reworked vaults - CurrentVault enum was renamed to AllVaults and filled with previously missing values. BankAccountVault was filled with missing values. ApplePayVault was added with the vault supporting this payment method. CreditCardVault was added with vaults supporting this payment method. PayPalVault was added with vaults supporting this payment method. Models for respective payment profiles types now use respective enums.
  • DE-910 Distinguish response payment profiles based on the paymentType. PaymentProfileResponsePaymentProfile was renamed to PaymentProfile.ApplePayPaymentProfile, and PayPalPaymentProfile were added as possible PaymentProfile in PaymentProfileResponse. Fixed a bug, when response payment profile couldn't be deserialized due to missing fields.
  • Added publicUrlExpires_on to the Invoice
  • Added achLateReject to the InvoiceRefund
  • Added tax-related properties to InvoiceTaxComponentBreakout and InvoiceTax
  • SUB-4037 Add taxIncluded to ComponentCustomPrice. Added request model for Activate Event-Based Component endpoint, SubscriptionComponentActivateEventBasedComponent
    productFamilyId in endpoint paths parameters is now string, to enable searching by both handle and id
  • [DE-932] Rename Chargify API by @michalpierog in #143

Full Changelog: 4.0.0...5.0.0