Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

# django-pagseguro

Aplicação para facilitar integração do django com pagseguro.

### Configurando a app django-pagseguro

Adicione a app no INSTALLED_APPS no settings.py

INSTALLED_APPS = (
...
'django_pagseguro',
...
)

Configure no settings.py as constantes necessárias para utilizar a app.

PAGSEGURO_EMAIL_COBRANCA = 'seu@email.com' # email de cobrança usado no pagseguro
PAGSEGURO_TOKEN = '1a3ea7wq2e7eq8e1e223add23ad23' # token gerado no sistema de url de retorno do pagseguro
PAGSEGURO_URL_RETORNO = '/pagseguro/retorno/' # url para receber o POST de retorno do pagseguro
PAGSEGURO_URL_FINAL = '/obrigado/' # url final para redirecionamento
PAGSEGURO_ERRO_LOG = '/tmp/pagseguro_erro.log' # arquivo para salvar os erros de validação de retorno com o pagseguro(opcional)

Configure a rota para url de retorno do PagSeguro no urls.py

from django_pagseguro.urls import pagseguro_urlpatterns
...
urlpatterns += pagseguro_urlpatterns()

### Como Usar?

#### Criando o Carrinho

Importe o Carrinho do PagSeguro

from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro

Configure o carrinho do PagSeguro de acordo com seu projeto, no exemplo abaixo compra de Crédito

carrinho = CarrinhoPagSeguro(ref_transacao=1)
carrinho.set_cliente(email='email@cliente.com', cep='60000000')
carrinho.add_item(ItemPagSeguro(cod=1, descr='Crédito', quant=1, valor=35.53))
form_pagseguro = carrinho.form() # Form do pagseguro para usar no template de acordo com as configurações

#### Capturando sinais do retorno

O django-pagseguro foi feito para que o desenvolvedor decida como vai tratar o retorno do PagSeguro,
portanto os dados enviados pelo PagSeguro não são alterados, eles são encaminhados através de um signal do django.

Existem duas opções para capturar o retorno, de forma global ou específica para cada estado do pagamento.

Signal Global:

* `pagamento_atualizado`: dispara em qualquer atualização do pagamento

Signals específicos para cada status do pagamento:

* `pagamento_aprovado`: Aprovado
* `pagamento_cancelado`: Cancelado
* `pagamento_aguardando`: Aguardando Pagamento
* `pagamento_em_analise`: Em Análise
* `pagamento_completo`: Completo
* `pagamento_devolvido`: Devolvido

**Capturando o sinal e processando os dados de retorno do PagSeguro**

from django_pagseguro.signals import pagamento_aprovado
...
def liberar_pedido(sender, **kwargs):
ref = sender.referencia
tipo_pagamento = sender.dados['TipoPagamento'] # exemplo de como pegar informações enviada pelo PagSeguro
# aqui você deve executar seu código para liberar o pedido para a Referência
...
pagamento_aprovado.connect(liberar_pedido)

### Autor

* [Fábio Cerqueira](https://github.com/fabiocerqueira)

### Colaboradores

* [Mário Chaves](https://github.com/macndesign)
* [Bruno Gola](https://github.com/brunogola)

### Referências

Projetos que inspiraram esse:

* [https://github.com/pagseguro/python](https://github.com/pagseguro/python)
* [https://github.com/fnando/pagseguro](https://github.com/fnando/pagseguro)

Documentação do PagSeguro:

* [Carrinho próprio](https://pagseguro.uol.com.br/desenvolvedor/carrinho_proprio.jhtml)
* [Retorno automático de dados](https://pagseguro.uol.com.br/desenvolvedor/retorno_automatico_de_dados.jhtml)

Release history Release notifications | RSS feed

1.4.2

1 release file

1.4.1

1 release file

1.4

1 release file

1.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1

1 release file

1.0

1 release file

This release

beta This release

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page