PHPackages                             99x/craft-vipps-suite - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. 99x/craft-vipps-suite

ActiveCraft-plugin[Utility &amp; Helpers](/categories/utility)

99x/craft-vipps-suite
=====================

A Vipps Suite plugin for CraftCMS

1.0.3(2mo ago)02↓90.9%proprietaryPHPPHP &gt;=8.0.2CI passing

Since Apr 1Pushed 2mo agoCompare

[ Source](https://github.com/99x/craft-vipps-suite)[ Packagist](https://packagist.org/packages/99x/craft-vipps-suite)[ RSS](/packages/99x-craft-vipps-suite/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependencies (10)Versions (5)Used By (0)

Vipps Suite
===========

[](#vipps-suite)

A Vipps Suite plugin for CraftCMS. Supports recurring subscription agreements and one-time payments without requiring Craft Commerce.

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

[](#installation)

Install via Composer:

```
composer require 99x/craft-vipps-suite
```

Then install the plugin in Craft:

```
./craft plugin/install vipps-suite
```

### Configuration

[](#configuration)

1. Navigate to **Settings &gt; Plugins &gt; Vipps Suite** in the Craft CMS Control Panel
2. Configure the following credentials (preferably using environment variables):
    - **Client ID**: `$VIPPS_CLIENT_ID`
    - **Client Secret**: `$VIPPS_CLIENT_SECRET`
    - **Merchant Serial Number (MSN)**: `$VIPPS_MERCHANT_SERIAL_NUMBER`
    - **Subscription Key (Primary)**: `$VIPPS_SUBSCRIPTION_KEY_PRIMARY`
    - **Subscription Key (Secondary)**: `$VIPPS_SUBSCRIPTION_KEY_SECONDARY`

### Environment Variables

[](#environment-variables)

Add these to your `.env` file:

```
# Required - OAuth credentials
VIPPS_CLIENT_ID=your_client_id_here
VIPPS_CLIENT_SECRET=your_client_secret_here

# Required - Merchant Serial Number
VIPPS_MERCHANT_SERIAL_NUMBER=your_msn_here

# Required - Subscription API keys
VIPPS_SUBSCRIPTION_KEY_PRIMARY=your_primary_key_here
VIPPS_SUBSCRIPTION_KEY_SECONDARY=your_secondary_key_here

# Optional - Vipps API base URL (defaults to production)
VIPPS_BASE_URL=https://api.vipps.no

# Optional - System information for Vipps API headers
VIPPS_SYSTEM_NAME=Craft CMS
VIPPS_SYSTEM_VERSION=4.14.15
VIPPS_SYSTEM_PLUGIN_NAME=Vipps Suite
VIPPS_SYSTEM_PLUGIN_VERSION=1.0.0
```

### Docker / DDEV Development Setup

[](#docker--ddev-development-setup)

```
# Run code quality checks
ddev composer test

# Fix code style issues
ddev composer fix-cs

# Run PHPStan only
ddev composer phpstan

# Run ECS only
ddev composer check-cs
```

### Requirements

[](#requirements)

**Current Environment:**

- Craft CMS 4.14.0 or later
- PHP 8.0.2 or later
- MySQL 8.0.32 or later

**Target Compatibility:**

- Craft CMS 5.x (code is written to be forward-compatible)
- PHP 8.2+ (code is written to be forward-compatible)
- MySQL 8.x (already compatible)

**Additional Requirements:**

- Vipps merchant account
- Vipps API credentials (Client ID, Client Secret, Subscription Keys, MSN)

**Note**: While the plugin is developed on Craft CMS 4 and PHP 8.0.2, all code is written to be compatible with Craft CMS 5 and PHP 8.2 to ensure smooth future upgrades. See [Forward Compatibility Guidelines](docs/context-docs/03-guidelines/index.md#forward-compatibility) for details.

### Getting Vipps Credentials

[](#getting-vipps-credentials)

1. Sign up for a Vipps merchant account
2. Access the Vipps Developer Portal
3. Create an application to get OAuth credentials (Client ID and Client Secret)
4. Obtain Subscription API keys (Primary and Secondary)
5. Get your Merchant Serial Number (MSN) from the Vipps MobilePay business portal

### Vipps Login Setup

[](#vipps-login-setup)

The plugin includes a complete Vipps Login integration that allows users to authenticate using their Vipps account.

#### Using Vipps Suite in Templates

[](#using-vipps-suite-in-templates)

The plugin provides a global Twig variable `vippsSuite` that you can use in any template:

**Vipps Login:**

```
{# Simple login link with default redirects #}
Login with Vipps

{# Login link with custom redirect URLs #}

    Login with Vipps

{# Conditional display based on login status #}
{% if currentUser is null %}

        Login with Vipps

{% else %}
    Logout
{% endif %}
```

**Agreement Templates:**

```
{# Link to agreement templates page #}
View Agreement Templates

{# With custom redirect URLs #}

    View Agreement Templates

```

**Check Active Agreement:**

```
{# Check if current user has an active agreement #}
{% if vippsSuite.hasActiveAgreement() %}
    You have an active agreement!
    {# Show agreement content #}
{% else %}
    You don't have an active agreement.
    View Templates
{% endif %}

{# Combine with user check #}
{% if currentUser and vippsSuite.hasActiveAgreement() %}
    {# Show premium content #}
{% endif %}
```

**Donations:**

```
{# Link to donations page #}
Make a Donation
```

**Unified Form:**

```
{# Link to unified form page (supports both agreements and payments) #}
Become a Donor

{# Form submission URL #}

    {{ csrfInput() }}

    Subscribe

```

#### Vipps Login Flow

[](#vipps-login-flow)

1. User clicks the login link generated by `vippsSuite.loginUrl()`
2. User is redirected to Vipps authorization page
3. User authenticates with Vipps
4. Vipps redirects back to your site
5. Plugin automatically creates or links the user account
6. User is logged into Craft CMS
7. User is redirected to the success URL (or error URL if login failed)

### Next Steps

[](#next-steps)

After installation and configuration:

1. Configure Vipps Login callback URI in your Vipps portal
2. Add Vipps Login button to your templates using `vippsSuite.loginUrl()`
3. Create agreement templates in **Vipps Suite &gt; Agreement Templates**
4. Set up agreement template selection pages
5. Configure webhook endpoints for agreement callbacks
6. Set up charge scheduling for recurring payments

For detailed information, see the [Product Context](docs/context-docs/01-general-context/product/index.md) and [Technical Context](docs/context-docs/01-general-context/technical/index.md) documentation.

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance85

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

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

Every ~4 days

Total

4

Last Release

78d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fa3db845779c9398f1694b019ac6458a4a1426a3e9e6ababaf55a7c8916e7623?d=identicon)[egilfujikawanes](/maintainers/egilfujikawanes)

---

Top Contributors

[![alexandre-99x](https://avatars.githubusercontent.com/u/212902095?v=4)](https://github.com/alexandre-99x "alexandre-99x (6 commits)")

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/99x-craft-vipps-suite/health.svg)

```
[![Health](https://phpackages.com/badges/99x-craft-vipps-suite/health.svg)](https://phpackages.com/packages/99x-craft-vipps-suite)
```

###  Alternatives

[spicyweb/craft-neo

A Matrix-like field type with block hierarchy

393813.5k10](/packages/spicyweb-craft-neo)[craftcms/feed-me

Import content from XML, RSS, CSV or JSON feeds into entries, categories, Craft Commerce products, and more.

293952.6k30](/packages/craftcms-feed-me)[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k59](/packages/verbb-formie)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

54681.3k17](/packages/solspace-craft-freeform)[verbb/comments

Add comments to your site.

13753.9k](/packages/verbb-comments)[verbb/vizy

A flexible visual editor field for Craft.

4250.4k](/packages/verbb-vizy)

PHPackages © 2026

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