feat: Implement Klarna payment module #1348
Open
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.
Adds a new payment module for Klarna, enabling Klarna Payments integration.
Key features implemented:
Smartstore.Klarna) includingmodule.json.KlarnaHttpClient) for communicating with the Klarna Payments API (sessions, orders, tokens). Includes request/response models and error handling.KlarnaPaymentProvider) implementingIPaymentMethodwith logic for processing payments (session creation) and placeholders for capture, refund, and void operations.KlarnaSettings) for API credentials and environment, with an admin UI for management (supporting multi-store overrides).KlarnaPaymentViewComponent) and views for rendering Klarna elements in the checkout process (placeholder for Klarna JS SDK integration).KlarnaAdminController,KlarnaController) for settings management and handling Klarna callbacks/notifications (placeholders for full implementation).Further work will be required to fully implement the client-side JavaScript SDK integration, complete the payment processing logic in the provider (capture, refund, void), and thoroughly test the end-to-end payment flow.