minfraud 2.1.0 → 2.3.0
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/.github/dependabot.yml +4 -0
- data/.github/workflows/rubocop.yml +9 -3
- data/.github/workflows/test.yml +9 -2
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +22 -0
- data/LICENSE.txt +1 -1
- data/README.md +11 -1
- data/lib/minfraud/components/credit_card.rb +12 -0
- data/lib/minfraud/components/payment.rb +3 -0
- data/lib/minfraud/model/device.rb +1 -4
- data/lib/minfraud/version.rb +1 -1
- data/lib/minfraud.rb +6 -1
- data/minfraud.gemspec +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f182ec6ff9542ff7b8ece4510f041f4781ea6f6866dac5abef6de9f3444f615
|
4
|
+
data.tar.gz: c3ab3c050bd54c5b48afef905ddc1233f27137d32bf33679a0853df568b5bdde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 134ffce329ee439af6850e9ab57e7f66ca68c25578fa4d204973ecc7528ae3e7fd1d7f5548422baad3b421ca06459c6b731dcc10edd958642479015abd1df412
|
7
|
+
data.tar.gz: 55f507d7d54bbf7f4798027d8ea53a27464f0af26a8b53b80fcf5d56c15fb308bb921eca23f17ac6fffffddc94427ca946fee5ef6c75589d966c536815cf9448
|
data/.github/dependabot.yml
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
name: Run rubocop
|
2
|
-
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
pull_request:
|
6
|
+
schedule:
|
7
|
+
- cron: '4 0 * * SUN'
|
8
|
+
|
3
9
|
jobs:
|
4
10
|
rubocop:
|
5
11
|
runs-on: ubuntu-latest
|
6
12
|
steps:
|
7
|
-
- uses: actions/checkout@
|
13
|
+
- uses: actions/checkout@v4
|
8
14
|
- uses: ruby/setup-ruby@v1
|
9
15
|
with:
|
10
|
-
ruby-version: 3.
|
16
|
+
ruby-version: 3.2
|
11
17
|
- run: bundle install
|
12
18
|
- run: bundle exec rake -t rubocop
|
data/.github/workflows/test.yml
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
name: Run tests
|
2
|
-
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
pull_request:
|
6
|
+
schedule:
|
7
|
+
- cron: '4 1 * * SUN'
|
8
|
+
|
3
9
|
jobs:
|
4
10
|
test:
|
5
11
|
runs-on: ${{ matrix.os }}
|
@@ -14,13 +20,14 @@ jobs:
|
|
14
20
|
2.7,
|
15
21
|
'3.0',
|
16
22
|
3.1,
|
23
|
+
3.2,
|
17
24
|
jruby,
|
18
25
|
]
|
19
26
|
exclude:
|
20
27
|
- os: windows-latest
|
21
28
|
version: jruby
|
22
29
|
steps:
|
23
|
-
- uses: actions/checkout@
|
30
|
+
- uses: actions/checkout@v4
|
24
31
|
with:
|
25
32
|
submodules: true
|
26
33
|
- uses: ruby/setup-ruby@v1
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,27 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v2.3.0 (2023-12-04)
|
4
|
+
|
5
|
+
* Added the processor `:shopify_payments` to `Minfraud::Components::Payment`.
|
6
|
+
* Added the processor `:google_pay` to `Minfraud::Components::Payment`.
|
7
|
+
* Added the processor `:placetopay` to `Minfraud::Components::Payment`.
|
8
|
+
* In addition to the minfraud gem version, the User-Agent now includes the
|
9
|
+
version of Ruby and the version of the HTTP client in all HTTP requests.
|
10
|
+
* Updated `maxmind-geoip2` to version that includes the `anycast?` method
|
11
|
+
on `MaxMind::GeoIP2::Record::Traits`. This returns `true` if the IP
|
12
|
+
address belongs to an [anycast
|
13
|
+
network](https://en.wikipedia.org/wiki/Anycast). This is available in
|
14
|
+
minFraud Insights and Factors.
|
15
|
+
|
16
|
+
## v2.2.0 (2022-03-28)
|
17
|
+
|
18
|
+
* Added the input `/credit_card/country`. This is the country where the
|
19
|
+
issuer of the card is located. This may be passed instead of the
|
20
|
+
`/credit_card/issuer_id_number` if you do not wish to pass partial
|
21
|
+
account numbers or if your payment processor does not provide them. You
|
22
|
+
may provide this using the `country` attribute on
|
23
|
+
`Minfraud::Components::CreditCard`.
|
24
|
+
|
3
25
|
## v2.1.0 (2022-01-25)
|
4
26
|
|
5
27
|
* Adds the following new processor to `Minfraud::Components::Payment`:
|
data/LICENSE.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
3
|
Copyright (c) 2016-2020 kushnir.yb
|
4
|
-
Copyright (c) 2020-
|
4
|
+
Copyright (c) 2020-2023 MaxMind, Inc.
|
5
5
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -50,6 +50,16 @@ Minfraud.configure do |c|
|
|
50
50
|
end
|
51
51
|
````
|
52
52
|
|
53
|
+
To use the Sandbox web service instead of the production web service, you can provide the host:
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
Minfraud.configure do |c|
|
57
|
+
c.account_id = 12345
|
58
|
+
c.license_key = 'your_license_key'
|
59
|
+
c.host = 'sandbox.maxmind.com'
|
60
|
+
end
|
61
|
+
```
|
62
|
+
|
53
63
|
### Making a minFraud Score, Insights, or Factors Request
|
54
64
|
|
55
65
|
To use the minFraud API, create a `Minfraud::Assessments` object. The
|
@@ -283,7 +293,7 @@ This API uses [Semantic Versioning](https://semver.org/).
|
|
283
293
|
|
284
294
|
Copyright (c) 2016-2020 kushnir.yb.
|
285
295
|
|
286
|
-
Copyright (c) 2020-
|
296
|
+
Copyright (c) 2020-2023 MaxMind, Inc.
|
287
297
|
|
288
298
|
The gem is available as open source under the terms of the [MIT
|
289
299
|
License](https://opensource.org/licenses/MIT).
|
@@ -41,6 +41,16 @@ module Minfraud
|
|
41
41
|
# @return [String, nil]
|
42
42
|
attr_accessor :bank_phone_number
|
43
43
|
|
44
|
+
# The two character ISO 3166-1 alpha-2 country code where the issuer of
|
45
|
+
# the card is located. This may be passed instead of {::issuer_id_number}
|
46
|
+
# if you do not wish to pass partial account numbers, or if your payment
|
47
|
+
# processor does not provide them.
|
48
|
+
#
|
49
|
+
# @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
|
50
|
+
#
|
51
|
+
# @return [String, nil]
|
52
|
+
attr_accessor :country
|
53
|
+
|
44
54
|
# A token uniquely identifying the card. The token should consist of
|
45
55
|
# non-space printable ASCII characters. If the token is all digits, it
|
46
56
|
# must be more than 19 characters long. The token must not be a primary
|
@@ -96,6 +106,7 @@ module Minfraud
|
|
96
106
|
# correspond to one of the available attributes.
|
97
107
|
def initialize(params = {})
|
98
108
|
@bank_phone_country_code = params[:bank_phone_country_code]
|
109
|
+
@country = params[:country]
|
99
110
|
@issuer_id_number = params[:issuer_id_number]
|
100
111
|
@last_digits = params[:last_digits] || params[:last_4_digits]
|
101
112
|
@bank_name = params[:bank_name]
|
@@ -114,6 +125,7 @@ module Minfraud
|
|
114
125
|
return if !Minfraud.enable_validation
|
115
126
|
|
116
127
|
validate_telephone_country_code('bank_phone_country_code', @bank_phone_country_code)
|
128
|
+
validate_country_code('country', @country)
|
117
129
|
validate_regex('issuer_id_number', /\A(?:[0-9]{6}|[0-9]{8})\z/, @issuer_id_number)
|
118
130
|
validate_regex('last_digits', /\A(?:[0-9]{2}|[0-9]{4})\z/, @last_digits)
|
119
131
|
validate_string('bank_name', 255, @bank_name)
|
@@ -78,6 +78,7 @@ module Minfraud
|
|
78
78
|
g2a_pay
|
79
79
|
global_payments
|
80
80
|
gocardless
|
81
|
+
google_pay
|
81
82
|
heartland
|
82
83
|
hipay
|
83
84
|
ingenico
|
@@ -129,6 +130,7 @@ module Minfraud
|
|
129
130
|
payway
|
130
131
|
payza
|
131
132
|
pinpayments
|
133
|
+
placetopay
|
132
134
|
posconnect
|
133
135
|
princeton_payment_solutions
|
134
136
|
psigate
|
@@ -142,6 +144,7 @@ module Minfraud
|
|
142
144
|
safecharge
|
143
145
|
sagepay
|
144
146
|
securetrading
|
147
|
+
shopify_payments
|
145
148
|
simplify_commerce
|
146
149
|
skrill
|
147
150
|
smartcoin
|
@@ -19,10 +19,7 @@ module Minfraud
|
|
19
19
|
attr_reader :confidence
|
20
20
|
|
21
21
|
# A UUID that MaxMind uses for the device associated with this IP
|
22
|
-
# address.
|
23
|
-
# they are too common (for example, all iPhones of a given model and OS
|
24
|
-
# release). In these cases, the minFraud service will simply not return a
|
25
|
-
# UUID for that device.
|
22
|
+
# address.
|
26
23
|
#
|
27
24
|
# @return [String, nil]
|
28
25
|
attr_reader :id
|
data/lib/minfraud/version.rb
CHANGED
data/lib/minfraud.rb
CHANGED
@@ -43,6 +43,11 @@ module Minfraud
|
|
43
43
|
attr_accessor :enable_validation
|
44
44
|
|
45
45
|
# The host to use when connecting to the web service.
|
46
|
+
# By default, the client connects to the production host. However,
|
47
|
+
# during testing and development, you can set this option to
|
48
|
+
# 'sandbox.maxmind.com' to use the Sandbox environment's host. The
|
49
|
+
# sandbox allows you to experiment with the API without affecting your
|
50
|
+
# production data.
|
46
51
|
#
|
47
52
|
# @return [String, nil]
|
48
53
|
attr_accessor :host
|
@@ -76,7 +81,7 @@ module Minfraud
|
|
76
81
|
pass: @license_key,
|
77
82
|
).headers(
|
78
83
|
accept: 'application/json',
|
79
|
-
user_agent: "minfraud-api-ruby/#{Minfraud::VERSION}",
|
84
|
+
user_agent: "minfraud-api-ruby/#{Minfraud::VERSION} ruby/#{RUBY_VERSION} http/#{HTTP::VERSION}",
|
80
85
|
)
|
81
86
|
end
|
82
87
|
end
|
data/minfraud.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.add_runtime_dependency 'connection_pool', '~> 2.2'
|
26
26
|
spec.add_runtime_dependency 'http', '>= 4.3', '< 6.0'
|
27
|
-
spec.add_runtime_dependency 'maxmind-geoip2', '~> 1.
|
27
|
+
spec.add_runtime_dependency 'maxmind-geoip2', '~> 1.2'
|
28
28
|
spec.add_runtime_dependency 'simpleidn', '~> 0.1', '>= 0.1.1'
|
29
29
|
|
30
30
|
spec.add_development_dependency 'bundler', '~> 2.2'
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minfraud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kushnir.yb
|
8
8
|
- William Storey
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-12-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: connection_pool
|
@@ -51,14 +51,14 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.2'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.2'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: simpleidn
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -149,7 +149,7 @@ dependencies:
|
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '3.14'
|
152
|
-
description:
|
152
|
+
description:
|
153
153
|
email:
|
154
154
|
- support@maxmind.com
|
155
155
|
executables: []
|
@@ -222,7 +222,7 @@ licenses:
|
|
222
222
|
- MIT
|
223
223
|
metadata:
|
224
224
|
rubygems_mfa_required: 'true'
|
225
|
-
post_install_message:
|
225
|
+
post_install_message:
|
226
226
|
rdoc_options: []
|
227
227
|
require_paths:
|
228
228
|
- lib
|
@@ -237,8 +237,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
237
|
- !ruby/object:Gem::Version
|
238
238
|
version: '0'
|
239
239
|
requirements: []
|
240
|
-
rubygems_version: 3.
|
241
|
-
signing_key:
|
240
|
+
rubygems_version: 3.4.18
|
241
|
+
signing_key:
|
242
242
|
specification_version: 4
|
243
243
|
summary: Ruby API for the minFraud Score, Insights, Factors, and Report Transactions
|
244
244
|
services
|