Skip to content

Conversation

@muratcakir
Copy link
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants