PHPackages                             fraganzas/omnipago - 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. fraganzas/omnipago

ActiveLibrary[Payment Processing](/categories/payments)

fraganzas/omnipago
==================

euPago integration in omnipay

01PHP

Since Oct 11Pushed 2y ago1 watchersCompare

[ Source](https://github.com/fraganzas/omnipago)[ Packagist](https://packagist.org/packages/fraganzas/omnipago)[ RSS](/packages/fraganzas-omnipago/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

OMNIPAGO - euPago integration in omnipay
========================================

[](#omnipago---eupago-integration-in-omnipay)

**This is the euPago solution for omnipay payment processing library**

Eupago is one Portuguese payment gateway that has multiple methods available. To use it you need create one account in [euPago](https://www.eupago.pt/) website. Once installed and configured you are able to use all the features of our [API](https://seguro.eupago.pt/api/).

Instalation
-----------

[](#instalation)

composer require league/omnipay:^3 fraganzas/omnipay

Implemented Payment Methods
---------------------------

[](#implemented-payment-methods)

- **Multibanco** - Create MB references with and without start/end date, minimum/maximum amount support (just set the respective parameters)
- **MBWay** - MBWay payment system
- **PayShop**
- **Pagaqui**

Examples
--------

[](#examples)

#### Create Multibanco reference

[](#create-multibanco-reference)

```
$gateway = Omnipay::create('Eupago_Multibanco');

// required fields
$gateway->setApiKey('xxx-xxx-xxx-xxx');
$gateway->setCurrency('EUR');
$gateway->setTransactionId('xxxxx');
// Optionally with start/end date
$gateway->setStartDate(new \DateTime);
$gateway->setEndDate((new \DateTime)->modify('48 hours'));

$response = $gateway->purchase(['amount' => '10.00'])->send();

if ($response->isSuccessful()) {
	// return the euPago api response with payment credentials
	// see src/Message/MultibancoResponse.php methods for more information
	$paymentData = $response->getData();

	// return the Transaction Reference
	// the transaction Reference is required for call the status of payment, you should store them in your "orders" table related database
	$referenceId = $response->getTransactionReference();
} else {
    // Transaction creation failed: display message to customer
    echo $response->getMessage();
}
```

#### Check Multibanco reference status

[](#check-multibanco-reference-status)

```
$gateway = Omnipay::create('Eupago_Multibanco');

// The transaction reference is required
$paymentStatus = $gateway->checkStatus([
	'transactionReference' => 'xxxxxx'
])->send();

if ($paymentStatus->isPaid()) {
    // payment was successful: update database
} else {
    // payment failed: display message to customer
    echo $paymentStatus->getMessage();
}
```

#### Create MBWay Reference

[](#create-mbway-reference)

$gateway = Omnipay::create('Eupago\_MBWay');

```
// Campos obrigatórios
$gateway->setApiKey('xxxx-xxxx-xxx-xxx'); //ver aqui: replica.eupago.pt/clientes/contas/fichas
$gateway->setCurrency('EUR');
$gateway->setTransactionId('1');
$gateway->setAlias('910000000'); //número tlm cliente
// Campos opcionais
$gateway->setStartDate(new \DateTime);
$gateway->setEndDate((new \DateTime)->modify('48 hours')); //limite

$response = $gateway->purchase(['amount' => '10.00'])->send();

if ($response->isSuccessful()) {
// return the euPago api response with payment credentials
// see src/Message/MultibancoResponse.php methods for more information
$paymentData = $response->getData();

// return the Transaction Reference
// the transaction Reference is required for call the status of payment, you should store them in your "orders" table related database
$referenceId = $response->getTransactionReference();

//Exemplo de resposta bem sucedida
/*
+"sucesso": true
+"referencia": "xxxx"
+"valor": 10.0
+"estado": 0
+"resposta": "OK"
+"alias": "351#910000000"
*/

}
else {
// Transaction creation failed: display message to customer
echo $response->getMessage();
}

```

```

#### Check Multibanco reference status

[](#check-multibanco-reference-status-1)

$gateway = Omnipay::create('Eupago\_MBWay');

```
// The transaction reference is required
$paymentStatus = $gateway->checkStatus([
'transactionReference' => $request->referenceID
])->send();

if ($paymentStatus->isPaid()) {
//Referência paga
} else {
/*
 * Valor de "$paymentStatus->getMessage();" pode ser:
 * "OK" : Referência existe mas não está pago
 * "Referência Inexistente." : Referência não existe.
 */
echo $paymentStatus->getMessage();
}

```

###  Health Score

12

—

LowBetter than 0% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/31dd5276cef45f055e0c72e997bead1994648e034fcd4c02fda2c5c94927fb32?d=identicon)[fraganzas](/maintainers/fraganzas)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/fraganzas-omnipago/health.svg)

```
[![Health](https://phpackages.com/badges/fraganzas-omnipago/health.svg)](https://phpackages.com/packages/fraganzas-omnipago)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

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