allisson/django-pagseguro2 — pull request #6 by fjsj (2014-12-29 19:17:05+00:00)
Title: base_params, params and itens devem ser variáveis de instância

`itens`, `base_params` e `params` estão como variáveis de classe. O comportamento esperado é que elas fossem variáveis de instância, já que `PagSeguroApi` é uma classe instanciável com métodos que alteram essas variáveis.

O fato dessas variáveis serem de classe causa um bug sutil: pode acontecer da variável de classe não ser resetada após o final do request (o Django não garante isso). Isso aconteceu comigo em um deployment simples com gunicorn. No meu caso, ao voltar para a página anterior ao checkout do PagSeguro e realizar outra compra, as duas compras se acumulavam no carrinho do PagSeguro, o que é um comportamento incorreto. A solução segue neste pull-request.