class Pay::Braintree::PaymentMethod
Attributes
pay_payment_method[R]
Public Class Methods
new(pay_payment_method)
click to toggle source
# File lib/pay/braintree/payment_method.rb, line 17 def initialize(pay_payment_method) @pay_payment_method = pay_payment_method end
sync(id, object: nil, try: 0, retries: 1)
click to toggle source
# File lib/pay/braintree/payment_method.rb, line 8 def self.sync(id, object: nil, try: 0, retries: 1) object ||= gateway.payment_method.find(id) pay_customer = Pay::Customer.find_by(processor: :braintree, processor_id: object.customer_id) return unless pay_customer pay_customer.save_payment_method(object, default: object.default?) end
Public Instance Methods
detach()
click to toggle source
Remove payment method
# File lib/pay/braintree/payment_method.rb, line 29 def detach result = gateway.payment_method.delete(processor_id) raise Pay::Braintree::Error, result unless result.success? result.success? end
make_default!()
click to toggle source
Sets payment method as default on Stripe
# File lib/pay/braintree/payment_method.rb, line 22 def make_default! result = gateway.customer.update(customer.processor_id, default_payment_method_token: processor_id) raise Pay::Braintree::Error, result unless result.success? result.success? end
Private Instance Methods
gateway()
click to toggle source
# File lib/pay/braintree/payment_method.rb, line 37 def gateway Pay.braintree_gateway end