Gem to consume IuguApi
obs: the ACCOUNT_ACCESS_TOKEN constant don't need to be send if the action does not involve a sub-account
Add this line to your application's Gemfile:
gem 'simple_iugu'
And then execute:
$ bundle
Or install it yourself as:
$ gem install simple_iugu
Add this to simple_iugu.rb Initializer:
SimpleIugu.api_key = YOUR_LIVE_API_TOKEN
SimpleIugu.api_key_test = YOUR_TEST_API_TOKEN
SimpleIugu.iugu_account_id = YOUR_ACCOUNT_ID
SimpleIugu.is_test = TRUE_OR_FALSE
SimpleIugu::Customer.create({
email: 'email@example.com',
name: 'example'
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#testinput-2
SimpleIugu::Customer.update(CUSTOMER_ID, {
email: 'email@example.com',
name: 'example'
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#alterarr
SimpleIugu::Customer.delete(CUSTOMER_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#remover-1
SimpleIugu::Customer.index(ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#listar-1
SimpleIugu::Customer.show(CUSTOMER_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#
SimpleIugu::PaymentToken.create({
method: credit_card,
test: TRUE_OR_FALSE,
data: {
number: CREDIT_CARD_NUMBER,
verification_value: CREDIT_CARD_CVV,
first_name: CREDIT_CARD_FIRST_NAME,
last_name: CREDIT_CARD_LAST_NAME,
month: CREDIT_CARD_MONTH_EXPIRATION,
year: CREDIT_CARD_YEAR_EXPIRATION
}
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#testinput
SimpleIugu::PaymentMethod.create(customer_id: CUSTOMER_ID,{
description: 'My credit card',
token: PAYMENT_TOKEN,
set_as_default: TRUE_OR_FALSE
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#testinput-3
SimpleIugu::PaymentMethod.update(customer_id: CUSTOMER_ID, id: ID, {
description: 'My credit card',
set_as_default: TRUE_OR_FALSE
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#alterar
SimpleIugu::PaymentMethod.delete(customer_id: CUSTOMER_ID, id: ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#remover-2
SimpleIugu::PaymentMethod.show(customer_id: CUSTOMER_ID, id: ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#testinput-4
SimpleIugu::PaymentMethod.index(customer_id: CUSTOMER_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#listar-2
SimpleIugu::Invoice.create({
email: 'email@example.com',
due_date: "AAA-MM-DD",
items: [
{
description: ITEM_DESCRIPTION,
quantity: ITEM_QUANTITY,
price_cents: UNITY_PRICE_CENTS
}
]
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#criar-fatura
SimpleIugu::Invoice.duplicate(INVOICE_ID, {
due_date: "AAA-MM-DD"
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#gerar-segunda-via
SimpleIugu::Invoice.capture(INVOICE_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#capturar-fatura
SimpleIugu::Invoice.show(INVOICE_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#detalhes
SimpleIugu::Invoice.index({
limit: 50
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#listar-faturas
SimpleIugu::Invoice.cancel(INVOICE_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#cancelar
SimpleIugu::Invoice.refund(INVOICE_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#reembolsar-fatura
SimpleIugu::Charge.create({
customer_payment_method_id: CUSTOMER_PAYMENT_METHOD
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#cobranca-direta
SimpleIugu::SubAccount.create({
name: PARTNER_NAME,
comission: {
percent: SOME_PERCENT
}
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#criar-conta
SimpleIugu::SubAccount.verify(IUGU_ACCOUNT_ID, {
data: {
}
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#enviar-verificacao-de-conta
SimpleIugu::SubAccount.update({
name: OTHER_NAME
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#configurar-conta
SimpleIugu::SubAccount.show(IUGU_ACCOUNT_ID, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#informacoes-da-conta
SimpleIugu::SubAccount.index({
limit: 50
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#listar-as-contas
SimpleIugu::Bank.create({
agency: AGENCY_NUMBER,
account: ACCOUNT_NUMBER,
account_type: CC_OR_CP,
bank: BANK_NUMBER,
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#adicionar-domicilio-bancario
SimpleIugu::Bank.index(ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#verificar-envio-de-domic%C3%ADlio-banc%C3%A1rio
SimpleIugu::Transfer.create({
receiver_id: ACCOUNT_ID,
amount_cents: AMOUNT_CENTS
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#transferir-valor
SimpleIugu::Withdrawal.create(ACCOUNT_ID, {
amount: AMOUNT
}, ACCOUNT_ACCESS_TOKEN)
Documentation https://dev.iugu.com/v1.0/reference#pedido-de-saque
Bug reports and pull requests are welcome on GitHub at https://github.com/henriqjanuario/simple_iugu.