class TresDelta::CreditCard
Attributes
billing_address[R]
customer[R]
expiration_month[RW]
expiration_year[RW]
name[R]
nickname[R]
number[R]
security_code[R]
token[RW]
type[R]
Public Class Methods
create(customer, params = {})
click to toggle source
# File lib/tres_delta/credit_card.rb, line 33 def create(customer, params = {}) CreditCard.new(params).tap do |credit_card| add_card = Vault.add_stored_credit_card(customer, credit_card) raise InvalidCreditCard unless add_card.success? credit_card.token = add_card.token end end
find(customer, token, load_number = false)
click to toggle source
# File lib/tres_delta/credit_card.rb, line 42 def find(customer, token, load_number = false) stored_card_details = Vault.get_stored_credit_card(customer, token, load_number) raise CreditCardNotFound unless stored_card_details.success? CreditCard.new(stored_card_details.credit_card.merge(customer: customer)) end
new(params = {})
click to toggle source
# File lib/tres_delta/credit_card.rb, line 7 def initialize(params = {}) @number = params[:number] || params[:card_account_number] @expiration_month = params[:expiration_month] @expiration_year = params[:expiration_year] @token = params[:token] @name = params[:name] @billing_address = Address.new(params[:billing_address] || {}) @type = params[:type] || params[:card_type] @nickname = params[:nickname] @customer = params[:customer] || Customer.new @security_code = params[:security_code] end
Public Instance Methods
has_security_code?()
click to toggle source
# File lib/tres_delta/credit_card.rb, line 28 def has_security_code? security_code.to_s.strip.size > 0 end
save()
click to toggle source
# File lib/tres_delta/credit_card.rb, line 20 def save if token.nil? Vault.add_stored_credit_card(customer, self).success? else Vault.update_stored_credit_card(customer, self).success? end end