Skip to content

Releases: weareplanet/plugin-core

0.2.4

Choose a tag to compare

@alberto-wallee alberto-wallee released this 01 Jul 12:13

Features added:

  • AbstractDomainException base class implementing the Dual-Message pattern (technical message plus localized reason) for all domain exceptions.
  • PaymentUrl value object to encapsulate payment URL handling across services.
  • PaymentMethodMapperTrait for consistent mapping of SDK configurations to domain entities.
  • TransactionCommentCollection and additional typed collection classes replacing array-based return types across SDK gateways and services (breaking).
  • WebhookService::installWebhook now returns the created WebhookUrl instead of void (breaking).
  • WebhookService::updateWebhookListener and updateWebhookUrl now return the updated WebhookListener and WebhookUrl instead of void (breaking).
  • RecurringTransactionService::processRecurringPayment now throws MissingTokenException and TransactionException with localized reasons instead of RuntimeException when the original transaction has no token or billing address (breaking).

Refactoring:

  • Removed the unused TokenService dependency from the RecurringTransactionService constructor (breaking).
  • Replaced getLocalizedReason() with getLocalizedMessage() across the domain exception hierarchy (breaking).
  • Sanitized log and exception messages by moving sensitive identifiers (e.g. spaceId, transactionId) out of message strings into structured context arrays.

0.1.6

Choose a tag to compare

@alberto-wallee alberto-wallee released this 01 Jul 12:25

Features added:

  • AbstractDomainException base class implementing the Dual-Message pattern (technical message plus localized reason) as the foundation for all domain exceptions.
  • PaymentUrl value object to encapsulate payment URL handling across services.
  • PaymentMethodMapperTrait for consistent mapping of SDK payment method configurations to domain entities.
  • Typed collection classes replacing array-based return types and parameters across gateways and services (breaking).
  • WebhookService::installWebhook now returns the created WebhookUrl instead of void (breaking).
  • WebhookService::updateWebhookListener and updateWebhookUrl now return the updated WebhookListener and WebhookUrl instead of void (breaking).
  • RecurringTransactionService::processRecurringPayment now throws MissingTokenException and TransactionException with localized reasons instead of RuntimeException when the original transaction has no token or billing address (breaking).

Refactoring:

  • Replaced getLocalizedReason() with getLocalizedMessage() across the domain exception hierarchy (breaking).
  • Standardized localized error messages and added structured spaceId/transactionId context to logging across the PaymentMethod, Refund, Transaction and webhook services.

0.2.3

Choose a tag to compare

@alberto-wallee alberto-wallee released this 19 Jun 15:17

Features added:

  • TransactionVoid object returned from void() and a failureReason property on TransactionCompletion to expose localized completion and void failures (breaking: void() no longer returns a state string).
  • Properties failureReason, failedOn and createdOn on the Refund entity to preserve API failure context.
  • Properties customerIdentifier and createdOn on the Token entity, populated from the SDK token email or reference.
  • RefundException, TokenException and MissingTokenException carrying localized reasons for refund and token failures.
  • TransactionCommentException and WebhookSignatureValidationException to standardize localized error handling in the comment and webhook-signature gateways.
  • Dynamic entity-service resolution in DefaultStateFetcher for legacy webhook state retrieval across supported entities.

Bug fixes:

  • TokenService now throws a localized TokenException on creation failure instead of silently returning null and dropping the gateway's rejection reason.
  • Recurring charges now retain the failure reason, user failure message and timestamps that the previous mapping discarded.

Refactoring:

  • Shared FailureReasonMapperTrait, TransactionMapperTrait, TokenMapperTrait and DateTimeMapperTrait to centralize SDK-to-domain mapping and remove duplication across gateways.
  • Added spaceId and transactionId context to LineItemConsistencyService logging for improved traceability.

0.1.5

Choose a tag to compare

@alberto-wallee alberto-wallee released this 19 Jun 15:07

Features added:

  • TransactionVoid object returned from void() and a failureReason property on TransactionCompletion to expose localized completion and void failures (breaking: void() no longer returns a state string).
  • Properties failureReason, failedOn and createdOn on the Refund entity to preserve API failure context.
  • Properties customerIdentifier and createdOn on the Token entity, populated from the SDK token email or reference.
  • RefundException, TokenException and MissingTokenException carrying localized reasons for refund and token failures.
  • TransactionCommentException and WebhookSignatureValidationException to standardize localized error handling in the comment and webhook-signature gateways.
  • Recurring transactions no longer auto-create a token; the original transaction must be created with tokenization enabled (breaking).

Bug fixes:

  • TokenService now throws a localized TokenException on creation failure instead of silently returning null and dropping the gateway's rejection reason.
  • Recurring charges now retain the failure reason, user failure message and timestamps that the previous mapping discarded.

Refactoring:

  • Shared FailureReasonMapperTrait, TransactionMapperTrait, TokenMapperTrait and DateTimeMapperTrait to centralize SDK-to-domain mapping and remove duplication across gateways.
  • Added spaceId and transactionId context to LineItemConsistencyService logging for improved traceability.

0.1.4

Choose a tag to compare

@alberto-wallee alberto-wallee released this 02 Jun 15:07

Features added:

  • Dynamic SDK service resolution in DefaultStateFetcher for fallback state fetching based on the webhook entity's technical name (legacy mode).
  • Comprehensive unit test coverage validating state fetching across all supported webhook entities (DeliveryIndication, ManualTask, Refund, Token, Transaction, TransactionCompletion, TransactionInvoice, TransactionVoid).

0.1.3

Choose a tag to compare

@alberto-wallee alberto-wallee released this 28 May 10:33

Features added:

  • Granular payment method synchronization logic with distinct create, update, and orphan deactivation operations.
  • Signature-based conditional updates for payment methods to skip redundant database write operations.
  • LocalizedString value object to encapsulate and resolve localized SDK data and locale fallback strategies.
  • Webhook listener creation support for the notifyEveryChange flag and custom listener configurations.
  • Method synchronizeWebhooks in WebhookService to align active portal webhooks with configured registry entities.
  • Method getFailureMessage in TransactionService to safely retrieve and fall back to localized user-facing messages.
  • Method getRelativeImagePath in PaymentMethod to resolve clean relative image resource paths.
  • Replaced string state properties with strict State enums to improve type safety across domains.
  • Nullable properties for Token version and spaceId as well as Transaction version to support un-persisted records.

0.2.2

Choose a tag to compare

@alberto-wallee alberto-wallee released this 22 May 13:40
  • Feature: Introduced the LocalizedString value object to support locale normalization, fallback logic, and handling of localized API strings.
  • Feature: Refactored payment method synchronization by replacing monolithic synchronization with a signature-based diffing algorithm and granular repository operations to minimize database writes.
  • Feature: Re-architected webhook synchronization to support endpoint resolution, event state configurations, listener diffing, and notifyEveryChange notifications.
  • Refactor: Aligned LoggerInterface::log() with the PSR-3 specification by changing the $level parameter to mixed.
  • Refactor: Standardized imports and typehint references by removing RoundingStrategy and IntegrationMode aliases.

0.1.2

Choose a tag to compare

@alberto-wallee alberto-wallee released this 29 Apr 14:04

Features added:

  • CSP nonce support for payment integration
  • Headless and custom UI support via renderJs
  • Reactive frontend metadata DTOs

0.2.1

Choose a tag to compare

@alberto-wallee alberto-wallee released this 17 Apr 13:55
  • Architectural Change: Decoupled DTO-based payment rendering with global handler registry, to support multiple frontend and backend frameworks.
  • Feature: Added framework-agnostic Request::create().

0.2.0

Choose a tag to compare

@alberto-wallee alberto-wallee released this 02 Apr 10:10

Features added:

  • Checkout flow (creation, updates, confirmation through integration modes lightbox, iframes and payment pages)
  • Transaction completions (void & capture)
  • Document downloads
  • Payment method synchronization
  • Recurring payment
  • Refund transactions
  • Webhook management