Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Klarna Invoice

Klarna Invoice Laravel Package

solidworx/klarna-invoice

Laravel package for Klarna Invoice payments. Provides helpers and integration scaffolding to create invoices, handle checkout/payment flows, and manage customer/order details within your Laravel app.

View on GitHub
Deep Wiki
Context7

The unofficial repo of Klarna Invoice service with Composer added. We use it with https://github.com/Payum/KlarnaInvoice

Frequently asked questions about Klarna Invoice
How do I integrate Klarna Invoice into a Laravel app without using Payum?
This package *requires* Payum (payum/payum) as a dependency, so you must install it first. Payum acts as a payment abstraction layer, enabling multi-gateway support. If you want a direct Klarna SDK, consider klarna/hosted-checkout-php or a dedicated Laravel wrapper like spatie/laravel-klarna instead.
What Laravel versions does this package support?
The package is designed for Laravel 9.x/10.x, assuming PHP 8+. It relies on Payum’s Laravel bridge (payum/laravel-payum), so ensure your Laravel version aligns with Payum’s latest release. Check the Payum docs for exact compatibility.
Does this package handle Klarna’s webhook notifications for payment updates?
No, this package does not include built-in webhook handling. You’ll need to manually set up a Laravel route to receive Klarna’s webhook payloads and validate them (e.g., using klarna/hosted-checkout-php). Consider using Laravel’s event system to trigger actions after processing webhooks.
Can I use this for bulk invoice generation (e.g., 100+ orders at once)?
The package doesn’t explicitly optimize for bulk operations, but you can offload Klarna API calls to Laravel queues (e.g., using Payum’s Capture action). Test performance with your expected load, as Klarna’s API may impose rate limits. Consider batching requests if needed.
How do I handle declined or pending Klarna Invoice payments in my Laravel app?
Payum’s action-based workflow (e.g., Capture, Authorize) will throw exceptions for declined payments, which you can catch and log. For pending invoices, use Klarna’s API to check status later or set up webhooks to notify your app of updates. The package doesn’t include custom logic for these cases.
Is this package actively maintained? Should I use it in production?
This is an unofficial package with no official Klarna backing, and its last release was in 2026 (hypothetical). Monitor Klarna’s API changes and Payum updates closely. For production, consider testing thoroughly and having fallback plans for API deprecations or breaking changes.
How do I configure Payum to work with Klarna Invoice in Laravel?
First, install `payum/payum` and `payum/laravel-payum`. Then, configure the KlarnaInvoice gateway in `config/payum.php` with your Klarna credentials. Use the Payum service provider to register the gateway, and you can start actions like `Capture` or `Authorize` via Payum’s API.
Are there pre-built tests for edge cases like currency mismatches or failed payments?
The package doesn’t include Laravel-specific tests, but Payum provides test gateways to mock Klarna responses. You’ll need to write custom tests for your use case, such as simulating declined payments or currency validation errors, using Payum’s testing utilities.
Can I migrate from direct Klarna API calls to this package without downtime?
Yes, adopt a phased approach: start by integrating Payum + KlarnaInvoice for new orders, then migrate existing orders to use Payum tokens. Deprecate direct API calls gradually, and use webhooks to reconcile payment statuses. This minimizes risk during transition.
What’s the best way to store Klarna Invoice tokens or references in Laravel?
The package doesn’t enforce a database structure, so store Klarna tokens or invoice references in a Laravel model (e.g., `payments` table) with fields like `klarna_token`, `invoice_id`, and `status`. Use Laravel’s migrations to ensure consistency across environments.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity