<commit_before>Aprova Fácil
------------

Gem para integração com Gateway Aprova Fácil da [Cobrebem](https://www.cobrebemx.com.br).

COMO USAR
---------

### Configuração

O primeiro passo é instalar a gem.

```ruby
  gem install aprova_facil
```

Depois de instalar, você precisará informar seus dados.

```ruby
  AprovaFacil::Config.usuario = '<usuario>' # usuário fornecido pela Cobrebem
```

No caso de um abiente de teste ou desenvolvimento também é possível passar o parâmetro

```ruby
  AprovaFacil::Config.teste = true
```

Efetuando uma aprovação
-----------------------

Para efetuar uma compra é necessário preencher uma instância da classe CartaoCredito, 
segue abaixo os dados básicos para uma aprovação.

```ruby
  cartao = AprovaFacil::CartaoCredito.new(
   :valor => 25.00,
   :numero_cartao    => '4073020000000002', 
   :codigo_seguranca => '123', 
   :mes_validade     => '10', 
   :ano_validade     => '14', 
   :bandeira         => AprovaFacil::CartaoCredito::Bandeira::VISA
   :ip_comprador     => '192.168.1.1', 
   :nome_portador    => 'Ford Prefect'
  )
```

### Outros campos disponíveis

```ruby
  :documento                        # Número do documento do sistema. 
  :valor                            # Valor da transação (obrigatório)
  :numero_cartao                    # Número do cartão (obrigatório) claro! :D
  :codigo_seguranca                 # Código de segurança do cartão. (obrigatório)
  :mes_validade                     # Mês de validade do cartão (obrigatório)
  :ano_validade                     # Ano de validade do cartão (obrigatório)
  :ip_comprador                     # Ip do comprador (obrigatório)
  :parcelas                         # Quantidade de parcelas. Padrão: 01
  :bandeira,                        # Bandeira, veja abaixo. padrão: VISA
  :nome_portador,                   # Nome do portador do cartão.
  :cpf_portador,                    # CPF do portador do cartão.
  :data_nascimento,                 # Data de nascimento do portador do cartão.
  :nome_mae                         # Nome da mão do portador do cartão.
  :parcelamento_administradora      # Informa se será parcelado pela loja ou pela adminsitrador. Padrão: true
```

### Bandeiras

```ruby
  AprovaFacil::CartaoCredito::Bandeira::VISA      <commit_msg>Melhoria na documentação<commit_after>Aprova Fácil
------------

Gem para integração com Gateway Aprova Fácil da [Cobrebem](https://www.cobrebemx.com.br).

COMO USAR
---------

### Configuração

O primeiro passo é instalar a gem.

```ruby
  gem install aprova_facil
```

Depois de instalar, você precisará informar seus dados.

```ruby
  AprovaFacil::Config.usuario = '<usuario>' # usuário fornecido pela Cobrebem
```

No caso de um abiente de teste ou desenvolvimento também é possível passar o parâmetro

```ruby
  AprovaFacil::Config.teste = true
```

Efetuando uma aprovação
-----------------------

Para efetuar uma compra é necessário preencher uma instância da classe CartaoCredito, 
segue abaixo os dados básicos para uma aprovação.

```ruby
  cartao = AprovaFacil::CartaoCredito.new(
   :valor => 25.00,
   :numero_cartao    => '4073020000000002', 
   :codigo_seguranca => '123', 
   :mes_validade     => '10', 
   :ano_validade     => '14', 
   :bandeira         => AprovaFacil::CartaoCredito::Bandeira::VISA
   :ip_comprador     => '192.168.1.1', 
   :nome_portador    => 'Ford Prefect'
  )
```

### Outros atributos disponíveis

<table>
  <tr>
    <th>Atributo</th>
    <th>Descrição</th>
    <th>Obrigatório?</th>
    <th>Valor padrão</th>    
  </tr>
  <tr>
    <td>:documento</td>
    <td>Número do documento do sistema</td>
    <td>Não</td>
    <td>nil</td>    
  </tr>
</table>

  :documento                        # 
  :valor                            # Valor da transação (obrigatório)
  :numero_cartao                    # Número do cartão (obrigatório) claro! :D
  :codigo_seguranca                 # Código de segurança do cartão. (obrigatório)
  :mes_validade                     # Mês de validade do cartão (obrigatório)
  :ano_validade                     # Ano de validade do cartão (obrigatório)
  :ip_comprador                     # Ip do comprador (obrigatório)
  :parcelas                         # Quantidade de parcelas. Padrão: 01
  :bandeira,                        # Bandeira, veja abaixo. padrão: VISA
  :nome_portador,                   # Nome do portador do cartão.
  :cpf_portador,                    # CPF do portador do cartão.
  :data_nascimento,                 # Data de nascimento do portador do cartão.
  :nome_mae                         # Nome da mão do portador do cartão.
  :parcelamento_administradora      # Informa se será parcelado pela loja ou pela adminsitrador. Padrão: true
```

### Bandeiras

```ruby
  AprovaFacil::CartaoCredito::Bandeira::VISA      
{'fraction_non_alphanumeric': 0.11162111412476529, 'fraction_numerical': 0.015439182140621741, 'mean_word_length': 2.237002025658339, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 43, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '603178', 'n_tokens_mistral': 1812, 'n_tokens_neox': 1680, 'n_words': 423}