minfraud 2.5.0 → 2.7.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/README.md +3 -3
- data/lib/minfraud/components/payment.rb +1 -0
- data/lib/minfraud/components/report/transaction.rb +40 -8
- data/lib/minfraud/model/address.rb +1 -1
- data/lib/minfraud/model/credit_card.rb +1 -1
- data/lib/minfraud/model/device.rb +1 -1
- data/lib/minfraud/model/disposition.rb +1 -1
- data/lib/minfraud/model/email.rb +1 -1
- data/lib/minfraud/model/email_domain.rb +1 -1
- data/lib/minfraud/model/error.rb +1 -1
- data/lib/minfraud/model/factors.rb +18 -1
- data/lib/minfraud/model/geoip2_location.rb +1 -1
- data/lib/minfraud/model/insights.rb +16 -1
- data/lib/minfraud/model/ip_address.rb +1 -1
- data/lib/minfraud/model/ip_risk_reason.rb +1 -1
- data/lib/minfraud/model/issuer.rb +1 -1
- data/lib/minfraud/model/phone.rb +49 -0
- data/lib/minfraud/model/reason.rb +90 -0
- data/lib/minfraud/model/risk_score_reason.rb +37 -0
- data/lib/minfraud/model/score_ip_address.rb +1 -1
- data/lib/minfraud/model/shipping_address.rb +1 -1
- data/lib/minfraud/model/subscores.rb +1 -1
- data/lib/minfraud/model/warning.rb +1 -1
- data/lib/minfraud/validates.rb +13 -0
- data/lib/minfraud/version.rb +1 -1
- data/minfraud.gemspec +4 -4
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48d0ecc771382609286c6c96297b5c452163d99f8657a176bdaa3c25344b7667
|
4
|
+
data.tar.gz: bbb364d67a5172f3e1134833acb3835e4de6582eb079341f727963b058fe2df0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c66d6b084f94957a376636a4ff90ab961e5632f67e1950019dc0acf424cd9c86c8db67cbcea99aae05bfc052cd37c7e08bdc3cbde6fc4099f23009387cc611a8
|
7
|
+
data.tar.gz: f5a425d99063ca41b1ff4aba8c72f881abd08a35fbbd6d13606f31f8080964d94dc678cf6d03292c1150fcab7e67ef62ae2b05ee7b6d56a39df82a44201f966e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,27 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v2.7.0.beta1 (2024-09-06)
|
4
|
+
|
5
|
+
* Added support for the new risk reasons outputs in minFraud Factors. The risk
|
6
|
+
reasons output codes and reasons are currently in beta and are subject to
|
7
|
+
change. We recommend that you use these beta outputs with caution and avoid
|
8
|
+
relying on them for critical applications.
|
9
|
+
|
10
|
+
## v2.6.0 (2024-07-08)
|
11
|
+
|
12
|
+
* Updated the validation for the Report Transactions API to make the
|
13
|
+
`ip_address` parameter optional. Now the `tag` and at least one of the
|
14
|
+
following parameters must be supplied: `ip_address`, `maxmind_id`,
|
15
|
+
`minfraud_id`, `transaction_id`.
|
16
|
+
* Updated the validation for the Report Transactions API to check that
|
17
|
+
`ip_address`, `maxmind_id`, and `minfraud_id` contain valid values.
|
18
|
+
* Added `billing_phone` and `shipping_phone` attributes to the minFraud
|
19
|
+
Insights and Factors response models. These contain objects with
|
20
|
+
information about the respective phone numbers. Please see [our developer
|
21
|
+
site](https://dev.maxmind.com/minfraud/api-documentation/responses/) for
|
22
|
+
more information.
|
23
|
+
* Added the processor `:payconex` to `Minfraud::Components::Payment`.
|
24
|
+
|
3
25
|
## v2.5.0 (2024-04-16)
|
4
26
|
|
5
27
|
* Equivalent domain names are now normalized when `hash_address` is used.
|
data/README.md
CHANGED
@@ -208,9 +208,9 @@ channel is used to improve the accuracy of their fraud detection
|
|
208
208
|
algorithms.
|
209
209
|
|
210
210
|
To use the Report Transaction API, create a
|
211
|
-
`Minfraud::Components::Report::Transaction` object.
|
212
|
-
|
213
|
-
set, as shown below.
|
211
|
+
`Minfraud::Components::Report::Transaction` object. A valid tag and at least
|
212
|
+
one of the following are required parameters: ip_address, maxmind_id,
|
213
|
+
minfraud_id, transaction_id. Additional parameters may be set, as shown below.
|
214
214
|
|
215
215
|
If the report is successful, nothing is returned. If the report fails, an
|
216
216
|
exception will be thrown.
|
@@ -8,9 +8,13 @@ module Minfraud
|
|
8
8
|
# @see https://dev.maxmind.com/minfraud/report-a-transaction?lang=en
|
9
9
|
class Transaction < Base
|
10
10
|
include ::Minfraud::Enum
|
11
|
+
include ::Minfraud::Validates
|
11
12
|
|
12
13
|
# The IP address of the customer placing the order. This should be
|
13
|
-
# passed as a string like "152.216.7.110".
|
14
|
+
# passed as a string like "152.216.7.110". This field is not required
|
15
|
+
# if you provide at least one of the transaction's minfraud_id,
|
16
|
+
# maxmind_id, or transaction_id. You are encouraged to provide it, if
|
17
|
+
# possible.
|
14
18
|
#
|
15
19
|
# @return [String, nil]
|
16
20
|
attr_accessor :ip_address
|
@@ -34,16 +38,19 @@ module Minfraud
|
|
34
38
|
|
35
39
|
# A unique eight character string identifying a minFraud Standard or
|
36
40
|
# Premium request. These IDs are returned in the maxmindID field of a
|
37
|
-
# response for a successful minFraud request. This field is not
|
38
|
-
#
|
41
|
+
# response for a successful minFraud request. This field is not required
|
42
|
+
# if you provide at least one of the transaction's ip_address,
|
43
|
+
# minfraud_id, or transaction_id. You are encouraged to provide it, if
|
44
|
+
# possible.
|
39
45
|
#
|
40
46
|
# @return [String, nil]
|
41
47
|
attr_accessor :maxmind_id
|
42
48
|
|
43
49
|
# A UUID that identifies a minFraud Score, minFraud Insights, or
|
44
50
|
# minFraud Factors request. This ID is returned at /id in the response.
|
45
|
-
# This field is not required
|
46
|
-
#
|
51
|
+
# This field is not required if you provide at least one of the
|
52
|
+
# transaction's ip_address, maxmind_id, or transaction_id. You are
|
53
|
+
# encouraged to provide it, if possible.
|
47
54
|
#
|
48
55
|
# @return [String, nil]
|
49
56
|
attr_accessor :minfraud_id
|
@@ -56,9 +63,10 @@ module Minfraud
|
|
56
63
|
# @return [String, nil]
|
57
64
|
attr_accessor :notes
|
58
65
|
|
59
|
-
# The transaction ID you originally passed to minFraud. This field
|
60
|
-
# not required
|
61
|
-
#
|
66
|
+
# The transaction ID you originally passed to minFraud. This field
|
67
|
+
# is not required if you provide at least one of the transaction's
|
68
|
+
# ip_address, maxmind_id, or minfraud_id. You are encouraged to
|
69
|
+
# provide it, if possible.
|
62
70
|
#
|
63
71
|
# @return [String, nil]
|
64
72
|
attr_accessor :transaction_id
|
@@ -73,6 +81,30 @@ module Minfraud
|
|
73
81
|
@notes = params[:notes]
|
74
82
|
@transaction_id = params[:transaction_id]
|
75
83
|
self.tag = params[:tag]
|
84
|
+
|
85
|
+
validate
|
86
|
+
end
|
87
|
+
|
88
|
+
private
|
89
|
+
|
90
|
+
def validate
|
91
|
+
return if !Minfraud.enable_validation
|
92
|
+
|
93
|
+
validate_ip('ip_address', @ip_address)
|
94
|
+
validate_string('maxmind_id', 8, @maxmind_id)
|
95
|
+
validate_uuid('minfraud_id', @minfraud_id)
|
96
|
+
|
97
|
+
if ip_address.nil? &&
|
98
|
+
(minfraud_id.nil? || empty_uuid(minfraud_id)) &&
|
99
|
+
(maxmind_id.nil? || maxmind_id.empty?) &&
|
100
|
+
(transaction_id.nil? || transaction_id.empty?)
|
101
|
+
raise ArgumentError, 'At least one of the following is required: ip_address, minfraud_id, maxmind_id, transaction_id.'
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
def empty_uuid(value)
|
106
|
+
stripped_value = value.to_s.gsub('-', '')
|
107
|
+
stripped_value == '0' * 32
|
76
108
|
end
|
77
109
|
end
|
78
110
|
end
|
data/lib/minfraud/model/email.rb
CHANGED
data/lib/minfraud/model/error.rb
CHANGED
@@ -2,11 +2,21 @@
|
|
2
2
|
|
3
3
|
require 'minfraud/model/insights'
|
4
4
|
require 'minfraud/model/subscores'
|
5
|
+
require 'minfraud/model/risk_score_reason'
|
5
6
|
|
6
7
|
module Minfraud
|
7
8
|
module Model
|
8
9
|
# Model representing the Factors response.
|
9
10
|
class Factors < Insights
|
11
|
+
# This field contains RiskScoreReason objects that describe risk score reasons
|
12
|
+
# for a given transaction that change the risk score significantly.
|
13
|
+
# Risk score reasons are usually only returned for medium to high risk transactions.
|
14
|
+
# If there were no significant changes to the risk score due to these reasons,
|
15
|
+
# then this array will be empty.
|
16
|
+
#
|
17
|
+
# @return [Array<Minfraud::Model::RiskScoreReason>]
|
18
|
+
attr_reader :risk_score_reasons
|
19
|
+
|
10
20
|
# An object containing scores for many of the individual risk factors
|
11
21
|
# that are used to calculate the overall risk score.
|
12
22
|
#
|
@@ -15,7 +25,14 @@ module Minfraud
|
|
15
25
|
|
16
26
|
# @!visibility private
|
17
27
|
def initialize(record, locales)
|
18
|
-
super
|
28
|
+
super
|
29
|
+
|
30
|
+
@risk_score_reasons = []
|
31
|
+
if record&.key?('risk_score_reasons')
|
32
|
+
record['risk_score_reasons'].each do |r|
|
33
|
+
@risk_score_reasons << Minfraud::Model::RiskScoreReason.new(r)
|
34
|
+
end
|
35
|
+
end
|
19
36
|
|
20
37
|
@subscores = Minfraud::Model::Subscores.new(get('subscores'))
|
21
38
|
end
|
@@ -5,6 +5,7 @@ require 'minfraud/model/credit_card'
|
|
5
5
|
require 'minfraud/model/device'
|
6
6
|
require 'minfraud/model/email'
|
7
7
|
require 'minfraud/model/ip_address'
|
8
|
+
require 'minfraud/model/phone'
|
8
9
|
require 'minfraud/model/score'
|
9
10
|
require 'minfraud/model/shipping_address'
|
10
11
|
|
@@ -18,6 +19,12 @@ module Minfraud
|
|
18
19
|
# @return [Minfraud::Model::BillingAddress]
|
19
20
|
attr_reader :billing_address
|
20
21
|
|
22
|
+
# An object containing minFraud data related to the billing phone
|
23
|
+
# number used in the transaction.
|
24
|
+
#
|
25
|
+
# @return [Minfraud::Model::Phone]
|
26
|
+
attr_reader :billing_phone
|
27
|
+
|
21
28
|
# An object containing minFraud data about the credit card used in the
|
22
29
|
# transaction.
|
23
30
|
#
|
@@ -48,13 +55,20 @@ module Minfraud
|
|
48
55
|
# @return [Minfraud::Model::ShippingAddress]
|
49
56
|
attr_reader :shipping_address
|
50
57
|
|
58
|
+
# An object containing minFraud data related to the shipping phone
|
59
|
+
# number used in the transaction.
|
60
|
+
#
|
61
|
+
# @return [Minfraud::Model::Phone]
|
62
|
+
attr_reader :shipping_phone
|
63
|
+
|
51
64
|
# @!visibility private
|
52
65
|
def initialize(record, locales)
|
53
|
-
super
|
66
|
+
super
|
54
67
|
|
55
68
|
@billing_address = Minfraud::Model::BillingAddress.new(
|
56
69
|
get('billing_address')
|
57
70
|
)
|
71
|
+
@billing_phone = Minfraud::Model::Phone.new(get('billing_phone'))
|
58
72
|
@credit_card = Minfraud::Model::CreditCard.new(get('credit_card'))
|
59
73
|
@device = Minfraud::Model::Device.new(get('device'))
|
60
74
|
@email = Minfraud::Model::Email.new(get('email'))
|
@@ -62,6 +76,7 @@ module Minfraud
|
|
62
76
|
@shipping_address = Minfraud::Model::ShippingAddress.new(
|
63
77
|
get('shipping_address')
|
64
78
|
)
|
79
|
+
@shipping_phone = Minfraud::Model::Phone.new(get('shipping_phone'))
|
65
80
|
end
|
66
81
|
end
|
67
82
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'minfraud/model/abstract'
|
4
|
+
|
5
|
+
module Minfraud
|
6
|
+
module Model
|
7
|
+
# Model with information about the billing or shipping phone number.
|
8
|
+
class Phone < Abstract
|
9
|
+
# The two-character ISO 3166-1 country code for the country associated
|
10
|
+
# with the phone number.
|
11
|
+
#
|
12
|
+
# @return [String, nil]
|
13
|
+
attr_reader :country
|
14
|
+
|
15
|
+
# This is true if the phone number is a Voice over Internet Protocol
|
16
|
+
# (VoIP) number allocated by a regulator. It is false if the phone
|
17
|
+
# number is not a VoIP number allocated by a regulator. The attribute
|
18
|
+
# is nil when a valid phone number has not been provided or we do not
|
19
|
+
# have data for the phone number.
|
20
|
+
#
|
21
|
+
# @return [Boolean, nil]
|
22
|
+
attr_reader :is_voip
|
23
|
+
|
24
|
+
# The name of the original network operator associated with the phone
|
25
|
+
# number. This attribute does not reflect phone numbers that have been
|
26
|
+
# ported from the original operator to another, nor does it identify
|
27
|
+
# mobile virtual network operators.
|
28
|
+
#
|
29
|
+
# @return [String, nil]
|
30
|
+
attr_reader :network_operator
|
31
|
+
|
32
|
+
# One of the following values: fixed or mobile. Additional values may
|
33
|
+
# be added in the future.
|
34
|
+
#
|
35
|
+
# @return [String, nil]
|
36
|
+
attr_reader :number_type
|
37
|
+
|
38
|
+
# @!visibility private
|
39
|
+
def initialize(record)
|
40
|
+
super
|
41
|
+
|
42
|
+
@country = get('country')
|
43
|
+
@is_voip = get('is_voip')
|
44
|
+
@network_operator = get('network_operator')
|
45
|
+
@number_type = get('number_type')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'minfraud/model/abstract'
|
4
|
+
|
5
|
+
module Minfraud
|
6
|
+
module Model
|
7
|
+
# The risk score reason for the multiplier.
|
8
|
+
#
|
9
|
+
# This class provides both a machine-readable code and a human-readable
|
10
|
+
# explanation of the reason for the risk score, see
|
11
|
+
# https://dev.maxmind.com/minfraud/api-documentation/responses/schema--response--risk-score-reason--multiplier-reason.
|
12
|
+
# Although more codes may be added in the future, the current codes are:
|
13
|
+
#
|
14
|
+
# * BROWSER_LANGUAGE - Riskiness of the browser user-agent and
|
15
|
+
# language associated with the request.
|
16
|
+
# * BUSINESS_ACTIVITY - Riskiness of business activity
|
17
|
+
# associated with the request.
|
18
|
+
# * COUNTRY - Riskiness of the country associated with the request.
|
19
|
+
# * CUSTOMER_ID - Riskiness of a customer's activity.
|
20
|
+
# * EMAIL_DOMAIN - Riskiness of email domain.
|
21
|
+
# * EMAIL_DOMAIN_NEW - Riskiness of newly-sighted email domain.
|
22
|
+
# * EMAIL_ADDRESS_NEW - Riskiness of newly-sighted email address.
|
23
|
+
# * EMAIL_LOCAL_PART - Riskiness of the local part of the email address.
|
24
|
+
# * EMAIL_VELOCITY - Velocity on email - many requests on same email
|
25
|
+
# over short period of time.
|
26
|
+
# * ISSUER_ID_NUMBER_COUNTRY_MISMATCH - Riskiness of the country mismatch
|
27
|
+
# between IP, billing, shipping and IIN country.
|
28
|
+
# * ISSUER_ID_NUMBER_ON_SHOP_ID - Risk of Issuer ID Number for the shop ID.
|
29
|
+
# * ISSUER_ID_NUMBER_LAST_DIGITS_ACTIVITY - Riskiness of many recent requests
|
30
|
+
# and previous high-risk requests on the IIN and last digits of the credit card.
|
31
|
+
# * ISSUER_ID_NUMBER_SHOP_ID_VELOCITY - Risk of recent Issuer ID Number activity
|
32
|
+
# for the shop ID.
|
33
|
+
# * INTRACOUNTRY_DISTANCE - Risk of distance between IP, billing,
|
34
|
+
# and shipping location.
|
35
|
+
# * ANONYMOUS_IP - Risk due to IP being an Anonymous IP.
|
36
|
+
# * IP_BILLING_POSTAL_VELOCITY - Velocity of distinct billing postal code
|
37
|
+
# on IP address.
|
38
|
+
# * IP_EMAIL_VELOCITY - Velocity of distinct email address on IP address.
|
39
|
+
# * IP_HIGH_RISK_DEVICE - High-risk device sighted on IP address.
|
40
|
+
# * IP_ISSUER_ID_NUMBER_VELOCITY - Velocity of distinct IIN on IP address.
|
41
|
+
# * IP_ACTIVITY - Riskiness of IP based on minFraud network activity.
|
42
|
+
# * LANGUAGE - Riskiness of browser language.
|
43
|
+
# * MAX_RECENT_EMAIL - Riskiness of email address
|
44
|
+
# based on past minFraud risk scores on email.
|
45
|
+
# * MAX_RECENT_PHONE - Riskiness of phone number
|
46
|
+
# based on past minFraud risk scores on phone.
|
47
|
+
# * MAX_RECENT_SHIP - Riskiness of email address
|
48
|
+
# based on past minFraud risk scores on ship address.
|
49
|
+
# * MULTIPLE_CUSTOMER_ID_ON_EMAIL - Riskiness of email address
|
50
|
+
# having many customer IDs.
|
51
|
+
# * ORDER_AMOUNT - Riskiness of the order amount.
|
52
|
+
# * ORG_DISTANCE_RISK - Risk of ISP and distance between
|
53
|
+
# billing address and IP location.
|
54
|
+
# * PHONE - Riskiness of the phone number or related numbers.
|
55
|
+
# * CART - Riskiness of shopping cart contents.
|
56
|
+
# * TIME_OF_DAY - Risk due to local time of day.
|
57
|
+
# * TRANSACTION_REPORT_EMAIL - Risk due to transaction reports
|
58
|
+
# on the email address.
|
59
|
+
# * TRANSACTION_REPORT_IP - Risk due to transaction reports on the IP address.
|
60
|
+
# * TRANSACTION_REPORT_PHONE - Risk due to transaction reports
|
61
|
+
# on the phone number.
|
62
|
+
# * TRANSACTION_REPORT_SHIP - Risk due to transaction reports
|
63
|
+
# on the shipping address.
|
64
|
+
# * EMAIL_ACTIVITY - Riskiness of the email address
|
65
|
+
# based on minFraud network activity.
|
66
|
+
# * PHONE_ACTIVITY - Riskiness of the phone number
|
67
|
+
# based on minFraud network activity.
|
68
|
+
# * SHIP_ACTIVITY - Riskiness of ship address based on minFraud network activity.
|
69
|
+
class Reason < Abstract
|
70
|
+
# This value is a machine-readable code identifying the reason.
|
71
|
+
#
|
72
|
+
# @return [String]
|
73
|
+
attr_reader :code
|
74
|
+
|
75
|
+
# This property provides a human-readable explanation of the reason. The
|
76
|
+
# description may change at any time and should not be matched against.
|
77
|
+
#
|
78
|
+
# @return [String]
|
79
|
+
attr_reader :reason
|
80
|
+
|
81
|
+
# @!visibility private
|
82
|
+
def initialize(record)
|
83
|
+
super
|
84
|
+
|
85
|
+
@code = get('code')
|
86
|
+
@reason = get('reason')
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'minfraud/model/reason'
|
4
|
+
|
5
|
+
module Minfraud
|
6
|
+
module Model
|
7
|
+
# The risk score multiplier and the reasons for that multiplier.
|
8
|
+
class RiskScoreReason < Abstract
|
9
|
+
# The factor by which the risk score is increased (if the value is greater than 1)
|
10
|
+
# or decreased (if the value is less than 1) for given risk reason(s).
|
11
|
+
# Multipliers greater than 1.5 and less than 0.66 are considered significant
|
12
|
+
# and lead to risk reason(s) being present.
|
13
|
+
#
|
14
|
+
# @return [Float]
|
15
|
+
attr_reader :multiplier
|
16
|
+
|
17
|
+
# This field contains Risk objects that describe one of the reasons for the multiplier.
|
18
|
+
#
|
19
|
+
# @return [Array<Minfraud::Model::Risk>]
|
20
|
+
attr_reader :reasons
|
21
|
+
|
22
|
+
# @!visibility private
|
23
|
+
def initialize(record)
|
24
|
+
super
|
25
|
+
|
26
|
+
@multiplier = get('multiplier')
|
27
|
+
|
28
|
+
@reasons = []
|
29
|
+
if record&.key?('reasons')
|
30
|
+
record['reasons'].each do |r|
|
31
|
+
@reasons << Minfraud::Model::Reason.new(r)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/minfraud/validates.rb
CHANGED
@@ -24,6 +24,19 @@ module Minfraud
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
def validate_uuid(field, value)
|
28
|
+
return if !value
|
29
|
+
|
30
|
+
stripped_value = value.to_s.gsub('-', '')
|
31
|
+
|
32
|
+
# Define a regex pattern for a valid UUID without dashes
|
33
|
+
uuid_regex = /\A[0-9a-f]{32}\z/i
|
34
|
+
|
35
|
+
unless uuid_regex.match(stripped_value)
|
36
|
+
raise InvalidInputError, "The #{field} value is not valid. It must be a UUID string."
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
27
40
|
def validate_subdivision_code(field, value)
|
28
41
|
return if !value
|
29
42
|
|
data/lib/minfraud/version.rb
CHANGED
data/minfraud.gemspec
CHANGED
@@ -22,10 +22,10 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
-
spec.
|
26
|
-
spec.
|
27
|
-
spec.
|
28
|
-
spec.
|
25
|
+
spec.add_dependency 'connection_pool', '~> 2.2'
|
26
|
+
spec.add_dependency 'http', '>= 4.3', '< 6.0'
|
27
|
+
spec.add_dependency 'maxmind-geoip2', '~> 1.2'
|
28
|
+
spec.add_dependency 'simpleidn', '~> 0.1', '>= 0.1.1'
|
29
29
|
|
30
30
|
spec.add_development_dependency 'bundler', '~> 2.2'
|
31
31
|
spec.add_development_dependency 'rake', '~> 13.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minfraud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kushnir.yb
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-
|
12
|
+
date: 2024-09-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: connection_pool
|
@@ -203,6 +203,9 @@ files:
|
|
203
203
|
- lib/minfraud/model/ip_address.rb
|
204
204
|
- lib/minfraud/model/ip_risk_reason.rb
|
205
205
|
- lib/minfraud/model/issuer.rb
|
206
|
+
- lib/minfraud/model/phone.rb
|
207
|
+
- lib/minfraud/model/reason.rb
|
208
|
+
- lib/minfraud/model/risk_score_reason.rb
|
206
209
|
- lib/minfraud/model/score.rb
|
207
210
|
- lib/minfraud/model/score_ip_address.rb
|
208
211
|
- lib/minfraud/model/shipping_address.rb
|
@@ -233,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
236
|
- !ruby/object:Gem::Version
|
234
237
|
version: '0'
|
235
238
|
requirements: []
|
236
|
-
rubygems_version: 3.5.
|
239
|
+
rubygems_version: 3.5.16
|
237
240
|
signing_key:
|
238
241
|
specification_version: 4
|
239
242
|
summary: Ruby API for the minFraud Score, Insights, Factors, and Report Transactions
|