Metadata-Version: 2.1
Name: django-pagarme
Version: 0.2
Summary: App Django para Automatizar Integração com Gateway de Pagamento Pagarme
Home-page: https://github.com/renzon/django_pagarme
Author: Renzo Nuccitelli
Author-email: renzo@python.pro.br
License: GNU Affero General Public License v3 or later (AGPLv3+)
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Framework :: Django
Description-Content-Type: text/markdown
Requires-Dist: django (>=2.0)
Requires-Dist: django-phonenumber-field[phonenumberslite]

# django_pagarme
App Django para Automatizar Integração com Gateway de Pagamento Pagarme



[![codecov](https://codecov.io/gh/renzon/django_pagarme/branch/master/graph/badge.svg)](https://codecov.io/gh/renzon/django_pagarme)



## Instalação

Instale via pip

```python
pip isntall django_pagarme
```

## Configure o Django

Configure seu settings.py

```
INSTALLED_APPS = [
    'django_pagarme',
    ...
]

# Dados para integração com Pagarme
CHAVE_PAGARME_API_PRIVADA = 'CHAVE_PAGARME_API_PRIVADA')
CHAVE_PAGARME_CRIPTOGRAFIA_PUBLICA = 'CHAVE_PAGARME_CRIPTOGRAFIA_PUBLICA'

```

Rode as migrações

```
python manage.py migrate
```

## Opções gerais de pagamento

As opcões gerais ficam disponíveis via admin do django. Você pode criar várias.
Cada uma deve conter as configurações básicas de pagamento:

Um nome para identificar a opção
Número máximo de parcelas
Escolha padrão do número parcelas que vai aparecer no formulário
Número máximo de parcelas sem juros
Taxa de juros
Método de pagamento: Cartão, Boleto ou ambos.

Segue exemplo:

![Admin de Opções de Pagamento](./documentation/imgs/SellableOptionAdmin.png?raw=true)

## Definição de Produtos

Use o admin para definir demais condições do seu pagarme:
Nome do pagarme
Preço em Centavos
Se o pagarme é físico ou não
Opção padrão de pagamento

Segue exemplo de um curso chamado Pytools custando R$ 99.99

![Admin de Produto](./documentation/imgs/SellableAdmin.png?raw=true)

## Mostrando um pagamento:

Crie uma view buscando pelo pagarme a ser vendido:

```
from django_pagarme import facade

def pagarme(request, slug: str):
    ctx = {'sellable': facade.get_sellable(slug)}
    return render(request, 'django_pagarme/pagarme.html', ctx)
```

No seu template, carregue as templates tags do django pagarme e mostre seu formulário:
```
{% load django_pagarme %}
<html>
<head>
    <!-- SCRIPT PAGAR.ME -->
    <script src="//assets.pagar.me/pagarme/1.1.0/pagarme.js"></script>
    <script src="//code.jquery.com/jquery-3.4.1.js"
            integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
            crossorigin="anonymous"></script>
</head>
<body>
<button id="pay-button">Abrir modal de pagamento</button>
{% show_pagarme sellable %}
</body>
</html>
```

Pronto, seu pagamento já está funcionado!!

Um exemplo completo de aplicação se encontra no diretório `exemplo`


## Contribuidores

@renzon

## Como Contribuir

Seguimos a convenção de código da [PEP8](https://www.python.org/dev/peps/pep-0008/), com excessão do tamanho máximo de
linha que pode ter 120 caracteres.

Faça um fork do projeto e mande um pull request. PR sem testes serão rejeitados.


