PHPackages                             shasan-dev/laravel-klarna-payments - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. shasan-dev/laravel-klarna-payments

ActiveLibrary[Payment Processing](/categories/payments)

shasan-dev/laravel-klarna-payments
==================================

A package to utilise Klarna Payments

1.0(1y ago)121MITPHPPHP ^8.2

Since Oct 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/shasan-dev/laravel-klarna-payments)[ Packagist](https://packagist.org/packages/shasan-dev/laravel-klarna-payments)[ RSS](/packages/shasan-dev-laravel-klarna-payments/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (13)Versions (2)Used By (0)

---

Laravel Klarna Payments
=======================

[](#laravel-klarna-payments)

This package integrates Klarna Payments into your Laravel application.

Installation
------------

[](#installation)

1. Install the package via Composer:

    ```
    composer require shasan-dev/laravel-klarna-payments
    ```
2. Publish the configuration file:

    ```
    php artisan vendor:publish --provider="LaravelKlarna\KlarnaPayments\KlarnaPaymentsServiceProvider" --tag="klarna-payments-config"
    ```
3. Update your `.env` file:

    ```
    KLARNA_USER_ID=your_user_id
    KLARNA_PASSWORD=your_password
    KLARNA_TESTMODE=true_or_false
    KLARNA_REGION=NA/OC/EU (default EU)

    ```

Usage
-----

[](#usage)

### Create a Controller

[](#create-a-controller)

```
php artisan make:controller KlarnaController
```

### Define Routes

[](#define-routes)

```
Route::get('payment/klarna-checkout', [KlarnaController::class, 'payment'])->name('klarna.checkout');
Route::get('payment/klarna-success', [KlarnaController::class, 'paymentSuccess'])->name('klarna.success');
```

### Payment Logic

[](#payment-logic)

In `KlarnaController`, handle the payment logic as follows:

```
use LaravelKlarna\KlarnaPayments\Facades\KlarnaPayments;

public function payment() {
    $data = [
        'order_amount' => 20 * 100,
        'order_lines' => [
            [
                'name' => 'Running shoe',
                'quantity' => 1,
                'quantity_unit' => 'pcs',
                'total_amount' => 20 * 100,
                'type' => 'physical',
                'unit_price' => 20 * 100,
            ]
        ],
        'purchase_country' => 'US',
        'purchase_currency' => 'USD',
        'intent' => 'buy',
    ];

    $sessionId = KlarnaPayments::createSession($data)->json()['session_id'];

    $redirectUrl = KlarnaPayments::createHppSession($sessionId, [
        'success' => route('klarna.success') . "?sid={{session_id}}&order_id={{order_id}}",
        'cancel' => route('home'),
        'back' => route('home'),
        'failure' => route('home') . "?sid={{session_id}}",
        'error' => route('home') . "?sid={{session_id}}",
    ])->json()['redirect_url'];

    return redirect()->to($redirectUrl);
}

public function paymentSuccess(Request $request) {
    $checkPayment = KlarnaPayments::checkPayment($request->get('order_id'));

    if ($checkPayment->json()['status'] === 'AUTHORIZED') {
        return 'Payment Success. Reference No. ' . $checkPayment->json()['klarna_reference'];
    }

    return 'Payment Not Successful';
}
```

### Final Steps

[](#final-steps)

Visit `/payment/klarna-checkout` to initiate a payment.

If you find this package helpful, don't forget to star it! Thanks.

License
-------

[](#license)

MIT License.

---

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

571d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/52e18093eec9bd09853448a2020a1a499a7a61de11a9dac0672a1d18a7f9cd29?d=identicon)[shasan-dev](/maintainers/shasan-dev)

---

Top Contributors

[![shasan-dev](https://avatars.githubusercontent.com/u/185229358?v=4)](https://github.com/shasan-dev "shasan-dev (3 commits)")

---

Tags

klarnaklarna-apiklarna-paymentslaravellaravelshasan-devlaravel-klarna-payments

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/shasan-dev-laravel-klarna-payments/health.svg)

```
[![Health](https://phpackages.com/badges/shasan-dev-laravel-klarna-payments/health.svg)](https://phpackages.com/packages/shasan-dev-laravel-klarna-payments)
```

###  Alternatives

[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[danestves/laravel-polar

A package to easily integrate your Laravel application with Polar.sh

7812.3k](/packages/danestves-laravel-polar)[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

852.2k1](/packages/musahmusah-laravel-multipayment-gateways)[creagia/laravel-redsys

Laravel Redsys Payments Gateway

2013.6k](/packages/creagia-laravel-redsys)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
