minfraud 1.6.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -20
  3. data/CHANGELOG.md +48 -1
  4. data/Gemfile +0 -9
  5. data/README.md +2 -2
  6. data/lib/minfraud/assessments.rb +21 -16
  7. data/lib/minfraud/components/account.rb +1 -1
  8. data/lib/minfraud/components/billing.rb +1 -1
  9. data/lib/minfraud/components/credit_card.rb +1 -1
  10. data/lib/minfraud/components/custom_inputs.rb +1 -1
  11. data/lib/minfraud/components/device.rb +1 -1
  12. data/lib/minfraud/components/email.rb +1 -1
  13. data/lib/minfraud/components/event.rb +11 -11
  14. data/lib/minfraud/components/order.rb +1 -1
  15. data/lib/minfraud/components/payment.rb +152 -142
  16. data/lib/minfraud/components/report/transaction.rb +2 -2
  17. data/lib/minfraud/components/shipping.rb +2 -2
  18. data/lib/minfraud/components/shopping_cart.rb +1 -1
  19. data/lib/minfraud/components/shopping_cart_item.rb +3 -3
  20. data/lib/minfraud/http_service/response.rb +28 -21
  21. data/lib/minfraud/model/device.rb +1 -1
  22. data/lib/minfraud/model/disposition.rb +3 -3
  23. data/lib/minfraud/model/ip_address.rb +4 -47
  24. data/lib/minfraud/model/score.rb +1 -1
  25. data/lib/minfraud/model/subscores.rb +0 -22
  26. data/lib/minfraud/report.rb +19 -11
  27. data/lib/minfraud/validates.rb +2 -2
  28. data/lib/minfraud/version.rb +1 -1
  29. data/lib/minfraud.rb +18 -24
  30. data/minfraud.gemspec +8 -5
  31. metadata +21 -47
  32. data/lib/maxmind/geoip2/model/city.rb +0 -99
  33. data/lib/maxmind/geoip2/model/country.rb +0 -94
  34. data/lib/maxmind/geoip2/model/insights.rb +0 -38
  35. data/lib/maxmind/geoip2/record/abstract.rb +0 -46
  36. data/lib/maxmind/geoip2/record/city.rb +0 -62
  37. data/lib/maxmind/geoip2/record/continent.rb +0 -61
  38. data/lib/maxmind/geoip2/record/country.rb +0 -78
  39. data/lib/maxmind/geoip2/record/location.rb +0 -97
  40. data/lib/maxmind/geoip2/record/maxmind.rb +0 -41
  41. data/lib/maxmind/geoip2/record/place.rb +0 -52
  42. data/lib/maxmind/geoip2/record/postal.rb +0 -54
  43. data/lib/maxmind/geoip2/record/represented_country.rb +0 -47
  44. data/lib/maxmind/geoip2/record/subdivision.rb +0 -72
  45. data/lib/maxmind/geoip2/record/traits.rb +0 -233
  46. data/lib/minfraud/http_service/request.rb +0 -38
  47. data/lib/minfraud/http_service.rb +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6df345c5d62d26c7e778a55423ac6a542ec8b94c040c6a43d26ef0cdad484503
4
- data.tar.gz: 9d7d427983c71db3e4aa8ac1f7ef1008388a4847b455db50179e579292ac8c61
3
+ metadata.gz: 4e3c2e76357a683ceda7350bde7dc4c89cc6055d473b771ee74041d4371f05f7
4
+ data.tar.gz: 60aacbf2435a51f65c9d9702e209ddab469d21dd672ba8d5baf34dae807deb2f
5
5
  SHA512:
6
- metadata.gz: 2cb3b9e1e1d825c828cf1e73684b70784ee1ba5de18902a1d76cd08b5f625cb276bd3a276c64e74f8c3cf8a8269be9c7707a6cd5afa12700d59281985178d070
7
- data.tar.gz: 55fd1da7ed9543c44a6efcd4b3638b03a1537c31de12773a0446789f129234ceed750e16e8b0c8c629bcf2956815ef0b0f00cfdfe482fe3e4ad736b0cef5b3ef
6
+ metadata.gz: ebdccdbdb2d97665faabbf8486cdeb029e1a1d372a09a1ffeff226f5f900d99887e6e370e01515543983c46f86d4083fa347e557d82c5dde265b079e055adddc
7
+ data.tar.gz: 61f65f9cc64dd1e0c205c5c2f8df5acfb621dc1ae80b828d5df27e0616964ac0c0a1315b609a4a3228b1f9ecce78dd31411b66513c25eb4311532b3b9f71d775
data/.rubocop.yml CHANGED
@@ -40,7 +40,7 @@ Layout/IndentationStyle:
40
40
  # Style.
41
41
 
42
42
  Style/HashSyntax:
43
- EnforcedStyle: ruby19_no_mixed_keys # Default is ruby19.
43
+ EnforcedStyle: ruby19_no_mixed_keys # Default is ruby19. This one is better.
44
44
 
45
45
  Style/CollectionMethods:
46
46
  Enabled: true # Default is false.
@@ -54,9 +54,6 @@ Style/NegatedIf: # I disagree with this.
54
54
  Style/IfUnlessModifier: # This doesn't always make sense.
55
55
  Enabled: false
56
56
 
57
- Style/SymbolArray:
58
- EnforcedStyle: brackets # Default is percent, but 1.9 doesn't support that.
59
-
60
57
  # Trailing commas are often good.
61
58
  Style/TrailingCommaInArguments:
62
59
  Enabled: false
@@ -65,9 +62,6 @@ Style/TrailingCommaInArrayLiteral:
65
62
  Style/TrailingCommaInHashLiteral:
66
63
  Enabled: false
67
64
 
68
- Style/SafeNavigation:
69
- Enabled: false # Default is true, but this 1.9 doesn't support it.
70
-
71
65
  # Default is both which is probably fine, but it changes code and I don't want
72
66
  # to investigate any possible behavior change right now.
73
67
  Style/EmptyElse:
@@ -76,25 +70,12 @@ Style/EmptyElse:
76
70
  Style/ConditionalAssignment:
77
71
  Enabled: false # This produces kind of strange results.
78
72
 
79
- Style/Dir:
80
- Enabled: false # This is good, but not supported on 1.9.
81
-
82
- Style/ExpandPathArguments:
83
- Enabled: false # This causes us to use __dir__ which 1.9 doesn't support.
84
-
85
73
  Style/GuardClause:
86
74
  Enabled: false # Doesn't always make sense.
87
75
 
88
- Style/Documentation:
89
- Enabled: false # We should enable this, but allow for pre-existing code.
90
-
91
76
  Style/FormatStringToken:
92
77
  Enabled: false # Seems unnecessary.
93
78
 
94
- # Asks to use x.negative? instead of x < 0. But this isn't available until 2.3.
95
- Style/NumericPredicate:
96
- Enabled: false
97
-
98
79
  # Seems unnecessary. Asks us to call super in a bunch of places when there's no
99
80
  # need.
100
81
  Lint/MissingSuper:
data/CHANGELOG.md CHANGED
@@ -1,4 +1,50 @@
1
- # Minfraud Changelog
1
+ # Changelog
2
+
3
+ ## v2.0.0 (2021-12-06)
4
+
5
+ * Breaking change from 1.x: Removed deprecated methods
6
+ `is_in_european_union`, `is_anonymous`, `is_anonymous_vpn`,
7
+ `is_hosting_provider`, `is_public_proxy`, and `is_tor_exit_node`. The
8
+ non-deprecated equivalents are `in_european_union?`, `anonymous?`,
9
+ `anonymous_vpn?`, `hosting_provider?`, `public_proxy?`, and
10
+ `tor_exit_node?`.
11
+ * Breaking change from 1.x: Removed deprecated methods for deprecated
12
+ subscores: `email_tenure` and `ip_tenure`. For `email_tenure`, please use
13
+ the `email_address` subscore instead. For `ip_tenure`, please use
14
+ `risk_score` instead.
15
+ * Breaking change from 1.x: Removed deprecated method for deprecated
16
+ attribute `ip_address.country.is_high_risk`.
17
+ * Breaking change from 1.x: Switches HTTP client from faraday to http.rb.
18
+ There should be no behavior change for most users, but this is
19
+ technically a breaking change from the perspective of semver. Most users
20
+ should not be affected as the changes are limited to attributes and
21
+ classes that would not normally be accessed outside the gem.
22
+ * Breaking change from 1.x: `user_id` is no longer supported as a way to
23
+ configure your MaxMind account ID. Use `account_id` instead.
24
+ * Breaking change from 1.x: Removed the `Minfraud.configuration` method.
25
+ * Breaking change from 1.x: Localized names are no longer exposed via
26
+ methods on `names` objects, only as hash keys. For example, use
27
+ `response.ip_address.country.names['en']` instead of
28
+ `response.ip_address.country.names.en`. The latter was deprecated.
29
+ * Adds mobile country code (MCC) and mobile network code (MNC) to minFraud
30
+ Insights and Factors responses. These are available at
31
+ `response.ip_address.traits.mobile_country_code` and
32
+ `response.ip_address.traits.mobile_network_code`. We expect this data to
33
+ be available by late January, 2022.
34
+ * Adds the following new processors to `Minfraud::Components::Payment`:
35
+ * `:boacompra`
36
+ * `:boku`
37
+ * `:coregateway`
38
+ * `:fiserv`
39
+ * `:neopay`
40
+ * `:neosurf`
41
+ * `:openbucks`
42
+ * `:paysera`
43
+ * `:payvision`
44
+ * `:trustly`
45
+ * Depend on the `maxmind-geoip2` gem. This allows us to delete classes from
46
+ that gem that we previously had included in this gem. There is no
47
+ functional difference.
2
48
 
3
49
  ## v1.6.0 (2021-08-19)
4
50
 
@@ -103,6 +149,7 @@
103
149
  * Adds `amount` attribute to the `Minfraud::Components::Order` instances
104
150
 
105
151
  ## v1.0.3 (2016-11-24)
152
+
106
153
  * Adds `token` attribute to the `Minfraud::Components::CreditCard` instances
107
154
  according to the MinFraud Release Notes introduced on November 17, 2016
108
155
 
data/Gemfile CHANGED
@@ -2,13 +2,4 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- # coveralls fails on Ruby 1.9. My understanding is we don't need to run this on
6
- # more than one version anyway, so restrict to the current latest.
7
- version_pieces = RUBY_VERSION.split('.')
8
- major_version = version_pieces[0]
9
- minor_version = version_pieces[1]
10
- if major_version == '2' && minor_version == '7'
11
- gem 'coveralls', require: false
12
- end
13
-
14
5
  gemspec
data/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
  ## Description
4
4
 
5
5
  This package provides an API for the [MaxMind minFraud web
6
- services](https://dev.maxmind.com/minfraud/). This includes minFraud Score,
6
+ services](https://dev.maxmind.com/minfraud?lang=en). This includes minFraud Score,
7
7
  Insights, and Factors. It also includes our [minFraud Report Transaction
8
- API](https://dev.maxmind.com/minfraud/report-transaction/).
8
+ API](https://dev.maxmind.com/minfraud/report-a-transaction?lang=en).
9
9
 
10
10
  The legacy minFraud Standard and Premium services are not supported by this
11
11
  API.
@@ -4,9 +4,8 @@ module Minfraud
4
4
  # Assessments is used to perform minFraud Score, Insights, and Factors
5
5
  # requests.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/
7
+ # @see https://dev.maxmind.com/minfraud?lang=en
8
8
  class Assessments
9
- include ::Minfraud::HTTPService
10
9
  include ::Minfraud::Resolver
11
10
 
12
11
  # The Account component.
@@ -82,6 +81,8 @@ module Minfraud
82
81
  #
83
82
  # @return [Minfraud::HTTPService::Response]
84
83
  #
84
+ # @raise [JSON::ParserError] if there was invalid JSON in the response.
85
+ #
85
86
  # @raise [Minfraud::AuthorizationError] If there was an authentication
86
87
  # problem.
87
88
  #
@@ -98,6 +99,8 @@ module Minfraud
98
99
  #
99
100
  # @return [Minfraud::HTTPService::Response]
100
101
  #
102
+ # @raise [JSON::ParserError] if there was invalid JSON in the response.
103
+ #
101
104
  # @raise [Minfraud::AuthorizationError] If there was an authentication
102
105
  # problem.
103
106
  #
@@ -114,6 +117,8 @@ module Minfraud
114
117
  #
115
118
  # @return [Minfraud::HTTPService::Response]
116
119
  #
120
+ # @raise [JSON::ParserError] if there was invalid JSON in the response.
121
+ #
117
122
  # @raise [Minfraud::AuthorizationError] If there was an authentication
118
123
  # problem.
119
124
  #
@@ -129,18 +134,22 @@ module Minfraud
129
134
  private
130
135
 
131
136
  def perform_request(endpoint)
132
- raw = request.perform(
133
- verb: :post,
134
- endpoint: endpoint.to_s,
135
- body: request_body,
136
- )
137
+ response = nil
138
+ body = nil
139
+ Minfraud.connection_pool.with do |client|
140
+ response = client.post(
141
+ "/minfraud/v2.0/#{endpoint}",
142
+ json: request_body,
143
+ )
144
+
145
+ body = response.to_s
146
+ end
137
147
 
138
148
  response = ::Minfraud::HTTPService::Response.new(
139
- endpoint: endpoint,
140
- locales: @locales,
141
- status: raw.status.to_i,
142
- body: raw.body,
143
- headers: raw.headers
149
+ endpoint,
150
+ @locales,
151
+ response,
152
+ body,
144
153
  )
145
154
 
146
155
  ::Minfraud::ErrorHandler.examine(response)
@@ -153,9 +162,5 @@ module Minfraud
153
162
  mem.merge!(e.to_s => value.to_json)
154
163
  end
155
164
  end
156
-
157
- def request
158
- @request ||= Request.new(::Minfraud::HTTPService.configuration)
159
- end
160
165
  end
161
166
  end
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # Account corresponds to the account object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Account_(/account)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--account
8
8
  class Account < Base
9
9
  include Minfraud::Validates
10
10
 
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # Billing corresponds to the billing object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Billing_(/billing)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--billing
8
8
  class Billing < Addressable; end
9
9
  end
10
10
  end
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # CreditCard corresponds to the credit_card object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Credit_Card_(/creditcard)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--credit-card
8
8
  class CreditCard < Base
9
9
  include Minfraud::Validates
10
10
 
@@ -5,7 +5,7 @@ module Minfraud
5
5
  # CustomInputs corresponds to the custom_inputs object of a minFraud
6
6
  # request.
7
7
  #
8
- # @see https://dev.maxmind.com/minfraud/#Custom_Inputs_(/custominputs)
8
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--custom-inputs
9
9
  class CustomInputs < Base
10
10
  include Minfraud::Validates
11
11
 
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # Device corresponds to the device object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Device_(/device)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--device
8
8
  class Device < Base
9
9
  include Minfraud::Validates
10
10
 
@@ -7,7 +7,7 @@ module Minfraud
7
7
  module Components
8
8
  # Email corresponds to the email object of a minFraud request.
9
9
  #
10
- # @see https://dev.maxmind.com/minfraud/#Email_(/email)
10
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--email
11
11
  class Email < Base
12
12
  include Minfraud::Validates
13
13
 
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # Event corresponds to the event object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Event_(/event)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--event
8
8
  class Event < Base
9
9
  include ::Minfraud::Enum
10
10
  include Minfraud::Validates
@@ -43,16 +43,16 @@ module Minfraud
43
43
  #
44
44
  # @return [Symbol, nil]
45
45
  enum_accessor :type,
46
- [
47
- :account_creation,
48
- :account_login,
49
- :email_change,
50
- :password_reset,
51
- :payout_change,
52
- :purchase,
53
- :recurring_purchase,
54
- :referral,
55
- :survey,
46
+ %i[
47
+ account_creation
48
+ account_login
49
+ email_change
50
+ password_reset
51
+ payout_change
52
+ purchase
53
+ recurring_purchase
54
+ referral
55
+ survey
56
56
  ]
57
57
 
58
58
  # @param params [Hash] Hash of parameters. Each key/value should
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # Order corresponds to the order object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Order_(/order)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--order
8
8
  class Order < Base
9
9
  include Minfraud::Validates
10
10
 
@@ -4,7 +4,7 @@ module Minfraud
4
4
  module Components
5
5
  # Payment corresponds to the payment object of a minFraud request.
6
6
  #
7
- # @see https://dev.maxmind.com/minfraud/#Payment_(/payment)
7
+ # @see https://dev.maxmind.com/minfraud/api-documentation/requests?lang=en#schema--request--payment
8
8
  class Payment < Base
9
9
  include ::Minfraud::Enum
10
10
  include Minfraud::Validates
@@ -15,147 +15,157 @@ module Minfraud
15
15
  # @!attribute processor
16
16
  #
17
17
  # @return [Symbol, nil]
18
- enum_accessor :processor, [
19
- :adyen,
20
- :affirm,
21
- :afterpay,
22
- :altapay,
23
- :amazon_payments,
24
- :american_express_payment_gateway,
25
- :apple_pay,
26
- :aps_payments,
27
- :authorizenet,
28
- :balanced,
29
- :beanstream,
30
- :bluepay,
31
- :bluesnap,
32
- :bpoint,
33
- :braintree,
34
- :cardknox,
35
- :cardpay,
36
- :cashfree,
37
- :ccavenue,
38
- :ccnow,
39
- :cetelem,
40
- :chase_paymentech,
41
- :checkout_com,
42
- :cielo,
43
- :collector,
44
- :commdoo,
45
- :compropago,
46
- :concept_payments,
47
- :conekta,
48
- :creditguard,
49
- :credorax,
50
- :ct_payments,
51
- :cuentadigital,
52
- :curopayments,
53
- :cybersource,
54
- :dalenys,
55
- :dalpay,
56
- :datacap,
57
- :datacash,
58
- :dibs,
59
- :digital_river,
60
- :dlocal,
61
- :dotpay,
62
- :ebs,
63
- :ecomm365,
64
- :ecommpay,
65
- :elavon,
66
- :emerchantpay,
67
- :epay,
68
- :eprocessing_network,
69
- :epx,
70
- :eway,
71
- :exact,
72
- :first_atlantic_commerce,
73
- :first_data,
74
- :g2a_pay,
75
- :global_payments,
76
- :gocardless,
77
- :heartland,
78
- :hipay,
79
- :ingenico,
80
- :interac,
81
- :internetsecure,
82
- :intuit_quickbooks_payments,
83
- :iugu,
84
- :klarna,
85
- :komoju,
86
- :lemon_way,
87
- :mastercard_payment_gateway,
88
- :mercadopago,
89
- :mercanet,
90
- :merchant_esolutions,
91
- :mirjeh,
92
- :mollie,
93
- :moneris_solutions,
94
- :nmi,
95
- :oceanpayment,
96
- :oney,
97
- :onpay,
98
- :openpaymx,
99
- :optimal_payments,
100
- :orangepay,
101
- :other,
102
- :pacnet_services,
103
- :payeezy,
104
- :payfast,
105
- :paygate,
106
- :paylike,
107
- :payment_express,
108
- :paymentwall,
109
- :payone,
110
- :paypal,
111
- :payplus,
112
- :paysafecard,
113
- :paystation,
114
- :paytm,
115
- :paytrace,
116
- :paytrail,
117
- :payture,
118
- :payu,
119
- :payulatam,
120
- :payway,
121
- :payza,
122
- :pinpayments,
123
- :posconnect,
124
- :princeton_payment_solutions,
125
- :psigate,
126
- :qiwi,
127
- :quickpay,
128
- :raberil,
129
- :razorpay,
130
- :rede,
131
- :redpagos,
132
- :rewardspay,
133
- :safecharge,
134
- :sagepay,
135
- :securetrading,
136
- :simplify_commerce,
137
- :skrill,
138
- :smartcoin,
139
- :smartdebit,
140
- :solidtrust_pay,
141
- :sps_decidir,
142
- :stripe,
143
- :synapsefi,
144
- :systempay,
145
- :telerecargas,
146
- :towah,
147
- :transact_pro,
148
- :tsys,
149
- :usa_epay,
150
- :vantiv,
151
- :verepay,
152
- :vericheck,
153
- :vindicia,
154
- :virtual_card_services,
155
- :vme,
156
- :vpos,
157
- :wirecard,
158
- :worldpay
18
+ enum_accessor :processor, %i[
19
+ adyen
20
+ affirm
21
+ afterpay
22
+ altapay
23
+ amazon_payments
24
+ american_express_payment_gateway
25
+ apple_pay
26
+ aps_payments
27
+ authorizenet
28
+ balanced
29
+ beanstream
30
+ bluepay
31
+ bluesnap
32
+ boacompra
33
+ boku
34
+ bpoint
35
+ braintree
36
+ cardknox
37
+ cardpay
38
+ cashfree
39
+ ccavenue
40
+ ccnow
41
+ cetelem
42
+ chase_paymentech
43
+ checkout_com
44
+ cielo
45
+ collector
46
+ commdoo
47
+ compropago
48
+ concept_payments
49
+ conekta
50
+ coregateway
51
+ creditguard
52
+ credorax
53
+ ct_payments
54
+ cuentadigital
55
+ curopayments
56
+ cybersource
57
+ dalenys
58
+ dalpay
59
+ datacap
60
+ datacash
61
+ dibs
62
+ digital_river
63
+ dlocal
64
+ dotpay
65
+ ebs
66
+ ecomm365
67
+ ecommpay
68
+ elavon
69
+ emerchantpay
70
+ epay
71
+ eprocessing_network
72
+ epx
73
+ eway
74
+ exact
75
+ first_atlantic_commerce
76
+ first_data
77
+ fiserv
78
+ g2a_pay
79
+ global_payments
80
+ gocardless
81
+ heartland
82
+ hipay
83
+ ingenico
84
+ interac
85
+ internetsecure
86
+ intuit_quickbooks_payments
87
+ iugu
88
+ klarna
89
+ komoju
90
+ lemon_way
91
+ mastercard_payment_gateway
92
+ mercadopago
93
+ mercanet
94
+ merchant_esolutions
95
+ mirjeh
96
+ mollie
97
+ moneris_solutions
98
+ neopay
99
+ neosurf
100
+ nmi
101
+ oceanpayment
102
+ oney
103
+ onpay
104
+ openbucks
105
+ openpaymx
106
+ optimal_payments
107
+ orangepay
108
+ other
109
+ pacnet_services
110
+ payeezy
111
+ payfast
112
+ paygate
113
+ paylike
114
+ payment_express
115
+ paymentwall
116
+ payone
117
+ paypal
118
+ payplus
119
+ paysafecard
120
+ paysera
121
+ paystation
122
+ paytm
123
+ paytrace
124
+ paytrail
125
+ payture
126
+ payu
127
+ payulatam
128
+ payvision
129
+ payway
130
+ payza
131
+ pinpayments
132
+ posconnect
133
+ princeton_payment_solutions
134
+ psigate
135
+ qiwi
136
+ quickpay
137
+ raberil
138
+ razorpay
139
+ rede
140
+ redpagos
141
+ rewardspay
142
+ safecharge
143
+ sagepay
144
+ securetrading
145
+ simplify_commerce
146
+ skrill
147
+ smartcoin
148
+ smartdebit
149
+ solidtrust_pay
150
+ sps_decidir
151
+ stripe
152
+ synapsefi
153
+ systempay
154
+ telerecargas
155
+ towah
156
+ transact_pro
157
+ trustly
158
+ tsys
159
+ usa_epay
160
+ vantiv
161
+ verepay
162
+ vericheck
163
+ vindicia
164
+ virtual_card_services
165
+ vme
166
+ vpos
167
+ wirecard
168
+ worldpay
159
169
  ]
160
170
 
161
171
  # The authorization outcome from the payment processor. If the
@@ -5,7 +5,7 @@ module Minfraud
5
5
  module Report
6
6
  # Contains the fields used in the Report Transaction API.
7
7
  #
8
- # @see https://dev.maxmind.com/minfraud/report-transaction/
8
+ # @see https://dev.maxmind.com/minfraud/report-a-transaction?lang=en
9
9
  class Transaction < Base
10
10
  include ::Minfraud::Enum
11
11
 
@@ -24,7 +24,7 @@ module Minfraud
24
24
  # @!attribute tag
25
25
  #
26
26
  # @return [Symbol, nil]
27
- enum_accessor :tag, [:chargeback, :not_fraud, :spam_or_abuse, :suspected_fraud]
27
+ enum_accessor :tag, %i[chargeback not_fraud spam_or_abuse suspected_fraud]
28
28
 
29
29
  # A string which is provided by your payment processor indicating the
30
30
  # reason for the chargeback.