Skip to content

feat: Implement Klarna payment module - #1348

Open
muratcakir wants to merge 1 commit into
mainfrom
feature/klarna-payment-module
Open

muratcakir wants to merge 1 commit into
mainfrom
feature/klarna-payment-module

Conversation

@muratcakir

Copy link
Copy Markdown
Contributor

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.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants