Class: Io::Flow::V0::Models::CardPaymentSourceAuthorizationForm

Inherits:
AuthorizationForm show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Creates an authorization for a transaction from a card payment source.

Instance Attribute Summary collapse

Attributes inherited from AuthorizationForm

#discriminator

Instance Method Summary collapse

Methods inherited from AuthorizationForm

from_json, #to_hash

Constructor Details

#initialize(incoming = {}) ⇒ CardPaymentSourceAuthorizationForm

Returns a new instance of CardPaymentSourceAuthorizationForm.



33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33538

def initialize(incoming={})
  super(:discriminator => AuthorizationForm::Types::CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:card_payment_source_id, :order_number, :amount, :currency], 'CardPaymentSourceAuthorizationForm')
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
  @card_payment_source_id = HttpClient::Preconditions.assert_class('card_payment_source_id', opts.delete(:card_payment_source_id), String)
  @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
  @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
end

Instance Attribute Details

#amountObject (readonly)

Returns the value of attribute amount.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def amount
  @amount
end

#browser_infoObject (readonly)

Returns the value of attribute browser_info.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def browser_info
  @browser_info
end

#card_payment_source_idObject (readonly)

Returns the value of attribute card_payment_source_id.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def card_payment_source_id
  @card_payment_source_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def currency
  @currency
end

#inline_action_configurationObject (readonly)

Returns the value of attribute inline_action_configuration.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def inline_action_configuration
  @inline_action_configuration
end

#keyObject (readonly)

Returns the value of attribute key.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def key
  @key
end

#order_numberObject (readonly)

Returns the value of attribute order_number.



33536
33537
33538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33536

def order_number
  @order_number
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



33555
33556
33557
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33555

def copy(incoming={})
  CardPaymentSourceAuthorizationForm.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#subtype_to_hashObject



33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33559

def subtype_to_hash
  {
    :key => key,
    :card_payment_source_id => card_payment_source_id,
    :order_number => order_number,
    :amount => amount.to_f.to_s,
    :currency => currency,
    :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
    :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
  }
end

#to_jsonObject



33551
33552
33553
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 33551

def to_json
  JSON.dump(to_hash)
end