PHPackages                             codeiqbv/laravel-mww - 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. [API Development](/categories/api)
4. /
5. codeiqbv/laravel-mww

ActiveLibrary[API Development](/categories/api)

codeiqbv/laravel-mww
====================

Integration between Laravel and MijnWebwinkel

v0.1.0-beta.1(1y ago)00[4 PRs](https://github.com/CODEIQBV/laravel-mww/pulls)MITPHPPHP ^8.4CI passing

Since Nov 27Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/CODEIQBV/laravel-mww)[ Packagist](https://packagist.org/packages/codeiqbv/laravel-mww)[ Docs](https://github.com/codeiqbv/laravel-mww)[ GitHub Sponsors]()[ RSS](/packages/codeiqbv-laravel-mww/feed)WikiDiscussions main Synced today

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

Laravel MyOnlineStore Integration
=================================

[](#laravel-myonlinestore-integration)

[![Latest Version on Packagist](https://camo.githubusercontent.com/125ce694f5338cb076bc6b4ff41c62150c73f67901ef546ac559daa62e060992/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f6465697162762f6c61726176656c2d6d77772e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/codeiqbv/laravel-mww)[![Total Downloads](https://camo.githubusercontent.com/b8b25850a2a09b0c899509e855dc4ed844bf4df3e710f706d745fae31cb9ed8e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636f6465697162762f6c61726176656c2d6d77772e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/codeiqbv/laravel-mww)

A Laravel package for seamless integration with the MyOnlineStore API.

Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Configuration](#configuration)
- [Basic Usage](#basic-usage)
- [Articles](#articles)
- [Orders](#orders)
- [Payments](#payments)
- [Discount Codes](#discount-codes)
- [Shipping Methods](#shipping-methods)
- [Offline Locations](#offline-locations)
- [Query Builders](#query-builders)
- [Resources](#resources)
- [Data Transfer Objects](#data-transfer-objects)
- [Error Handling](#error-handling)
- [Testing](#testing)
- [Multi-tenant Usage](#multi-tenant-usage)

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

[](#installation)

You can install the package via composer:

```
composer require codeiqbv/laravel-mww
```

Configuration
-------------

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --tag="myonlinestore-config"
```

Add these environment variables to your `.env` file:

```
MYONLINESTORE_API_KEY=your_api_key
MYONLINESTORE_API_URL=https://api.myonlinestore.com
MYONLINESTORE_API_VERSION=1
MYONLINESTORE_MULTI_TENANT=false
MYONLINESTORE_LANGUAGE=nl_NL
MYONLINESTORE_TIMEOUT=30
```

Basic Usage
-----------

[](#basic-usage)

The package provides a fluent interface for all API operations:

```
use CodeIQ\LaravelMww\Facades\MyOnlineStore;

// Get all articles
$articles = MyOnlineStore::articles()->get();

// Get all orders
$orders = MyOnlineStore::ordersList()->get();
```

Articles
--------

[](#articles)

### Listing Articles

[](#listing-articles)

```
// Basic listing
$articles = MyOnlineStore::articles()->get();

// With filters
$articles = MyOnlineStore::articles()
    ->limit(50)
    ->offset(0)
    ->createdBetween('2024-01-01 00:00:00', '2024-03-01 23:59:59')
    ->language('en_GB')
    ->get();

// Get count
$count = MyOnlineStore::articles()->count();
```

### Single Article Operations

[](#single-article-operations)

```
// Get single article
$article = MyOnlineStore::articles()->find(123);

// Create article
$articleData = new CreateArticleData(
    name: 'New Product',
    description: 'Product description',
    sku: 'PROD-123',
    price: [
        'default' => 12.50,
        'action' => 9.95
    ]
);
$article = MyOnlineStore::articles()->create($articleData);

// Update article
$updateData = new UpdateArticleData(
    name: 'Updated Name',
    stock: 20
);
$article = MyOnlineStore::articles()->update(123, $updateData);

// Delete article
$success = MyOnlineStore::articles()->delete(123);

// Delete article image
$success = MyOnlineStore::articles()->deleteImage(456);
```

Orders
------

[](#orders)

### Listing Orders

[](#listing-orders)

```
// Basic listing
$orders = MyOnlineStore::ordersList()->get();

// With filters
$orders = MyOnlineStore::ordersList()
    ->limit(25)
    ->between('2024-01-01', '2024-03-01')
    ->status(1)
    ->archived(true)
    ->forDebtor('customer@example.com')
    ->orderBy('desc')
    ->get();

// Get count
$count = MyOnlineStore::ordersList()->count();
```

### Single Order Operations

[](#single-order-operations)

```
// Get single order
$order = MyOnlineStore::ordersList()->find(27);

// Create order
$orderData = new CreateOrderData(
    // ... order details
);
$order = MyOnlineStore::ordersList()->create($orderData);

// Update order
$updateData = new UpdateOrderData(
    status: 2,
    archived: true
);
$order = MyOnlineStore::ordersList()->update(27, $updateData);

// Create credit order
$creditData = new CreateCreditOrderData(
    credited_order_number: '272',
    status: 10
);
$creditOrder = MyOnlineStore::ordersList()->credit($creditData);
```

Payments
--------

[](#payments)

### Order Payments

[](#order-payments)

```
// Get order payments
$payments = MyOnlineStore::ordersList()
    ->payments(27, ['properties', 'mutations']);

// Create payment
$paymentData = new CreatePaymentData(
    gateway: 'mollie',
    method: 'ideal'
);
$payment = MyOnlineStore::ordersList()
    ->createPayment(27, $paymentData);

// Update payment
$updateData = new UpdatePaymentData(
    method: 'creditcard'
);
$payment = MyOnlineStore::ordersList()
    ->updatePayment(27, 'payment-id', $updateData);

// Delete payment
$success = MyOnlineStore::ordersList()
    ->deletePayment(27, 'payment-id');
```

### Payment Gateways

[](#payment-gateways)

```
// Get all gateways
$gateways = MyOnlineStore::payments()->gateways();

// Get store-specific gateways
$gateways = MyOnlineStore::payments()
    ->storeGateways('store-id');
```

Discount Codes
--------------

[](#discount-codes)

```
// List discount codes
$codes = MyOnlineStore::discountCodes()
    ->active()
    ->validBetween('2024-01-01', '2024-12-31')
    ->get();

// Create discount code
$codeData = new CreateDiscountCodeData(
    description: 'Summer Sale',
    percentage_discount: '10.00'
);
$code = MyOnlineStore::discountCodes()->create($codeData);

// Get single code
$code = MyOnlineStore::discountCodes()->find('SUMMER10');

// Update code
$updateData = new UpdateDiscountCodeData(
    active: false
);
$code = MyOnlineStore::discountCodes()->update('SUMMER10', $updateData);

// Delete code
$success = MyOnlineStore::discountCodes()->delete('SUMMER10');
```

Query Builders
--------------

[](#query-builders)

The package provides fluent query builders for:

- `ArticleQueryBuilder`
- `OrderQueryBuilder`
- `PaymentQueryBuilder`
- `DiscountCodeQueryBuilder`
- `LocationQueryBuilder`
- `ShippingQueryBuilder`

Each builder provides methods for filtering and manipulating the respective resources.

Resources
---------

[](#resources)

API responses are transformed through Laravel Resources:

- `ArticleResource`
- `OrderResource`
- `PaymentResource`
- `DiscountCodeResource`
- `OrderLineResource`
- `PriceResource`
- `TaxResource`
- `AddressResource`
- `DebtorResource`
- And more...

Data Transfer Objects
---------------------

[](#data-transfer-objects)

Type-safe DTOs for creating and updating resources:

- `CreateArticleData`
- `UpdateArticleData`
- `CreateOrderData`
- `UpdateOrderData`
- `CreatePaymentData`
- `UpdatePaymentData`
- `CreateDiscountCodeData`
- `UpdateDiscountCodeData`
- And more...

Error Handling
--------------

[](#error-handling)

The package throws these exceptions:

```
use YourNamespace\MyOnlineStore\Exceptions\AuthenticationException;
use YourNamespace\MyOnlineStore\Exceptions\ConfigurationException;
use YourNamespace\MyOnlineStore\Exceptions\ValidationException;

try {
    $result = MyOnlineStore::articles()->create($data);
} catch (AuthenticationException $e) {
    // Handle invalid API credentials
} catch (ValidationException $e) {
    $errors = $e->getErrors();
    // Handle validation errors
} catch (ConfigurationException $e) {
    // Handle configuration issues
}
```

Testing
-------

[](#testing)

```
composer test
```

Multi-tenant Usage
------------------

[](#multi-tenant-usage)

For multi-tenant applications:

```
// Enable multi-tenant mode in config
'multi_tenant' => true,

// Set tenant-specific credentials
MyOnlineStore::setTenantCredentials(
    'tenant-api-key',
    'https://tenant-specific-url.com'
);

// Continue using the API as normal
$articles = MyOnlineStore::articles()->get();
```

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [CodeIQ](https://github.com/CODEIQBV)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance64

Regular maintenance activity

Popularity0

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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

583d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2289739?v=4)[CodeIQ](/maintainers/codeiq)[@CodeIQ](https://github.com/CodeIQ)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (3 commits)")[![devserge](https://avatars.githubusercontent.com/u/50453582?v=4)](https://github.com/devserge "devserge (1 commits)")

---

Tags

laravelCodeIQ B.V.laravel-mww

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/codeiqbv-laravel-mww/health.svg)

```
[![Health](https://phpackages.com/badges/codeiqbv-laravel-mww/health.svg)](https://phpackages.com/packages/codeiqbv-laravel-mww)
```

###  Alternatives

[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M100](/packages/dedoc-scramble)[spatie/laravel-pdf

Create PDFs in Laravel apps

1.0k4.8M47](/packages/spatie-laravel-pdf)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816333.6k3](/packages/defstudio-telegraph)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5021.9k](/packages/simplestats-io-laravel-client)[lettermint/lettermint-laravel

Official Lettermint driver for Laravel

1190.2k1](/packages/lettermint-lettermint-laravel)

PHPackages © 2026

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