module Pin::API::Tokens
Public Instance Methods
create_token(number, expiry_month, expiry_year, cvc, name, address)
click to toggle source
# File lib/pin/api/tokens.rb, line 2 def create_token(number, expiry_month, expiry_year, cvc, name, address) require_field number, :number require_field expiry_month, :expiry_month require_field expiry_year, :expiry_year require_field cvc, :cvc require_field name, :name unless address.is_a? Hash throw 'Address must be a hash containing each address field: line1, line2 (optional), city, postcode, state, country' end require_field address[:line1], :line1 require_field address[:city], :city require_field address[:postcode], :postcode require_field address[:state], :state require_field address[:country], :country params = { :number => number, :expiry_month => expiry_month, :expiry_year => expiry_year, :cvc => cvc, :name => name, :address_line1 => address[:line1], :address_city => address[:city], :address_postcode => address[:postcode], :address_state => address[:state], :address_country => address[:country], } if address.has_key? :line2 && !address[:line2].blank? params[:address_line2] = address[:line2] end raw_response = api_call(:post, 'cards', params) pin_response(raw_response, Pin::Models::Card.new(raw_response['response'])) end