Class: ThePlaidApi::ProtectReportType

Inherits:
Object
  • Object
show all
Defined in:
lib/the_plaid_api/models/protect_report_type.rb

Overview

The type of incident being reported. ‘USER_ACCOUNT_TAKEOVER` - Indicates that a legitimate user’s account was accessed or controlled by an unauthorized party. ‘FALSE_IDENTITY` - Indicates that a user created an account using stolen or fabricated identity information. `STOLEN_IDENTITY` - Indicates that a user created an account using identity information belonging to a real individual without their consent. `SYNTHETIC_IDENTITY` - Indicates that a user created an account using a fake or partially fabricated identity (e.g., combining real and fake information to form a new persona). `MULTIPLE_USER_ACCOUNTS` - Indicates that the same individual is operating multiple accounts in violation of policy. `SCAM_VICTIM` - Indicates that the user was tricked into authorizing or sending funds as part of a scam. `BANK_ACCOUNT_TAKEOVER` - Indicates that a user’s linked bank account was accessed or misused by an unauthorized party. ‘BANK_CONNECTION_REVOKED` - Indicates that a linked bank account connection was revoked by the financial institution, often due to suspected misuse, fraud, or security concerns. `CARD_TESTING` - Indicates that a card was used in small or repeated transactions to test its validity. `UNAUTHORIZED_TRANSACTION` - Indicates that a transaction was made without the user’s consent or authorization. ‘CARD_CHARGEBACK` - Indicates that a card transaction was reversed via a chargeback claim. `ACH_RETURN` - Indicates that an ACH transaction was returned or reversed by the bank. `DISPUTE` - Indicates that a user filed a dispute regarding a transaction or account activity. `FIRST_PARTY_FRAUD` - Indicates that a user intentionally misrepresented themselves or their actions for financial gain. `MISSED_PAYMENT` - Indicates that a user failed to make a required payment on time. `LOAN_STACKING` - Indicates that a user applied for or took out multiple loans simultaneously beyond their ability to repay. `MONEY_LAUNDERING` - Indicates that funds are being moved through accounts to obscure their illicit origin. `NO_FRAUD` - Indicates that an investigation determined no fraudulent activity occurred on user/event (positive label) `OTHER` - Indicates that the case involves fraud or financial risk not covered by other report types. Requires notes describing the report.

Constant Summary collapse

PROTECT_REPORT_TYPE =
[
  # TODO: Write general description for USER_ACCOUNT_TAKEOVER
  USER_ACCOUNT_TAKEOVER = 'USER_ACCOUNT_TAKEOVER'.freeze,

  # TODO: Write general description for FALSE_IDENTITY
  FALSE_IDENTITY = 'FALSE_IDENTITY'.freeze,

  # TODO: Write general description for STOLEN_IDENTITY
  STOLEN_IDENTITY = 'STOLEN_IDENTITY'.freeze,

  # TODO: Write general description for SYNTHETIC_IDENTITY
  SYNTHETIC_IDENTITY = 'SYNTHETIC_IDENTITY'.freeze,

  # TODO: Write general description for MULTIPLE_USER_ACCOUNTS
  MULTIPLE_USER_ACCOUNTS = 'MULTIPLE_USER_ACCOUNTS'.freeze,

  # TODO: Write general description for SCAM_VICTIM
  SCAM_VICTIM = 'SCAM_VICTIM'.freeze,

  # TODO: Write general description for BANK_ACCOUNT_TAKEOVER
  BANK_ACCOUNT_TAKEOVER = 'BANK_ACCOUNT_TAKEOVER'.freeze,

  # TODO: Write general description for BANK_CONNECTION_REVOKED
  BANK_CONNECTION_REVOKED = 'BANK_CONNECTION_REVOKED'.freeze,

  # TODO: Write general description for CARD_TESTING
  CARD_TESTING = 'CARD_TESTING'.freeze,

  # TODO: Write general description for UNAUTHORIZED_TRANSACTION
  UNAUTHORIZED_TRANSACTION = 'UNAUTHORIZED_TRANSACTION'.freeze,

  # TODO: Write general description for CARD_CHARGEBACK
  CARD_CHARGEBACK = 'CARD_CHARGEBACK'.freeze,

  # TODO: Write general description for ACH_RETURN
  ACH_RETURN = 'ACH_RETURN'.freeze,

  # TODO: Write general description for DISPUTE
  DISPUTE = 'DISPUTE'.freeze,

  # TODO: Write general description for FIRST_PARTY_FRAUD
  FIRST_PARTY_FRAUD = 'FIRST_PARTY_FRAUD'.freeze,

  # TODO: Write general description for MISSED_PAYMENT
  MISSED_PAYMENT = 'MISSED_PAYMENT'.freeze,

  # TODO: Write general description for LOAN_STACKING
  LOAN_STACKING = 'LOAN_STACKING'.freeze,

  # TODO: Write general description for MONEY_LAUNDERING
  MONEY_LAUNDERING = 'MONEY_LAUNDERING'.freeze,

  # TODO: Write general description for NO_FRAUD
  NO_FRAUD = 'NO_FRAUD'.freeze,

  # TODO: Write general description for OTHER
  OTHER = 'OTHER'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = USER_ACCOUNT_TAKEOVER) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/the_plaid_api/models/protect_report_type.rb', line 106

def self.from_value(value, default_value = USER_ACCOUNT_TAKEOVER)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'user_account_takeover' then USER_ACCOUNT_TAKEOVER
  when 'false_identity' then FALSE_IDENTITY
  when 'stolen_identity' then STOLEN_IDENTITY
  when 'synthetic_identity' then SYNTHETIC_IDENTITY
  when 'multiple_user_accounts' then MULTIPLE_USER_ACCOUNTS
  when 'scam_victim' then SCAM_VICTIM
  when 'bank_account_takeover' then BANK_ACCOUNT_TAKEOVER
  when 'bank_connection_revoked' then BANK_CONNECTION_REVOKED
  when 'card_testing' then CARD_TESTING
  when 'unauthorized_transaction' then UNAUTHORIZED_TRANSACTION
  when 'card_chargeback' then CARD_CHARGEBACK
  when 'ach_return' then ACH_RETURN
  when 'dispute' then DISPUTE
  when 'first_party_fraud' then FIRST_PARTY_FRAUD
  when 'missed_payment' then MISSED_PAYMENT
  when 'loan_stacking' then LOAN_STACKING
  when 'money_laundering' then MONEY_LAUNDERING
  when 'no_fraud' then NO_FRAUD
  when 'other' then OTHER
  else
    default_value
  end
end

.validate(value) ⇒ Object



100
101
102
103
104
# File 'lib/the_plaid_api/models/protect_report_type.rb', line 100

def self.validate(value)
  return false if value.nil?

  PROTECT_REPORT_TYPE.include?(value)
end