Skip to content

Releases: bilouro/eupago-python

v0.5.2 — SEO + discoverability

02 Jun 22:34

Choose a tag to compare

Metadata + SEO release. No SDK behaviour changes.

  • PyPI: longer description, 24 keywords, more classifiers (Beta dev status, Pydantic + AsyncIO frameworks, Portuguese natural language), Source/Discussions/Releases/Funding URLs added.
  • Docs: Open Graph cards via mkdocs-material social plugin; JSON-LD SoftwareApplication structured data; robots.txt.
  • GitHub: 15 topics, FUNDING.yml.
pip install --upgrade eupago

v0.5.1 — Python 3.9 compat + CI

31 May 19:22

Choose a tag to compare

Patch release. v0.5.0 was importable but unusable on Python 3.9 because Pydantic v2 can't evaluate X | None annotations on 3.9 without the eval_type_backport shim. v0.5.1 adds it as a conditional dependency.

Also lands the .github/workflows/test.yml workflow that the README CI badge was referencing since day one (the badge was a 404 link).

pip install eupago==0.5.1

See CHANGELOG.md for details.

v0.5.0 — Production-validated release

31 May 19:12

Choose a tag to compare

First production-validated release. MB WAY, Multibanco, Pay By Link and Refunds were exercised live against a real eupago production channel — 5 real payments paid and 3 refunds emitted, all webhooks captured and verified through the SDK. Several wire-shape bugs surfaced and were fixed by the way.

Highlights

  • 🚀 Production-validated end-to-end for MB WAY, Multibanco, Pay By Link, Refunds
  • 📋 Subscription management on the Management API — list / get / edit / revoke
  • 🔗 WebhookEvent.original_transaction_id — refund webhooks now link back to the original payment
  • 🔑 EupagoClient(management_bearer=...) — escape hatch while OAuth credentials are pending
  • 🏦 eupago.utils.bic_for_pt_iban — BIC lookup helper covering 54 PT banks (required for Multibanco refunds)
  • 🔄 client.refunds.get(refund_id) — poll refund settlement state

Wire-shape bugs fixed (discovered in prod)

  • MB WAY rejected webhooks use "Canceled" (US 1-L spelling) → previously fell to PENDING
  • Refund webhooks use "REFUNDED" (uppercase) and method "RB:PT" → previously dropped on the floor
  • Multibanco refund requires iban AND bic (despite docs claiming bic optional) — definitively probed
  • Credit Card capture body wasn't being sent correctly
  • Credit Card subscription requires nested subscription block

See CHANGELOG.md for the full list.

pip install eupago==0.5.0