/ebanx-pay-ruby-sdk

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

EBANX Ruby gem Build Status Code Climate Test Coverage

Gem to communicate with EBANX Pay.

Documentation: https://developers.ebanxpagamentos.com/

Installation

Add this line to your application's Gemfile:

# EBANX SDK
gem 'ebanx',  git: 'https://github.com/ebanx/ebanx-pay-ruby-sdk'

and bundle it

$ bundle

Usage

Auth

Ebanx.tap do |e|
  e.integration_key = '<<< Your integration key >>>'
  e.test_mode       = true
end

Create a new Boleto using Direct API

response = Ebanx.do_direct(
  operation: 'request',
  mode: 'full',
  payment: {
    name: 'João da Silva',
    email: 'joao@mailinator.com',
    currency_code: 'BRL',
    amount_total: 100.50,
    merchant_payment_code: Random.rand(10000000000),
    payment_type_code: 'boleto',
    person_type: 'personal',
    document: '13326724691',
    birth_date: '01/01/1980',
    zipcode: '70000-000',
    address: 'Rua Brasil',
    street_number: '1',
    city: 'Brasília',
    state: 'DF',
    country: 'br',
    phone_number: '6130001111',
    due_date: (Time.now + 86400).strftime('%d/%m/%Y')
  }
)

Create a new Boleto with split rules using Direct API

response = Ebanx.do_direct(
  operation: 'request',
  mode: 'full',
  payment: {
    name: 'João da Silva',
    email: 'joao@mailinator.com',
    currency_code: 'BRL',
    amount_total: 100.50,
    merchant_payment_code: Random.rand(10000000000),
    payment_type_code: 'boleto',
    person_type: 'personal',
    document: '13326724691',
    birth_date: '01/01/1980',
    zipcode: '70000-000',
    address: 'Rua Brasil',
    street_number: '1',
    city: 'Brasília',
    state: 'DF',
    country: 'br',
    phone_number: '6130001111',
    due_date: (Time.now + 86400).strftime('%d/%m/%Y'),
    split: [
      {
        recipient_code: "me",
        percentage: 50,
        liable: true,
        charge_fee: true
      },
      {
         recipient_code: "other-one-recipient",
         percentage: 50,
         liable: false,
         charge_fee: false
       }
    ]
  }
)

Automated Tests

We use minitest for testing this Gem.

rake test

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request