Class: FraudReport

Inherits:
ApplicationRecord show all
Includes:
Models::Auditable
Defined in:
app/models/fraud_report.rb

Overview

== Schema Information

Table name: fraud_reports
Database name: primary

id :integer not null, primary key
anonymizer_confidence :integer
anonymizer_is_hosting_provider :boolean
anonymizer_is_tor :boolean
anonymizer_is_vpn :boolean
anonymizer_network_last_seen :date
anonymizer_provider_name :string
billing_address_distance_to_ip_location :integer
billing_address_is_in_ip_country :boolean
billing_address_is_postal_in_city :boolean
billing_address_latitude :decimal(, )
billing_address_line1_check :string
billing_address_longitude :decimal(, )
billing_address_zip_check :string
billing_and_shipping_address_different :boolean
credit_card_brand :string
credit_card_country :string
credit_card_cvc_check :string
credit_card_is_issued_in_billing_address_country :boolean
credit_card_is_prepaid :boolean
credit_card_issuer_name :string
credit_card_issuer_phone_number :string
credit_card_type :string
email_domain_classification :string
email_domain_first_seen :string
email_domain_risk :decimal(, )
email_domain_visit_status :string
email_domain_volume :decimal(, )
email_is_disposable :boolean
email_is_free :boolean
email_is_high_risk :boolean
first_time_order :boolean default(FALSE)
ip_address_city :string
ip_address_continent :string
ip_address_country :string
ip_address_isp :string
ip_address_latitude :decimal(, )
ip_address_longitude :decimal(, )
ip_address_postal_code :string
ip_address_registered_country :string
ip_address_risk_score :integer
ip_risk_snapshot :decimal(, )
is_online_order :boolean
minfraud_error :string
minfraud_params :jsonb
minfraud_risk_score :integer
mobile_country_code :string
mobile_network_code :string
pipl_params :jsonb
radar_reason :string
radar_risk_level :string
shipping_address_distance_to_billing_address :integer
shipping_address_distance_to_ip_location :integer
shipping_address_is_high_risk :boolean
shipping_address_is_in_ip_country :boolean
shipping_address_is_postal_in_city :boolean
shipping_address_latitude :decimal(, )
shipping_address_longitude :decimal(, )
shipping_state_different_to_billing_state :boolean
shipping_state_is_qc :boolean
shipping_zip_different_to_billing_zip :boolean
string :string
created_at :datetime
updated_at :datetime
authorization_id :integer
creator_id :integer
minfraud_id :string
payment_id :integer
previous_minfraud_id :string
updater_id :integer

Indexes

index_fraud_reports_on_payment_id (payment_id)

Constant Summary

Constants included from Models::Auditable

Models::Auditable::ALWAYS_IGNORED

Belongs to collapse

Methods included from Models::Auditable

#creator, #updater

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Models::Auditable

#all_skipped_columns, #audit_reference_data, #should_not_save_version, #stamp_record

Methods inherited from ApplicationRecord

ransackable_associations, ransackable_attributes, ransackable_scopes, ransortable_attributes, #to_relation

Methods included from Models::EventPublishable

#publish_event

Class Method Details

.distance_in_miles(distance) ⇒ Object



107
108
109
110
111
# File 'app/models/fraud_report.rb', line 107

def self.distance_in_miles(distance)
  return nil if distance.nil?
  
  RubyUnits::Unit.new("#{distance} km").convert_to("mi").to_s
end

.pass_or_fail_boolean(res) ⇒ Object



96
97
98
99
100
101
102
103
104
105
# File 'app/models/fraud_report.rb', line 96

def self.pass_or_fail_boolean(res)
  case res
  when 'pass'
    true
  when 'fail'
    false
  else
    nil
  end
end

Instance Method Details

#paymentPayment

Returns:

See Also:



84
# File 'app/models/fraud_report.rb', line 84

belongs_to :payment

#potential_fraud?Boolean

Returns:

  • (Boolean)


88
89
90
# File 'app/models/fraud_report.rb', line 88

def potential_fraud?
  Order::FraudDetector.potential_fraud(self)[:result] == true
end

#potential_fraud_reasonsObject



92
93
94
# File 'app/models/fraud_report.rb', line 92

def potential_fraud_reasons
  Order::FraudDetector.potential_fraud(self)[:reasons]
end