Class: Moiper::Notification

Inherits:
Object
  • Object
show all
Defined in:
lib/moiper/notification.rb

Constant Summary collapse

PAYMENT_STATUSES =
{
  1 => :authorized,
  2 => :started,
  3 => :payment_form_printed,
  4 => :finished,
  5 => :canceled,
  6 => :under_analysis,
  7 => :returned,
  9 => :reimbursed
}
FINANCIAL_INSTITUTIONS =
{
  1 => "MoIP",
  3 => "Visa",
  7 => "AmericanExpress",
  5 => "Mastercard",
  6 => "Diners",
  8 => "BancoDoBrasil",
  22 => "Bradesco",
  13 => "Itau",
  75 => "Hipercard",
  76 => "Paggo",
  88 => "Banrisul"
}
PAYMENT_METHODS =
{
  "BoletoBancario" => :payment_form,
  "CartaoDeCredito" => :credit_card,
  "DebitoBancario" => :debit,
  "CartaoDeDebito" => :debit_card,
  "FinanciamentoBancario" => :financing,
  "CarteiraMoIP" => :moip_account
}

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Notification

Returns a new instance of Notification.



46
47
48
# File 'lib/moiper/notification.rb', line 46

def initialize(params)
  @params = params
end

Instance Method Details

#additional_infoString

Returns additional information provided by the financial institution regarding this transaction when it has a canceled status.

Returns:

  • (String)

    additional information provided by the financial institution regarding this transaction when it has a canceled status

See Also:



101
102
103
# File 'lib/moiper/notification.rb', line 101

def additional_info
  params["classificacao"]
end

#financial_institutionString

Returns financial institution name.

Returns:

  • (String)

    financial institution name

See Also:



75
76
77
# File 'lib/moiper/notification.rb', line 75

def financial_institution
  FINANCIAL_INSTITUTIONS[params["forma_pagamento"].to_i]
end

#idString

Returns informed unique identifier.

Returns:

  • (String)

    informed unique identifier



51
52
53
# File 'lib/moiper/notification.rb', line 51

def id
  params["id_transacao"]
end

#moip_idInteger

Returns the internal Moip identifier for this transaction.

Returns:

  • (Integer)

    the internal Moip identifier for this transaction



68
69
70
# File 'lib/moiper/notification.rb', line 68

def moip_id
  params["cod_moip"].to_i
end

#payment_methodString

Returns payment method used by this transaction.

Returns:

  • (String)

    payment method used by this transaction

See Also:



82
83
84
# File 'lib/moiper/notification.rb', line 82

def payment_method
  PAYMENT_METHODS[params["tipo_pagamento"]]
end

#payment_statusSymbol

Returns payment status.

Returns:

  • (Symbol)

    payment status

See Also:



63
64
65
# File 'lib/moiper/notification.rb', line 63

def payment_status
  PAYMENT_STATUSES[params["status_pagamento"].to_i]
end

#priceFloat

Returns amount paid by the user.

Returns:

  • (Float)

    amount paid by the user



56
57
58
# File 'lib/moiper/notification.rb', line 56

def price
  params["valor"].to_i / 100.0
end

#quotasInteger

Returns number of quotas that the payment was divided.

Returns:

  • (Integer)

    number of quotas that the payment was divided



88
89
90
# File 'lib/moiper/notification.rb', line 88

def quotas
  params["parcelas"].to_i
end

#user_emailString

Returns user email address.

Returns:

  • (String)

    user email address



93
94
95
# File 'lib/moiper/notification.rb', line 93

def user_email
  params["email_consumidor"]
end