eupago Python SDK¶
O primeiro SDK Python para a eupago, o gateway de pagamentos português.
SDK da comunidade
Este é um projecto open-source independente, não afiliado nem endossado pela eupago.
Quickstart¶
from decimal import Decimal
from eupago import EupagoClient
client = EupagoClient(api_key="a-tua-key", sandbox=True)
payment = client.mbway.create_payment(
order_id="ORD-001",
amount=Decimal("49.90"),
phone_number="912345678",
)
print(payment.transaction_id) # "txn-abc-123"
print(payment.status) # PaymentStatus.PENDING
Métodos de pagamento¶
| Método | Descrição | Módulo |
|---|---|---|
| MB WAY | Pagamento via telemóvel com push notification (aprovação em 5 min) | client.mbway |
| Multibanco | Referência ATM / homebanking, paga em 1–30 dias | client.multibanco |
| Cartão de Crédito | Página alojada com 3D-Secure / OTP — suporta auth+capture e subscrições recorrentes | client.credit_card |
| Apple Pay | Token Apple Wallet para apps iOS e Safari | client.apple_pay |
| Google Pay | Token Google Pay para apps Android e Chrome | client.google_pay |
| Pay By Link | Um único URL alojado — o cliente escolhe o método (MB WAY, Multibanco, Cartão, Apple/Google Pay, Cofidis…) | client.pay_by_link |
| Reembolsos | Reembolso total ou parcial de qualquer transação paga (OAuth) | client.refunds |
Webhooks (em claro e encriptados AES-256-CBC) e parsing v1.0 / v2.0 estão
cobertos por client.webhooks.parse(...) — ver Webhooks.
Porquê este SDK?¶
- Sync + Async — mesmo client, suffix
_asyncpara métodos assíncronos - 100% tipado —
mypy --strict, autocomplete total no IDE - Decimal — nunca float para dinheiro
- Bilingue — documentação em Português e English
- Webhooks — parsing + verificação HMAC-SHA256
- Retries seguros — só em GETs, POST nunca repete (risco de pagamento duplicado)
Próximos passos¶
-
Instalação
Instalar e configurar em 2 minutos
-
Pagamentos
Qual método usar? Guia de decisão
-
Webhooks
Receber notificações de pagamento
-
Receitas
Guias completos para FastAPI, Django, Flask