MpApi
Wrapper de integração com a API do Mercado Pago.
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:
gem 'mp_api'
ou
bundle add mp_api
Instalar a gem:
bin/rails generate mp_api:install
Uso
Configurar access_token no initializer ou direto no código:
MpApi.configure do |config|
config.access_token = "ACCESS_TOKEN"
end
Exemplos de criação de pagamento
Cartão de crédito
# 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 protected]",
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
# Criação do pagamento
payment = MpApi::Payment.new(
payer_email: "[email protected]",
payer_identification_type: "CPF",
payer_identification_number: "12345678909",
payment_method: "pix",
amount: 140.0
).create
puts payment.id # 1318474264
puts payment.status # "pending"