Skip to main content

Wrapper para a API PushinPay

Project description

PushinPay

pushinpay é uma biblioteca Python para integração com a API do gateway de pagamento PushinPay, permitindo a criação e gerenciamento de pagamentos via Pix.

Documentação oficial: https://doc.pushinpay.com.br/#introducao

Instalação

Para instalar a biblioteca, utilize o pip:

pip install pushinpay

Configuração

Para começar a usar a biblioteca, você precisa de uma chave de API fornecida pelo PushinPay. Você pode configurar a biblioteca da seguinte forma:

from pushinpay import PushinPay

# Inicialize o cliente PushinPay
pushinpay = PushinPay(api_key="SUA_CHAVE_API", webhook_url="https://seu-webhook.com", sandbox=True)
  • api_key: Sua chave de API.
  • webhook_url: (Opcional) URL para receber notificações de eventos.
  • sandbox: (Opcional) Define se o ambiente de sandbox será utilizado. O padrão é False.

Funcionalidades

Criar QR Code Pix

Você pode criar um QR Code Pix para pagamentos:

# Criar um QR Code Pix
qrcode = pushinpay.pix.create_qrcode(value=1000)  # Valor em centavos (R$10,00)
print(qrcode)  # Código "copia e cola" do QR Code
# Ou
print(qrcode.qr_code) # Código "copia e cola" do QR Code

Criar um QR Code Pix com regras de divisão (split)

split_rules = [
    {"value": 500, "account_id": "9C3AD98C-F00B-4729-BEAC-0A4B70B3A043"},
    {"value": 1500, "account_id": "1A2B3C4D-5678-90EF-1234-567890ABCDEF"} 
]

qrcode = pushinpay.pix.create_qrcode(
    value=2000, # Valor total em centavos (R$20,00)
    webhook_url="http://meu-webhook.com",
    split_rules=split_rules
)

print(qrcode) # Código "copia e cola" do QR Code

Consultar Status de um QR Code Pix

Para consultar o status de um QR Code Pix:

qrcode_status = pushinpay.pix.get_status_qrcode(qrcode.id)  # Passar o ID do QR Code
print(qrcode_status)  # A representação em texto do atributo status
print(qrcode_status.value)  # Valor do pagamento em centavos

Tratamento de Erros

A biblioteca lança exceções específicas para erros da API:

  • PushinPayError: Exceção base para erros da biblioteca.
  • APIError: Exceção para erros retornados pela API.

Exemplo de tratamento de erros:

from pushinpay.errors import APIError

try:
    qrcode = pushinpay.pix.create_qrcode(value=1000)
except APIError as e:
    print(f"Erro na API: {e.status_code} - {e.message}")

Requisitos

  • Python 3.6 ou superior
  • Biblioteca requests

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests no repositório.

Testes

Para executar os testes da biblioteca, utilize o seguinte comando:

python -m unittest discover tests

Certifique-se de que o módulo unittest está configurado corretamente no seu ambiente.

Licença

Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.

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

pushinpay-0.3.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

pushinpay-0.3.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file pushinpay-0.3.0.tar.gz.

File metadata

  • Download URL: pushinpay-0.3.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for pushinpay-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0e836d127fd2a485e8b1bedc2bd21176f114572b99c772f931c73f8b9a16d5f0
MD5 12133e8d4568407276d6d737c49e8eb0
BLAKE2b-256 4eb914da2b9c97683f2b0d97feac2802cf18717075713067476c33978e9c5907

See more details on using hashes here.

File details

Details for the file pushinpay-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pushinpay-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for pushinpay-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97438582c0631f9555e314a799b21b6d9d69cc57bf1af6e2c768334f85de90b2
MD5 aa21e59dde8b5708cdf257f6cc0c008b
BLAKE2b-256 bf040133e169ae6a868bd9062fd2b8d4a194490b684b2379801d07d3db22260a

See more details on using hashes here.

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