minfraud 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af8e0a313e978adbd8ccfdf6fccad4652ad0b5c4df5f7812da097f2be4d5390e
4
- data.tar.gz: 8d766ee43c166bc26a8c8643cded1d7a43a27cf6cc531e9fddaf66028ab0ebde
3
+ metadata.gz: 6df345c5d62d26c7e778a55423ac6a542ec8b94c040c6a43d26ef0cdad484503
4
+ data.tar.gz: 9d7d427983c71db3e4aa8ac1f7ef1008388a4847b455db50179e579292ac8c61
5
5
  SHA512:
6
- metadata.gz: 497a1c19029b36879b1b2f1b42f7037cfa205b24b199d71c84564a1cf26136de41f6b7fc8fdb9c9ffa163d3f82b8283d159f017d887aaa9709dfd059f1333625
7
- data.tar.gz: 72f3fd755450dd1f68b3f675fc181e3a326574bcde905ee7e1b3e64951c2c009788124b2e063e99ed6d080430d7f3d093bf64b8f8dfb78c452436de3937e5cbd
6
+ metadata.gz: 2cb3b9e1e1d825c828cf1e73684b70784ee1ba5de18902a1d76cd08b5f625cb276bd3a276c64e74f8c3cf8a8269be9c7707a6cd5afa12700d59281985178d070
7
+ data.tar.gz: 55fd1da7ed9543c44a6efcd4b3638b03a1537c31de12773a0446789f129234ceed750e16e8b0c8c629bcf2956815ef0b0f00cfdfe482fe3e4ad736b0cef5b3ef
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
@@ -9,10 +9,6 @@ jobs:
9
9
  os: [ubuntu-latest, windows-latest, macos-latest]
10
10
  version:
11
11
  [
12
- 2.1,
13
- 2.2,
14
- 2.3,
15
- 2.4,
16
12
  2.5,
17
13
  2.6,
18
14
  2.7,
data/.rubocop.yml CHANGED
@@ -1,5 +1,6 @@
1
- Gemspec/RequiredRubyVersion:
2
- Enabled: false # We support 2.1+, but rubocop supports 2.4+.
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
3
+ NewCops: enable
3
4
 
4
5
  # Metrics.
5
6
 
@@ -103,6 +104,3 @@ Lint/MissingSuper:
103
104
 
104
105
  Naming/VariableNumber:
105
106
  Enabled: false # Doesn't always make sense.
106
-
107
- AllCops:
108
- NewCops: enable
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Minfraud Changelog
2
2
 
3
+ ## v1.6.0 (2021-08-19)
4
+
5
+ * Adds new processor to `Minfraud::Components::Payment`: `:cardknox`,
6
+ `:creditguard`, `:credorax`, `:datacap`, `:dlocal`, `:onpay`, and
7
+ `:safecharge`.
8
+ * Adds `rule_label` to minFraud output `/disposition`.
9
+ * Adds support for the `/credit_card/was_3d_secure_successful` input. This is
10
+ available by setting the `was_3d_secure_successful` attribute on
11
+ `Minfraud::Components::CreditCard`.
12
+ * Ruby 2.5+ is now required. If you're using Ruby 2.1, 2.2, 2.3, or 2.4,
13
+ please use version 1.5.0 of this gem.
14
+
3
15
  ## v1.5.0 (2021-02-02)
4
16
 
5
17
  * Add the `hash_address` attribute to `Minfraud::Components::Email`. If
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 MaxMind, Inc.
4
+ Copyright (c) 2020-2021 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
@@ -122,14 +122,15 @@ assessment = Minfraud::Assessments.new(
122
122
  decline_code: 'invalid number',
123
123
  },
124
124
  credit_card: {
125
- issuer_id_number: '411111',
126
- last_4_digits: '7643',
127
- bank_name: 'Bank of No Hope',
128
- bank_phone_country_code: '1',
129
- bank_phone_number: '123-456-1234',
130
- token: 'abcd',
131
- avs_result: 'Y',
132
- cvv_result: 'N',
125
+ issuer_id_number: '411111',
126
+ last_4_digits: '7643',
127
+ bank_name: 'Bank of No Hope',
128
+ bank_phone_country_code: '1',
129
+ bank_phone_number: '123-456-1234',
130
+ token: 'abcd',
131
+ avs_result: 'Y',
132
+ cvv_result: 'N',
133
+ was_3d_secure_successful: true,
133
134
  },
134
135
  order: {
135
136
  amount: 323.21,
@@ -264,7 +265,7 @@ to the client API, please see
264
265
 
265
266
  ## Requirements
266
267
 
267
- This gem works with Ruby 2.1 and above.
268
+ This gem works with Ruby 2.5 and above.
268
269
 
269
270
  ## Contributing
270
271
 
@@ -282,7 +283,7 @@ This API uses [Semantic Versioning](https://semver.org/).
282
283
 
283
284
  Copyright (c) 2016-2020 kushnir.yb.
284
285
 
285
- Copyright (c) 2020 MaxMind, Inc.
286
+ Copyright (c) 2020-2021 MaxMind, Inc.
286
287
 
287
288
  The gem is available as open source under the terms of the [MIT
288
289
  License](https://opensource.org/licenses/MIT).
@@ -62,17 +62,28 @@ module Minfraud
62
62
  # @return [String, nil]
63
63
  attr_accessor :cvv_result
64
64
 
65
+ # Whether the outcome of 3-D Secure verification (e.g. Safekey,
66
+ # SecureCode, Verified by Visa) was successful. +true+ if customer
67
+ # verification was successful, or +false+ if the customer failed
68
+ # verification. If 3-D Secure verification was not used, was unavailable,
69
+ # or resulted in an outcome other than success or failure, do not
70
+ # include this field.
71
+ #
72
+ # @return [Boolean, nil]
73
+ attr_accessor :was_3d_secure_successful
74
+
65
75
  # @param params [Hash] Hash of parameters. Each key/value should
66
76
  # correspond to one of the available attributes.
67
77
  def initialize(params = {})
68
- @bank_phone_country_code = params[:bank_phone_country_code]
69
- @issuer_id_number = params[:issuer_id_number]
70
- @last_4_digits = params[:last_4_digits]
71
- @bank_name = params[:bank_name]
72
- @bank_phone_number = params[:bank_phone_number]
73
- @avs_result = params[:avs_result]
74
- @cvv_result = params[:cvv_result]
75
- @token = params[:token]
78
+ @bank_phone_country_code = params[:bank_phone_country_code]
79
+ @issuer_id_number = params[:issuer_id_number]
80
+ @last_4_digits = params[:last_4_digits]
81
+ @bank_name = params[:bank_name]
82
+ @bank_phone_number = params[:bank_phone_number]
83
+ @avs_result = params[:avs_result]
84
+ @cvv_result = params[:cvv_result]
85
+ @token = params[:token]
86
+ @was_3d_secure_successful = params[:was_3d_secure_successful]
76
87
 
77
88
  validate
78
89
  end
@@ -90,6 +101,7 @@ module Minfraud
90
101
  validate_string('avs_result', 1, @avs_result)
91
102
  validate_string('cvv_result', 1, @cvv_result)
92
103
  validate_credit_card_token('token', @token)
104
+ validate_boolean('was_3d_secure_successful', @was_3d_secure_successful)
93
105
  end
94
106
  end
95
107
  end
@@ -31,6 +31,7 @@ module Minfraud
31
31
  :bluesnap,
32
32
  :bpoint,
33
33
  :braintree,
34
+ :cardknox,
34
35
  :cardpay,
35
36
  :cashfree,
36
37
  :ccavenue,
@@ -44,15 +45,19 @@ module Minfraud
44
45
  :compropago,
45
46
  :concept_payments,
46
47
  :conekta,
48
+ :creditguard,
49
+ :credorax,
47
50
  :ct_payments,
48
51
  :cuentadigital,
49
52
  :curopayments,
50
53
  :cybersource,
51
54
  :dalenys,
52
55
  :dalpay,
56
+ :datacap,
53
57
  :datacash,
54
58
  :dibs,
55
59
  :digital_river,
60
+ :dlocal,
56
61
  :dotpay,
57
62
  :ebs,
58
63
  :ecomm365,
@@ -89,6 +94,7 @@ module Minfraud
89
94
  :nmi,
90
95
  :oceanpayment,
91
96
  :oney,
97
+ :onpay,
92
98
  :openpaymx,
93
99
  :optimal_payments,
94
100
  :orangepay,
@@ -124,6 +130,7 @@ module Minfraud
124
130
  :rede,
125
131
  :redpagos,
126
132
  :rewardspay,
133
+ :safecharge,
127
134
  :sagepay,
128
135
  :securetrading,
129
136
  :simplify_commerce,
@@ -10,8 +10,8 @@ module Minfraud
10
10
  # rules.
11
11
  class Disposition < Abstract
12
12
  # The action to take on the transaction as defined by your custom rules.
13
- # The current set of values are "accept", "manual_review", and "reject".
14
- # If you do not have custom rules set up, this will be nil.
13
+ # The current set of values are "accept", "manual_review", "reject", and
14
+ # "test". If you do not have custom rules set up, this will be nil.
15
15
  #
16
16
  # @return [String, nil]
17
17
  attr_reader :action
@@ -23,12 +23,19 @@ module Minfraud
23
23
  # @return [String, nil]
24
24
  attr_reader :reason
25
25
 
26
+ # The label of the custom rule that was triggered. If you do not have
27
+ # custom rules set up, the triggered custom rule does not have a label,
28
+ # or no custom rule was triggered, this will be nil.
29
+ # @return [String, nil]
30
+ attr_reader :rule_label
31
+
26
32
  # @!visibility private
27
33
  def initialize(record)
28
34
  super(record)
29
35
 
30
- @action = get('action')
31
- @reason = get('reason')
36
+ @action = get('action')
37
+ @reason = get('reason')
38
+ @rule_label = get('rule_label')
32
39
  end
33
40
  end
34
41
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Minfraud
4
4
  # The Gem version.
5
- VERSION = '1.5.0'
5
+ VERSION = '1.6.0'
6
6
  end
data/minfraud.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.homepage = 'https://github.com/maxmind/minfraud-api-ruby'
16
16
  spec.license = 'MIT'
17
17
 
18
- spec.required_ruby_version = '>= 2.1'
18
+ spec.required_ruby_version = '>= 2.5.0'
19
19
 
20
20
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
21
  spec.bindir = 'exe'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minfraud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kushnir.yb
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-02 00:00:00.000000000 Z
11
+ date: 2021-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -154,13 +154,14 @@ dependencies:
154
154
  - - ">="
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0'
157
- description:
157
+ description:
158
158
  email:
159
159
  - support@maxmind.com
160
160
  executables: []
161
161
  extensions: []
162
162
  extra_rdoc_files: []
163
163
  files:
164
+ - ".github/dependabot.yml"
164
165
  - ".github/workflows/rubocop.yml"
165
166
  - ".github/workflows/test.yml"
166
167
  - ".gitignore"
@@ -241,7 +242,7 @@ homepage: https://github.com/maxmind/minfraud-api-ruby
241
242
  licenses:
242
243
  - MIT
243
244
  metadata: {}
244
- post_install_message:
245
+ post_install_message:
245
246
  rdoc_options: []
246
247
  require_paths:
247
248
  - lib
@@ -249,16 +250,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
249
250
  requirements:
250
251
  - - ">="
251
252
  - !ruby/object:Gem::Version
252
- version: '2.1'
253
+ version: 2.5.0
253
254
  required_rubygems_version: !ruby/object:Gem::Requirement
254
255
  requirements:
255
256
  - - ">="
256
257
  - !ruby/object:Gem::Version
257
258
  version: '0'
258
259
  requirements: []
259
- rubyforge_project:
260
- rubygems_version: 2.7.6.2
261
- signing_key:
260
+ rubygems_version: 3.1.2
261
+ signing_key:
262
262
  specification_version: 4
263
263
  summary: Ruby API for the minFraud Score, Insights, Factors, and Report Transactions
264
264
  services