Sha256: af7804bfa82f5ac78def9962a00c278f7704e2c06c61a3009b864654dec57aac

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 KB

Contents

module GeoCerts

  class FraudScore < ApiObject

    attr_accessor :ip, :city, :region, :postal_code, :country, :domain, :bin, :bin_name, :bin_phone, :phone, :forwarded_ip, :email, :username, :password, :shipping_address, :shipping_city, :shipping_region, :shipping_postal_code, :shipping_country, :transaction_id, :session_id, :user_agent, :accept_language
    attr_accessor :country_match, :country_code, :high_risk_country, :distance, :ip_region, :ip_city, :ip_latitude, :ip_longitude, :ip_isp, :ip_org, :anonymous_proxy, :proxy_score, :transparent_proxy, :freemail, :carder_email, :high_risk_username, :high_risk_password, :bin_match, :bin_country, :bin_name_match, :bin_name, :bin_phone_match, :bin_phone, :phone_in_billing_location, :ship_forward, :city_postal_match, :ship_city_postal_match, :explanation, :risk_score, :queries_remaining, :error

    force_boolean :country_match, :high_risk_country, :anonymous_proxy, :transparent_proxy, :freemail, :carder_email, :high_risk_username, :high_risk_password, :bin_match, :bin_phone_match, :ship_forward, :city_postal_match, :ship_city_postal_match, :phone_in_billing_location

    def self.query(attributes = {}, &block)
      new(attributes, &block).query
    end

    ##
    # Queries the GeoCerts FraudScore API for details about the
    # payment being processed.
    #
    def query
      update_attributes(self.class.call_api {GeoCerts.api.query_fraud_score(api_attributes)['fraud-score']})
    end


    private


    def api_attributes
      {
        :ip => @ip,
        :city => @city,
        :region => @region,
        :postal_code => @postal_code,
        :country => @country
      }
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
geocerts-1.0.1 lib/geo_certs/fraud_score.rb
geocerts-1.0.0 lib/geo_certs/fraud_score.rb