2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# 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
|