Class: Pay::Braintree::Charge
- Inherits:
-
Charge
- Object
- Charge
- Pay::Braintree::Charge
show all
- Extended by:
- Sync
- Defined in:
- app/models/pay/braintree/charge.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Sync
find_pay_customer, pay_processor, sync_with_retries
Class Method Details
.sync(charge_id, object: nil) ⇒ Object
6
7
8
9
10
11
12
13
|
# File 'app/models/pay/braintree/charge.rb', line 6
def self.sync(charge_id, object: nil)
sync_with_retries do
transaction = object || Pay.braintree_gateway.transaction.find(charge_id)
return unless (pay_customer = find_pay_customer(transaction.customer_details.id))
pay_customer.save_transaction(transaction)
end
end
|
Instance Method Details
#api_record ⇒ Object
15
16
17
18
19
|
# File 'app/models/pay/braintree/charge.rb', line 15
def api_record
Pay.braintree_gateway.transaction.find(processor_id)
rescue ::Braintree::Braintree::Error => e
raise Pay::Braintree::Error, e
end
|
#refund!(amount_to_refund = nil) ⇒ Object
21
22
23
24
25
26
27
|
# File 'app/models/pay/braintree/charge.rb', line 21
def refund!(amount_to_refund = nil)
amount_to_refund ||= amount
Pay.braintree_gateway.transaction.refund(processor_id, amount_to_refund / 100.0)
update(amount_refunded: amount_to_refund)
rescue ::Braintree::BraintreeError => e
raise Pay::Braintree::Error, e
end
|