Class: Mundipagg::CreditCard::Response

Inherits:
Response
  • Object
show all
Defined in:
lib/mundipagg/credit_card.rb

Instance Attribute Summary

Attributes inherited from Response

#body

Instance Method Summary collapse

Methods inherited from Response

#error, #initialize, #success?

Constructor Details

This class inherits a constructor from Mundipagg::Response

Instance Method Details

#acquirer_messageObject



90
91
92
# File 'lib/mundipagg/credit_card.rb', line 90

def acquirer_message
  payload[:credit_card_transaction_result_collection][:credit_card_transaction_result][:acquirer_message]
end

#acquirer_message_codeObject



86
87
88
# File 'lib/mundipagg/credit_card.rb', line 86

def acquirer_message_code
  @acquirer_message_code ||= acquirer_message.split("|").last
end

#acquirer_return_codeObject



82
83
84
# File 'lib/mundipagg/credit_card.rb', line 82

def acquirer_return_code
  payload[:credit_card_transaction_result_collection][:credit_card_transaction_result][:acquirer_return_code]
end

#error_descriptionObject



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/mundipagg/credit_card.rb', line 53

def error_description
  code = "c#{acquirer_message_code}"

  default_message = case code
    when "c1000"
      "Transação não autorizada."
    when "c1001"
      "Cartão com vencimento inválido."
    when "c1011"
      "Cartão inválido."
    when "c1013"
      "Transação não autorizada."
    when "c1025"
      "Cartão bloqueado."
    when "c2001"
      "Cartão vencido."
    when "c9111"
      "Time-out na transação."
    else
      code = "default"
      "Transação não autorizada. Código %{code}."
    end

  I18n.t code, scope: "mundipagg.errors",
    default: default_message,
    code: acquirer_message_code,
    acquirer_message: acquirer_message
end

#error_itemObject



49
50
51
# File 'lib/mundipagg/credit_card.rb', line 49

def error_item
  { description: error_description, error_code: acquirer_return_code }
end

#payloadObject



45
46
47
# File 'lib/mundipagg/credit_card.rb', line 45

def payload
  body[:create_order_response][:create_order_result]
end