Sha256: 3654cdc04eabc0c838f11420ccc2135014cbaa779c02eb6d3ac3b030791202ad

Contents?: true

Size: 1.93 KB

Versions: 9

Compression:

Stored size: 1.93 KB

Contents

# InterApi

Wrapper de integração com a API v2 do Banco Inter.

### Funcionalidades:
- Autenticação
- Pagamento Pix: get, create, update, refund

## Instalação

Adicionar inter_api no Gemfile:

```ruby
gem 'inter_api'
```
ou
```shell
bundle add inter_api
```

Instalar a gem:

```shell
bin/rails generate inter_api:install
```

## Uso

### Exemplo
#### Criar Pagamento PIX
```ruby
# Instanciar o API client
api_client = InterApi::Client.new(crt: "./certificado_api_inter.crt", key: "./chave_api_inter.key", client_id: "123456", client_secret: "abcde", chave_pix: "1011121314", conta_corrente: "9876", scopes: "cobv.write cobv.read cob.write cob.read pix.write pix.read")
# Ao instanciar o objeto, cria um access_token e/ou valida a partir da data de expiração

# Criar um pagamento 
payment = api_client.create_payment(amount: 50.00, payer_tax_id: "123.123.123-01", payer_name: "João da Silva", expiration: 3600, solicitacao_pagador: "Compra de produto", info_adicionais: [ nome: "Produto", valor: "Produto 1"])
# retorna um objeto <InterApi::Payment>
puts payment.txid # "123123"
puts payment.status # "ATIVA"

# Obter um pagamento a partir do id
payment = api_client.get_payment(payment.txid)
# retorna um objeto <InterApi::Payment>
puts payment.txid # "123123"
puts payment.status # "ATIVA"

# Atualizar um pagamento
body = { status: "REMOVIDA_PELO_USUARIO_RECEBEDOR" }
api_client.update(payment.txid, body)
# retorna o objeto <InterApi::Payment> atualizado
puts payment.status # "REMOVIDA_PELO_USUARIO_RECEBEDOR"

```

#### Métodos do Pagamento
```ruby
payment.valid? # true ou false

payment.paid? # true ou false

payment.qr_code # retorna o source do SVG

payment.reload! # retorna payment atualizado

payment.invalidate! # invalida e retorna o payment atualizado

# Reebolso de pagamento
reembolso = payment.refund(amount: 50.00, refund_nature: "ORIGINAL", description: "Reembolso")
# retorna o JSON da resposta
reembolso["status"] # "EM_PROCESSAMENTO"
```

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
inter_api-1.2.4 README.md
inter_api-1.2.3 README.md
inter_api-1.2.2 README.md
inter_api-1.2.1 README.md
inter_api-1.2.0 README.md
inter_api-1.1.0 README.md
inter_api-1.0.5 README.md
inter_api-1.0.4 README.md
inter_api-1.0.3 README.md