v1.0.0
As part of an ongoing effort to improve the consistency and usability of our SDKs, we’ve updated the SDK generation process. This update introduces breaking changes to the SDK. All breaking changes affect only method signatures and namespacing, not core record types or properties. SDK initialization, configuration, business logic, and workflows remain unchanged. For more information on precise method signatures and example usage, please see the SDK reference on GitHub.
Type package consolidated
All 212 type classes have moved from per-resource types.* packages into io.github.payabli.api.types. Resource-specific request classes (e.g. RequestPaymentV2, SearchNotificationLogsRequest) remain in resources.<resource>.requests.*.
Removed per-resource type packages
Request body wrapper types removed
The following types are deleted. Their fields are now set directly on the parent request builder.
Removed types and their replacements
PayMethodCredit staged builder enforces field order
The builder now requires cardexp() → cardnumber() → method(PayMethodCreditMethod.CARD) before optional fields are accessible. Passing optional setters before the required chain causes a compile error. Affects authorize, getpaid, getpaidv2, authorizev2, and subscription.newSubscription.
RequestCreditPaymentMethod also gains a required method(RequestCreditPaymentMethodMethod.ACH) field for MoneyIn.credit.
Collection type changes
Full list
Notification log ID type changed
getNotificationLog, retryNotificationLog, and bulkRetryNotificationLogs now accept String instead of UUID for ID parameters. bulkRetryNotificationLogs changes from List<UUID> to List<String>.
Subscription date format changed
ScheduleDetail.startDate and ScheduleDetail.endDate now use ISO 8601 (yyyy-MM-dd) instead of MM-dd-yyyy.