Class: CatarsePagarme::SubscriptionTransaction
- Inherits:
-
TransactionBase
- Object
- TransactionBase
- CatarsePagarme::SubscriptionTransaction
- Defined in:
- app/models/catarse_pagarme/subscription_transaction.rb
Instance Attribute Summary
Attributes inherited from TransactionBase
#attributes, #contribution, #subscription, #transaction, #user
Instance Method Summary collapse
Methods inherited from TransactionBase
#attributes_to_contribution, #change_contribution_state, #delegator, #initialize, #payment_method
Constructor Details
This class inherits a constructor from CatarsePagarme::TransactionBase
Instance Method Details
#charge! ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'app/models/catarse_pagarme/subscription_transaction.rb', line 3 def charge! validate_subscription_id self.subscription = PagarMe::Subscription.find_by_id(self.attributes[:subscription_id]) self.subscription.charge(self.attributes[:amount], self.attributes[:installments]) self.transaction = subscription.current_transaction change_contribution_state self.transaction end |
#validate_subscription_id ⇒ Object
15 16 17 18 19 |
# File 'app/models/catarse_pagarme/subscription_transaction.rb', line 15 def validate_subscription_id unless self.user.credit_cards.where(subscription_id: self.attributes[:subscription_id]).present? raise PagarMe::PagarMeError.new('invalid subscription') end end |