Sha256: e269584a60dae5e46abceab23a71da4830539d95e421425a1b639f6e0649df01
Contents?: true
Size: 1.22 KB
Versions: 7
Compression:
Stored size: 1.22 KB
Contents
module Braintree class PayPalAccount include BaseModule attr_reader :email, :token, :image_url, :created_at, :updated_at, :subscriptions def initialize(gateway, attributes) # :nodoc: @gateway = gateway set_instance_variables_from_hash(attributes) @subscriptions = (@subscriptions || []).map { |subscription_hash| Subscription._new(@gateway, subscription_hash) } end class << self protected :new end def self._new(*args) self.new(*args) end def self.find(token) Configuration.gateway.paypal_account.find(token) end def self.update(token, attributes) Configuration.gateway.paypal_account.update(token, attributes) end def self.delete(token) Configuration.gateway.paypal_account.delete(token) end def self.sale(token, transaction_attributes) Configuration.gateway.transaction.sale(transaction_attributes.merge(:payment_method_token => token)) end def self.sale!(token, transaction_attributes) return_object_or_raise(:transaction) { sale(token, transaction_attributes) } end # Returns true if this paypal account is the customer's default payment method. def default? @default end end end
Version data entries
7 entries across 7 versions & 1 rubygems