Skip to main content

Accept Multibanco and MB WAY payments via euPago in pretix

Project description

PyPI version Supported Python versions License CI status

This is a plugin for pretix that integrates euPago, a Portuguese payment gateway, to accept Multibanco references and MB WAY push payments.

Installation

Install the plugin into the same Python environment as your pretix instance:

pip install pretix-eupago

Then restart your pretix server. The plugin registers itself with pretix’s plugin registry automatically via a setuptools entry point — no changes to INSTALLED_APPS are needed. You can now enable it for an event under the “plugins” tab in that event’s settings.

Development setup

  1. Make sure that you have a working pretix development setup.

  2. Clone this repository.

  3. Activate the virtual environment you use for pretix development.

  4. Execute pip install -e . (or, if you use uv, uv sync --extra test) within this directory to register this application with pretix’s plugin registry.

  5. Execute make within this directory to compile translations.

  6. Restart your local pretix server. You can now use the plugin from this repository for your events by enabling it in the ‘plugins’ tab in the settings.

Run make test to run the test suite and make lint to run ruff.

Configuration

Enable the plugin for an event, then configure the shared euPago settings under Settings → Payment → euPago:

  • API Key — your euPago API key, found in Backoffice → Channels → Channel Listing.

  • Sandbox / Test mode — use the euPago sandbox environment for testing.

  • Webhook signature secret — optional but strongly recommended. The encryption key generated for this channel’s webhook in Backoffice → Channels → Channel Listing → “Receive notification for a URL”. When set, incoming webhook v2.0 (POST) notifications are only accepted if their signature matches; without it, they’re accepted based on a weaker cross-check only.

These are shared by every euPago payment method, so you only set them once. Then enable and configure each payment method you want individually under Settings → Payment:

  • Multibanco — has no method-specific settings besides the reference validity:

    • Multibanco reference validity (days) — how many days a generated Multibanco reference stays valid.

  • MB WAY — no method-specific settings.

Finally, configure a single webhook URL in euPago’s Backoffice (Channels → Channel Listing → “Receive notification for a URL”), for every channel you use:

https://<your-pretix-domain>/eupago/webhook/

This URL is global (not event-scoped) and handles both euPago webhook formats (v1.0 GET and v2.0 POST). v1.0 notifications are verified against your configured API key; v2.0 notifications are verified against your configured webhook signature secret, if set. The optional “encrypt” webhook setting in Backoffice is also supported (the payload is decrypted using that same secret).

License

Copyright 2026 Afonso Santos

Released under the terms of the Apache License 2.0, see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pretix_eupago-1.1.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pretix_eupago-1.1.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file pretix_eupago-1.1.0.tar.gz.

File metadata

  • Download URL: pretix_eupago-1.1.0.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pretix_eupago-1.1.0.tar.gz
Algorithm Hash digest
SHA256 427f5dfc0b6bee0cbc8573b5df3abe88152bde2cf817ea368f356205ba321d1a
MD5 e2d51f4c6c8f91b5334b3720f9ebe942
BLAKE2b-256 e9f7418b095e8fc16c029c55e2e476d92d448f7d89aa80659c07d4be3299d321

See more details on using hashes here.

Provenance

The following attestation bundles were made for pretix_eupago-1.1.0.tar.gz:

Publisher: ci.yml on afonsosantos/pretix-eupago

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pretix_eupago-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: pretix_eupago-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pretix_eupago-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06322d6a0afc3f8c54cb3d69c1dafa0094e44de593af0407e65c000b528df8b0
MD5 3c25c91ebf313d0694405ea38573b393
BLAKE2b-256 fbdde1141e429adb060cf2f90349c6507b1eb5661a041b110da5292418c5c499

See more details on using hashes here.

Provenance

The following attestation bundles were made for pretix_eupago-1.1.0-py3-none-any.whl:

Publisher: ci.yml on afonsosantos/pretix-eupago

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page