Feat: Improve Saas Accounts payments processors#61
Merged
marioserrano09 merged 7 commits intomainfrom Apr 19, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Dynamia Platform/Extensions release to 26.4.1 and extends the SaaS payment-provider configuration model/UI (including per-account custom payment provider selection), alongside a refactor/documentation expansion of the ZK ProviderPickerBox used to pick provider implementations from the IoC container.
Changes:
- Bump Maven and npm package versions from 26.4.0 → 26.4.1 across platform, themes, and extensions.
- Enhance SaaS payments configuration: new
AccountPaymentProvidersecret/extra fields,Account.customPaymentProvider, and descriptor updates to expose these in forms/tables. - Improve
ProviderPickerBoxmaintainability with helper methods + expanded Javadoc.
Reviewed changes
Copilot reviewed 62 out of 63 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
pom.xml |
Bumps parent project version to 26.4.1. |
themes/pom.xml |
Aligns themes module with 26.4.1 parent. |
themes/theme-dynamical/sources/pom.xml |
Updates parent + ZK dependency versions to 26.4.1. |
platform/ui/zk/pom.xml |
Aligns ZK UI module and internal dependencies to 26.4.1. |
platform/ui/ui-shared/pom.xml |
Aligns shared UI module dependencies to 26.4.1. |
platform/starters/zk-starter/pom.xml |
Updates starter dependency versions to 26.4.1. |
platform/core/actions/pom.xml |
Aligns actions module dependencies to 26.4.1. |
platform/core/commons/pom.xml |
Aligns commons module to 26.4.1. |
platform/core/crud/pom.xml |
Aligns CRUD module dependencies to 26.4.1. |
platform/core/domain/pom.xml |
Aligns domain module to 26.4.1. |
platform/core/domain-jpa/pom.xml |
Aligns domain-jpa module dependencies to 26.4.1. |
platform/core/integration/pom.xml |
Aligns integration module dependencies to 26.4.1. |
platform/core/io/pom.xml |
Aligns IO module to 26.4.1. |
platform/core/navigation/pom.xml |
Aligns navigation module dependencies to 26.4.1. |
platform/core/reports/pom.xml |
Aligns reports core module to 26.4.1. |
platform/core/templates/pom.xml |
Aligns templates module dependencies to 26.4.1. |
platform/core/viewers/pom.xml |
Aligns viewers module dependencies to 26.4.1. |
platform/core/web/pom.xml |
Aligns web module dependencies to 26.4.1. |
platform/packages/sdk/package.json |
Bumps JS SDK version to 26.4.1. |
platform/packages/sdk/package-lock.json |
Updates lockfile version entries to 26.4.1. |
platform/packages/ui-core/package.json |
Bumps UI core package version to 26.4.1. |
platform/packages/vue/package.json |
Bumps Vue adapter package version to 26.4.1. |
platform/ui/zk/src/main/java/tools/dynamia/zk/ui/ProviderPickerBox.java |
Refactors provider picker reflection/selection logic and adds extensive Javadoc. |
extensions/pom.xml |
Aligns extensions parent to 26.4.1. |
extensions/security/sources/pom.xml |
Aligns security extension parent to 26.4.1. |
extensions/security/sources/core/pom.xml |
Updates security core dependencies to 26.4.1. |
extensions/security/sources/ui/pom.xml |
Updates security UI dependencies to 26.4.1. |
extensions/saas/sources/pom.xml |
Aligns SaaS extension parent to 26.4.1. |
extensions/saas/sources/api/pom.xml |
Updates SaaS API dependency versions to 26.4.1. |
extensions/saas/sources/core/pom.xml |
Updates SaaS core dependency versions to 26.4.1. |
extensions/saas/sources/jpa/pom.xml |
Updates SaaS JPA dependency versions to 26.4.1. |
extensions/saas/sources/remote/pom.xml |
Updates SaaS remote dependency versions to 26.4.1. |
extensions/saas/sources/ui/pom.xml |
Updates SaaS UI dependency versions to 26.4.1. |
extensions/saas/sources/core/src/main/java/tools/dynamia/modules/saas/domain/AccountPaymentProvider.java |
Adds new payment-provider secret/extra fields. |
extensions/saas/sources/core/src/main/java/tools/dynamia/modules/saas/domain/Account.java |
Adds per-account customPaymentProvider relation. |
extensions/saas/sources/core/src/main/java/tools/dynamia/modules/saas/AccountPaymentProcessor.java |
Changes processor interface shape (adds default extra-label methods; removes processing method). |
extensions/saas/sources/ui/src/main/resources/META-INF/descriptors/AccountRegionTable.yml |
Shows paymentProvider in regions table. |
extensions/saas/sources/ui/src/main/resources/META-INF/descriptors/AccountRegionForm.yml |
Updates form layout columns. |
extensions/saas/sources/ui/src/main/resources/META-INF/descriptors/AccountPaymentProviderTable.yml |
Removes serviceURL from table listing. |
extensions/saas/sources/ui/src/main/resources/META-INF/descriptors/AccountPaymentProviderForm.yml |
Exposes new secret/extra fields + grouping and updates layout. |
extensions/saas/sources/ui/src/main/resources/META-INF/descriptors/AccountForm.yml |
Adds customPaymentProvider field to account configuration group. |
extensions/saas/packages/saas-sdk/package.json |
Bumps SaaS JS SDK version to 26.4.1. |
extensions/reports/sources/pom.xml |
Aligns reports extension parent to 26.4.1. |
extensions/reports/sources/api/pom.xml |
Aligns reports API module to 26.4.1. |
extensions/reports/sources/core/pom.xml |
Aligns reports core module dependencies to 26.4.1. |
extensions/reports/sources/ui/pom.xml |
Aligns reports UI module dependencies to 26.4.1. |
extensions/reports/packages/reports-sdk/package.json |
Bumps reports JS SDK version to 26.4.1. |
extensions/finances/sources/pom.xml |
Aligns finances extension parent to 26.4.1. |
extensions/finances/sources/api/pom.xml |
Aligns finances API module to 26.4.1. |
extensions/file-importer/sources/pom.xml |
Aligns file-importer extension parent to 26.4.1. |
extensions/file-importer/sources/core/pom.xml |
Aligns file-importer core dependency versions to 26.4.1. |
extensions/file-importer/sources/ui/pom.xml |
Aligns file-importer UI dependency versions to 26.4.1. |
extensions/entity-files/sources/pom.xml |
Aligns entity-files extension parent to 26.4.1. |
extensions/entity-files/sources/core/pom.xml |
Aligns entity-files core dependencies to 26.4.1. |
extensions/entity-files/sources/s3/pom.xml |
Aligns entity-files S3 module dependency versions to 26.4.1. |
extensions/entity-files/sources/ui/pom.xml |
Aligns entity-files UI module dependency versions to 26.4.1. |
extensions/entity-files/packages/files-sdk/package.json |
Bumps entity-files JS SDK version to 26.4.1. |
extensions/email-sms/sources/pom.xml |
Aligns email-sms extension parent + dependencies to 26.4.1. |
extensions/email-sms/sources/core/pom.xml |
Aligns email-sms core dependencies to 26.4.1. |
extensions/email-sms/sources/ui/pom.xml |
Aligns email-sms UI dependencies to 26.4.1. |
extensions/dashboard/sources/pom.xml |
Aligns dashboard extension dependencies to 26.4.1. |
README.md |
Updates documented dependency versions and CalVer examples to 26.4.1. |
Files not reviewed (1)
- platform/packages/sdk/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)
extensions/saas/sources/core/src/main/java/tools/dynamia/modules/saas/AccountPaymentProcessor.java:7
- The Javadoc still describes this as an API for "processing account payments", but the processing method was removed and the interface now only exposes metadata (id/name/labels). Either restore the processing contract or update the Javadoc to reflect the new responsibility to avoid misleading implementers.
/**
* Basic API to implement processing account payments. You should implement
* your own payment processor and register it using spring annotations
* registry.
*/
Comment on lines
+106
to
+107
| public void setWebCheckoutSecret(String webcheckoutSecret) { | ||
| this.webCheckoutSecret = webcheckoutSecret; |
Comment on lines
+17
to
+19
| webCheckoutSecret: | ||
| label: Webcheckout URL | ||
| integritySecret: |
Comment on lines
+343
to
344
| } catch (Exception _) { | ||
| } |
Comment on lines
151
to
153
| private void initModel() { | ||
| if (providerClass != null) { | ||
| try { |
|
|
||
| configuration: | ||
| fields: [ locale, timeZone,skin, maxUsers,statusDescription,uuid,instanceUuid,creationDate,remote,autoInit,requiredInstanceUuid,redirect,templateAccount ] | ||
| fields: [ locale, timeZone,skin, maxUsers,statusDescription,uuid,instanceUuid,creationDate,customPaymentProvider,remote,autoInit,requiredInstanceUuid,redirect,templateAccount, ] |
Comment on lines
+19
to
22
| Starting with version **26.4.1**, Dynamia Platform adopts **Calendar Versioning (CalVer)** with the format `YY.MM.MINOR`. This means: | ||
| - **All modules share the same version**: Core, extensions, starters, themes—everything is released together | ||
| - **26.4.0** = First release of February 2026 (Year 26, Month 02, Release 0) | ||
| - **26.4.1** = First release of February 2026 (Year 26, Month 02, Release 0) | ||
| - **26.2.1** = Second release of February 2026 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.