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:

# Consultar o status do QR Code
qrcode_status = pushinpay.pix.get_status_qrcode(qrcode)
print(qrcode_status)  # Uma instância de QRCodeResponseStatus
print(qrcode_status.value) # 1000

# Observação: qrcode.status é diferente de qrcode_status

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.

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.2.0.tar.gz (6.7 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.2.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pushinpay-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ad4e764f150fe0941e5a1a99770788d4ecb0df66fce68e0628c75cc68c3765b9
MD5 60c18f67aaf7769bce02d94636f83282
BLAKE2b-256 99eee0176fb30abf0289ad3f16aeb5a8f377bcd5ded78e32425e4a1c79b0b292

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pushinpay-0.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6eaa35750a8853a56e24468ae00d1c03cbc8c7c57c13e6c064472a0e48e12baa
MD5 bc7033978aa97cf0e2b350d551fa5e6f
BLAKE2b-256 95a1d613187f0cc3b5a76b450728e412f6b2c9a01ddf3c17605f18f1d4634c4b

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