PHPackages                             lelyfoto/mypos-cashregisterremote - 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. lelyfoto/mypos-cashregisterremote

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lelyfoto/mypos-cashregisterremote
=================================

0.1.2(2y ago)54042[2 issues](https://github.com/lelyfoto/mypos-cashregisterremote/issues)GPL-3.0-or-laterPHPPHP ^8.1

Since Oct 1Pushed 2y ago3 watchersCompare

[ Source](https://github.com/lelyfoto/mypos-cashregisterremote)[ Packagist](https://packagist.org/packages/lelyfoto/mypos-cashregisterremote)[ RSS](/packages/lelyfoto-mypos-cashregisterremote/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (4)Used By (0)

[![Packagist Version](https://camo.githubusercontent.com/401253f2f0f640a1a2f2570ac6c120afeb7ba3fea15797f014b45f9d2538b0a3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c656c79666f746f2f6d79706f732d63617368726567697374657272656d6f74653f6c6162656c3d63757272656e742b7665727375696e)](https://packagist.org/packages/lelyfoto/mypos-cashregisterremote)[![Packagist PHP Version](https://camo.githubusercontent.com/64896d1f7d7fea2e806c21caca4e6d898920bad3b2ff38e8a48819fe80c522f8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6c656c79666f746f2f6d79706f732d63617368726567697374657272656d6f74652f706870)](https://php.net/)[![MyPos Cash Register Remote API](https://camo.githubusercontent.com/2e75b00f07bad945accd60a9e565069b42b63b612eb0994b84b7b274efe2855b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d79506f7325323043617368253230526567697374657225323052656d6f74652532304150492d332e302d626c7565)](https://developers.mypos.com/en/doc/in_person_payments/v1_0/356-cash-register-remote-api)[![License](https://camo.githubusercontent.com/82041f8205dff8391630e5c90e77b13b48a4947ff90054c46de5022a6fbcd619/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6c656c79666f746f2f6d79706f732d63617368726567697374657272656d6f7465)](https://github.com/lelyfoto/mypos-cashregisterremote/blob/main/LICENSE)[![GitHub issues](https://camo.githubusercontent.com/49463f4a72a8823e5bc06ecb5b171adf5ca23fdd3b50d5db4c4a59a09c3d71ea/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6c656c79666f746f2f6d79706f732d63617368726567697374657272656d6f7465)](https://github.com/lelyfoto/mypos-cashregisterremote/issues)[![Packagist Downloads](https://camo.githubusercontent.com/30cb42fa83cf1f875530b26c00fcc329b452789f0cdbfa256874bd70fb9bf992/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c656c79666f746f2f6d79706f732d63617368726567697374657272656d6f74653f636f6c6f723d677265656e)](https://packagist.org/packages/lelyfoto/mypos-cashregisterremote)

Cash Register Remote API implementation for MyPos
=================================================

[](#cash-register-remote-api-implementation-for-mypos)

This is a simple PHP implementation of the MyPos Cash Register Remote API as described on the [MyPos website](https://developers.mypos.com/en/doc/in_person_payments/v1_0/356-cash-register-remote-api).

Requirements
------------

[](#requirements)

- PHP 8.1+
- PHP extensions: bcmath, soap
- Composer 2
- MyPos account and physical payment terminal

Usage
-----

[](#usage)

First make sure you have met the requirements of the API from MyPos. See the requirements section on the [developer site from MyPos](https://developers.mypos.com/en/doc/in_person_payments/v1_0/356-cash-register-remote-api). And store your private key securely in your project. Also add the public key you received from MyPos.

Next require this library with composer:

```
composer require lelyfoto/mypos-cashregisterremote
```

Then create a Config-object:

```
$config = new Config(
    'username@email.com',
    1, // Should be 1, unless you have more than one public key send to MyPos,
    'EUR',
    '12345678', // Your teminal ID, see your dashboard,
    file_get_contents('your_private_key.pem'),
    file_get_contents('mypos_public.crt'),
    Config::MYPOS_WSDL_PRODUCTION
);
```

The config object can now be used to pair your terminal:

```
$terminal = new Terminal($config);
$securityCode = $terminal->requestPairCodeForSubscribe();
```

Go to your terminal and go to settings-&gt;pair device and enter the returned security code.

To make a payment:

```
$requestId = $terminal->makePurchase(42, 'reference id', MPRPurchase::TYPE_REFERENCE_NUMBER);
```

Store the returned RequestId, you will need this to check the status of the payment. On your terminal you hit the "Enter"-key, and you can do the payment. You can further use the methods "checkPayment" or "cancelPayment" to interact with this payment.

Finally, when you want to disconnect your terminal, you can call "requestPairCodeForUnsubscribe" and enter the security code into the device.

### Known issues and limitations

[](#known-issues-and-limitations)

The biggest missing thing in this library is the lack of validation of the responses from MyPos. This will be addressed in a future release and is my top priority.

Also, there is no unit testing at this moment and also there isn't a lot of error checking. I build this library fast because I needed it soon, however I will make time to complete it soon.

Keep also in mind that I don't have a development terminal/account at MyPos, so I have to do all the testing in the production environment. The Refund and LastTxnVoid calls are untested by me at this moment.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance12

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity47

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 ~211 days

Total

3

Last Release

896d ago

### Community

Maintainers

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

---

Top Contributors

[![erkens](https://avatars.githubusercontent.com/u/10248696?v=4)](https://github.com/erkens "erkens (4 commits)")

### Embed Badge

![Health badge](/badges/lelyfoto-mypos-cashregisterremote/health.svg)

```
[![Health](https://phpackages.com/badges/lelyfoto-mypos-cashregisterremote/health.svg)](https://phpackages.com/packages/lelyfoto-mypos-cashregisterremote)
```

PHPackages © 2026

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