Class: CatarsePagarme::CreditCardTransaction
- Inherits:
-
TransactionBase
- Object
- TransactionBase
- CatarsePagarme::CreditCardTransaction
- Defined in:
- app/models/catarse_pagarme/credit_card_transaction.rb
Instance Attribute Summary
Attributes inherited from TransactionBase
#attributes, #payment, #transaction, #user
Instance Method Summary collapse
Methods inherited from TransactionBase
#attributes_to_payment, #change_payment_state, #default_installments, #delegator, #initialize, #payment_method
Constructor Details
This class inherits a constructor from CatarsePagarme::TransactionBase
Instance Method Details
#charge! ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/models/catarse_pagarme/credit_card_transaction.rb', line 4 def charge! save_card = self.attributes.delete(:save_card) self.transaction = PagarMe::Transaction.new(self.attributes) self.transaction.charge change_payment_state if self.transaction.status == 'refused' raise ::PagarMe::PagarMeError.new(I18n.t('projects.contributions.edit.transaction_error')) end save_user_credit_card if save_card self.transaction end |
#save_user_credit_card ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'app/models/catarse_pagarme/credit_card_transaction.rb', line 20 def save_user_credit_card card = self.transaction.card credit_card = self.user.credit_cards.find_or_initialize_by(card_key: card.id) credit_card.last_digits = card.last_digits credit_card.card_brand = card.brand credit_card.save! end |