Releases: pfpayments/plugin-core
Releases · pfpayments/plugin-core
0.2.3
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
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
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
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
- Feature: Introduced the
LocalizedStringvalue 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
notifyEveryChangenotifications. - Refactor: Aligned
LoggerInterface::log()with the PSR-3 specification by changing the$levelparameter tomixed. - Refactor: Standardized imports and typehint references by removing
RoundingStrategyandIntegrationModealiases.
0.1.2
Features added:
- CSP nonce support for payment integration
- Headless and custom UI support via renderJs
- Reactive frontend metadata DTOs
0.2.1
- 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
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
0.1.1
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
0.1.0
Initial release