PHPackages                             vladshut/ecurring-api - 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. vladshut/ecurring-api

ActiveLibrary[API Development](/categories/api)

vladshut/ecurring-api
=====================

PHP eCurring API client

v1.2.5(6y ago)0188MITPHPPHP &gt;=7.1

Since Jul 2Pushed 6y agoCompare

[ Source](https://github.com/vladshut/ecurring-api)[ Packagist](https://packagist.org/packages/vladshut/ecurring-api)[ RSS](/packages/vladshut-ecurring-api/feed)WikiDiscussions release Synced 4d ago

READMEChangelog (8)Dependencies (7)Versions (10)Used By (0)

eCurring Api
============

[](#ecurring-api)

This package provides a simple integration of the [Official eCurring](https://developers.nest.com/documentation) for your PHP project.

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

[](#installation)

With [composer](http://packagist.org), add:

```
$ composer require vladshut/ecurring-api
```

This package has been created with flexability in mind, you can simply create your own http adapter by implementing the `VladShut\eCurring\Http\ClientInterface`

Don't wanna do the hassle? make use of the provided Guzzle adapter: require guzzlehttp in your composer:

```
$ composer require guzzlehttp/guzzle
```

Get Access Token
----------------

[](#get-access-token)

[Sign up](https://app.ecurring.com/merchants/signup) at eCurring and get yourself an api key

Usage
-----

[](#usage)

#### Create new Customer

[](#create-new-customer)

```
use VladShut\eCurring\eCurringClientFactory;
use VladShut\eCurring\Resource\Customer;
use VladShut\eCurring\Resource\Transaction\PaymentMethod;

$client = eCurringClientFactory::create('');

$customer = Customer::new(
    'Luke',
    'Skywalker',
    PaymentMethod::directDebit(),
    'L Skywalker',
    'NL17ABNA1171403585'
);

$customer = $client->createCustomer($customer);
```

#### Add Customer to subscription

[](#add-customer-to-subscription)

```
use VladShut\eCurring\eCurringClientFactory;
use VladShut\eCurring\Resource\Subscription;
use VladShut\eCurring\Resource\Subscription\Mandate;

$client = eCurringClientFactory::create('');

$customer = $client->getCustomer(1);
$subscriptionPlan = $client->getSubscriptionPlan(2);

/**
 * Mandate is Optional, if you dont provide it eCurring wil create a
 * mandate for you and the customer can accept the mandate via eCurring
 * see https://docs.ecurring.com/subscriptions/create
 */
$mandate = new Mandate(
    'MDT-000001',
    true,
    new DateTimeImmutable('2018-10-16')
);

$subscription = Subscription::new(
    $customer,
    $subscriptionPlan,
    $mandate
);

$subscription = $client->createSubscription($subscription);
```

#### Create Payment for subscription

[](#create-payment-for-subscription)

```
use VladShut\eCurring\eCurringClientFactory;
use VladShut\eCurring\Resource\Transaction;
use Money\Money;

$client = eCurringClientFactory::create('');

$subscription = $client->getSubscription(1);

$transaction = Transaction::new(
    $subscription,
    Money::EUR(1000),
    new DateTimeImmutable('2018-11-20')
);

$transaction = $client->createTransaction($transaction);
```

#### List Customers and iterate over them

[](#list-customers-and-iterate-over-them)

```
use VladShut\eCurring\eCurringClientFactory;
use VladShut\eCurring\Resource\Curser\Pagination;

$client = eCurringClientFactory::create('');

$pagination =  new Pagination(2); //-- [optional] Lets start pagination on page 2
$customers = $client->getCustomers($pagination);

$customers->disableAutoload(); //-- just iterate over one page

foreach ($customers as $customer) {
    // Do something with the customer
}
```

Tests
-----

[](#tests)

This package comes with 2 types of tests: Unit and Integration. To run them you can use the make commands in the projects root.

```
$ make tests-unit
$ make tests-integration
```

Author
------

[](#author)

eCurring API has been developed by [LauLaman](https://github.com/LauLaman) and improved by \[vladshut\]

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 56.3% 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 ~22 days

Recently: every ~38 days

Total

8

Last Release

2355d ago

### Community

Maintainers

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

---

Top Contributors

[![LauLaman](https://avatars.githubusercontent.com/u/8283992?v=4)](https://github.com/LauLaman "LauLaman (9 commits)")[![vladshut](https://avatars.githubusercontent.com/u/10393656?v=4)](https://github.com/vladshut "vladshut (7 commits)")

---

Tags

apiservicerecurringpaymentpaymentsgatewayidealmolliesepasubscriptionscreditcarddirect debitmistercashbelfiusrefundskbcecurring

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/vladshut-ecurring-api/health.svg)

```
[![Health](https://phpackages.com/badges/vladshut-ecurring-api/health.svg)](https://phpackages.com/packages/vladshut-ecurring-api)
```

###  Alternatives

[mollie/mollie-api-php

Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.

59914.4M62](/packages/mollie-mollie-api-php)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[mollie/laravel-mollie

Mollie API client wrapper for Laravel &amp; Mollie Connect provider for Laravel Socialite

3624.1M28](/packages/mollie-laravel-mollie)[mollie/magento

iDEAL, Creditcard, Bancontact/Mister Cash, SOFORT, Bank transfer, Bitcoin, PayPal &amp; paysafecard for Magento https://www.mollie.com/

397.9k](/packages/mollie-magento)[mollie/oauth2-mollie-php

Mollie Provider for OAuth 2.0 Client

251.7M1](/packages/mollie-oauth2-mollie-php)

PHPackages © 2026

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