Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
SDK oficial para Python — aceite pagamentos em segundos com uma integração simples
pip install git+https://github.com/anthonymengottii/upay-python-sdk.git
import os from upay import UpayClient upay = UpayClient(api_key=os.getenv('UPAY_API_KEY'))
link = upay.payment_links.create({ 'title': 'Produto Premium', 'amountCents': 9900, 'description': 'Acesso vitalício', })
{ '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' }
tx = upay.transactions.create({ 'product': 'Curso Python', 'paymentMethod': 'PIX', 'amountCents': 19900, 'clientName': 'João Silva', 'clientEmail': 'joao@example.com', 'clientDocument': '12345678900', }) print(tx['pixCopiaECola'])
result = upay.coupons.validate( code='DESCONTO10', amount_cents=19900, ) # result['valid'], result['discountCents'], result['finalAmountCents']
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)
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)