feat: Implement Klarna payment module#1348
Open
muratcakir wants to merge 1 commit into
Open
Conversation
Adds a new payment module for Klarna, enabling Klarna Payments integration. Key features implemented: - Basic module structure (`Smartstore.Klarna`) including `module.json`. - Klarna API client (`KlarnaHttpClient`) for communicating with the Klarna Payments API (sessions, orders, tokens). Includes request/response models and error handling. - Klarna payment provider (`KlarnaPaymentProvider`) implementing `IPaymentMethod` with logic for processing payments (session creation) and placeholders for capture, refund, and void operations. - Configuration settings (`KlarnaSettings`) for API credentials and environment, with an admin UI for management (supporting multi-store overrides). - UI components (`KlarnaPaymentViewComponent`) and views for rendering Klarna elements in the checkout process (placeholder for Klarna JS SDK integration). - Admin and public controllers (`KlarnaAdminController`, `KlarnaController`) for settings management and handling Klarna callbacks/notifications (placeholders for full implementation). - Localization resources for English and German. - Initial unit tests for the API client and payment provider, establishing the testing structure. 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.
EnesEfeTokta
approved these changes
Nov 22, 2025
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.
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.