class Getnet::CreditCard

Attributes

card_number[R]
card_token[R]

Public Class Methods

call(card_number) click to toggle source
# File lib/getnet/credit_card.rb, line 10
def self.call(card_number)
    new(card_number).get_token
end
new(card_number) click to toggle source
# File lib/getnet/credit_card.rb, line 6
def initialize(card_number)
    @card_number = card_number
end

Public Instance Methods

get_token() click to toggle source
# File lib/getnet/credit_card.rb, line 14
def get_token
    uri = URI(Getnet.uri_path('/v1/tokens/card'))

    req = Net::HTTP::Post.new uri
    req.body = {"card_number" => card_number}.to_json
    req.content_type = "application/json"
    req['Authorization'] = authorization.full_token
    req['Accept'] = "application/json, text/plain, */*"
    
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE

    res = http.request(req)
    
    result = JSON.parse(res.body)
    
    @card_token = result['number_token']
    @card_token
end

Private Instance Methods

authorization() click to toggle source
# File lib/getnet/credit_card.rb, line 37
def authorization
    @authorization ||= Getnet::Authorization.authenticate
end