Sha256: c7dffd8734dd0ee8ae5b6fb7cbffbe0d528ea44e049f221e10e80474a4fd4e8a

Contents?: true

Size: 1.88 KB

Versions: 4

Compression:

Stored size: 1.88 KB

Contents

# MpApi

Wrapper de integração com a API do Mercado Pago.

[Documentação API Mercado Pago](https://www.mercadopago.com.br/developers/pt/docs)

### Funcionalidades:
- Criar pagamentos Pix ou cartão de crédito
- Gerar token único para um cartão de crédito
- Atualizar e encontrar pagamentos pelo ID
- Buscar bandeira do cartão a partir dos seis primeiros digitos

## Instalação

Adicionar mp_api no Gemfile:

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

Instalar a gem:

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

## Uso

Configurar access_token no initializer ou direto no código:
```ruby
MpApi.configure do |config|
  config.access_token = "ACCESS_TOKEN"
end
```

### Exemplos de criação de pagamento
#### Cartão de crédito
```ruby
# Criação de um token para cartão teste
token = MpApi::Token.new(
  card_number: "5031433215406351",
  expiration_year: "2025",
  expiration_month: "11",
  security_code: "123",
  cardholder_name: "APRO"
).create
puts token.id # c8ad2335a9bb58e585a8c35bfd9f29ad

# Encontra o ID e a bandeira do cartão
payment_method = MpApi::PaymentMethod.find_by_first_six_digits("503143")
puts payment_method.payment_method_id # "master"

# Criação do pagamento
payment = MpApi::Payment.new(
  amount: 140.0,
  payment_method: payment_method.payment_method_id,
  payer_email: "email@example.com",
  payer_identification_type: "CPF",
  payer_identification_number: "12345678909",
  token: token.id,
  issuer_id: payment_method.issuer_id,
  installments: 1,
  three_d_secure_mode: true
).create

puts payment.id # 1318474186
puts payment.status # "approved"
```

#### Pix
```ruby
# Criação do pagamento
payment = MpApi::Payment.new(
  payer_email: "email@example.com",
  payer_identification_type: "CPF",
  payer_identification_number: "12345678909",
  payment_method: "pix",
  amount: 140.0
).create
puts payment.id # 1318474264
puts payment.status # "pending"
```

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mp_api-1.2.2 README.md
mp_api-1.2.1 README.md
mp_api-1.2.0 README.md
mp_api-1.0.1 README.md