Documentation Index
Fetch the complete documentation index at: https://docs.upaybr.com/llms.txt
Use this file to discover all available pages before exploring further.
Upay Python SDK
SDK oficial da Upay para Python. Compatível com Python 3.8+.
Instalação
Este SDK ainda não está publicado no PyPI. Instale diretamente pelo GitHub:
pip install git+https://github.com/anthonymengottii/upay-python-sdk.git
Uso Rápido
import os
from upay import UpayClient
upay = UpayClient(api_key=os.getenv('UPAY_API_KEY'))
Criar Link de Pagamento
link = upay.payment_links.create({
'title': 'Produto Premium',
'amountCents': 9900,
'description': 'Acesso vitalício',
})
Resposta
{
'id': 'lnk_abc123',
'title': 'Produto Premium',
'description': 'Acesso vitalício',
'amountCents': 9900,
'status': 'ACTIVE',
'url': 'https://pay.upaybr.com/l/abc123',
'createdAt': '2026-04-08T00:00:00.000Z',
'updatedAt': '2026-04-08T00:00:00.000Z'
}
Criar Transação PIX
tx = upay.transactions.create({
'product': 'Curso Python',
'paymentMethod': 'PIX',
'amountCents': 19900,
'clientName': 'João Silva',
'clientEmail': 'joao@example.com',
'clientDocument': '12345678900',
})
print(tx['pixCopiaECola'])
Validar Cupom
result = upay.coupons.validate(
code='DESCONTO10',
amount_cents=19900,
)
# result['valid'], result['discountCents'], result['finalAmountCents']
Validação de Webhooks
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
is_valid = upay.verify_webhook_signature(
payload=request.data,
signature=request.headers.get('x-webhook-signature', ''),
secret=os.getenv('UPAY_WEBHOOK_SECRET'),
)
if not is_valid:
return jsonify(error='Assinatura inválida'), 401
event = request.json
return jsonify(received=True)
Tratamento de Erros
from upay import UpayValidationError, UpayError
try:
tx = upay.transactions.create({ ... })
except UpayValidationError as e:
print('Dados inválidos:', e)
except UpayError as e:
print(f'Erro {e.status_code}:', e)