- Added the
tracking_tokenattribute toMinfraud::Components::Device. This is the token generated by the Device Tracking Add-on for explicit device linking. - Added the processors
:banquest,:fat_zebra,:summit_payments, and:yaadpaytoMinfraud::Components::Payment. - Unnecessary files were removed from the published .gem.
- Added the processor
:securepaytoMinfraud::Components::Payment. - Ruby 3.2+ is now required. If you're using Ruby 3.0 or 3.1, please use version 2.8.0 of this gem.
- Added
/event/typevalues:credit_applicationand:fund_transfertoMinfraud::Components::Event. - Added the
/event/typevalue:sim_swaptoMinfraud::Components::Event. - Added the input
/event/party. This is the party submitting the transaction. You may provide this using thepartyattribute onMinfraud::Components::Event. - Added the input
/payment/method. This is the payment method associated with the transaction. You may provide this using themethodattribute onMinfraud::Components::Payment. - Added support for new email domain outputs on
Minfraud::Model::EmailDomain:/email/domain/classification- The domain type (e.g., business, education, government, isp_email). Available as theclassificationattribute./email/domain/risk- A risk score from 0.01 to 99 for the domain. Available as theriskattribute./email/domain/volume- Activity across the minFraud network expressed as sightings per million. Available as thevolumeattribute./email/domain/visit- Information from an automated visit to the domain. Available as thevisitattribute, which returns aMinfraud::Model::EmailDomainVisitobject.
- Added support for email domain visit outputs on
Minfraud::Model::EmailDomainVisit:/email/domain/visit/has_redirect- Whether the domain redirects to another URL. Available as thehas_redirectattribute./email/domain/visit/last_visited_on- The date the automated visit was completed. Available as thelast_visited_onattribute./email/domain/visit/status- The status of the domain (e.g., live, dns_error, parked). Available as thestatusattribute.
- Updated
maxmind-geoip2to 1.4, which includes new anonymizer and IP risk outputs.
- Added support for the
/billing_phone/matches_postaland/shipping_phone/matches_postaloutputs. These are available as thematches_postalattribute onMinfraud::Model::Phone. - Added the processor
:cryptomustoMinfraud::Components::Payment.
- Re-release due to bug in release workflow.
- The minFraud Factors subscores have been deprecated. They will be removed in March 2025. Please see our release notes for more information.
- Ruby 3.0+ is now required. If you're using Ruby 2.7, please use version 2.7.0.beta1 or 2.6.0 of this gem.
- Added the processor
:epaycotoMinfraud::Components::Payment.
- Added support for the new risk reasons outputs in minFraud Factors. The risk reasons output codes and reasons are currently in beta and are subject to change. We recommend that you use these beta outputs with caution and avoid relying on them for critical applications.
- Updated the validation for the Report Transactions API to make the
ip_addressparameter optional. Now thetagand at least one of the following parameters must be supplied:ip_address,maxmind_id,minfraud_id,transaction_id. - Updated the validation for the Report Transactions API to check that
ip_address,maxmind_id, andminfraud_idcontain valid values. - Added
billing_phoneandshipping_phoneattributes to the minFraud Insights and Factors response models. These contain objects with information about the respective phone numbers. Please see our developer site for more information. - Added the processor
:payconextoMinfraud::Components::Payment.
- Equivalent domain names are now normalized when
hash_addressis used. For example,googlemail.comwill becomegmail.com. - Periods are now removed from
gmail.comemail address local parts whenhash_addressis used. For example,f.o.o@gmail.comwill becomefoo@gmail.com. - Fastmail alias subdomain email addresses are now normalized when
hash_addressis used. For example,alias@user.fastmail.comwill becomeuser@fastmail.com. - Additional
yahoo.comemail addresses now have aliases removed from their local part whenhash_addressis used. For example,foo-bar@yahoo.comwill becomefoo@yahoo.comfor additionalyahoo.comdomains. - Duplicate
.coms are now removed from email domain names whenhash_addressis used. For example,example.com.comwill becomeexample.com. - Certain TLD typos are now normalized when
hash_addressis used. For example,example.comcomwill becomeexample.com. - Additional
gmail.comdomain names with leading digits are now normalized whenhash_addressis used. For example,100gmail.comwill becomegmail.com. - Additional
gmail.comtypos are now normalized whenhash_addressis used. For example,gmali.comwill becomegmail.com. - When
hash_addressis used, all trailing periods are now removed from an email address domain. Previously only a single period was removed. - When
hash_addressis used, the local part of an email address is now normalized to NFC.
- Ruby 2.7+ is now required. If you're using Ruby 2.5 or 2.6, please use version 2.3.0 of this gem.
- Added the processors
:pxp_financialand:trustpaytoMinfraud::Components::Payment.
- Added the processor
:shopify_paymentstoMinfraud::Components::Payment. - Added the processor
:google_paytoMinfraud::Components::Payment. - Added the processor
:placetopaytoMinfraud::Components::Payment. - In addition to the minfraud gem version, the User-Agent now includes the version of Ruby and the version of the HTTP client in all HTTP requests.
- Updated
maxmind-geoip2to version that includes theanycast?method onMaxMind::GeoIP2::Record::Traits. This returnstrueif the IP address belongs to an anycast network. This is available in minFraud Insights and Factors.
- Added the input
/credit_card/country. This is the country where the issuer of the card is located. This may be passed instead of the/credit_card/issuer_id_numberif you do not wish to pass partial account numbers or if your payment processor does not provide them. You may provide this using thecountryattribute onMinfraud::Components::CreditCard.
- Adds the following new processor to
Minfraud::Components::Payment::windcave
- The
last_4_digitsinput toMinfraud::Components::CreditCardhas been deprecated in favor oflast_digitsand will be removed in a future release.last_digits/last_4_digitsalso now supports two digit values in addition to the previous four digit values. - Eight digit
issuer_id_numberinputs are now supported byMinfraud::Components::CreditCardin addition to the previously accepted six digitissuer_id_number. In most cases, you should send the last four digits forlast_digits. If you send anissuer_id_numberthat contains an eight digit IIN, and if the credit card brand is not one of the following, you should send the last two digits forlast_digits:DiscoverJCBMastercardUnionPayVisa
- Breaking change from 1.x: Removed deprecated methods
is_in_european_union,is_anonymous,is_anonymous_vpn,is_hosting_provider,is_public_proxy, andis_tor_exit_node. The non-deprecated equivalents arein_european_union?,anonymous?,anonymous_vpn?,hosting_provider?,public_proxy?, andtor_exit_node?. - Breaking change from 1.x: Removed deprecated methods for deprecated
subscores:
email_tenureandip_tenure. Foremail_tenure, please use theemail_addresssubscore instead. Forip_tenure, please userisk_scoreinstead. - Breaking change from 1.x: Removed deprecated method for deprecated
attribute
ip_address.country.is_high_risk. - Breaking change from 1.x: Switches HTTP client from faraday to http.rb. There should be no behavior change for most users, but this is technically a breaking change from the perspective of semver. Most users should not be affected as the changes are limited to attributes and classes that would not normally be accessed outside the gem.
- Breaking change from 1.x:
user_idis no longer supported as a way to configure your MaxMind account ID. Useaccount_idinstead. - Breaking change from 1.x: Removed the
Minfraud.configurationmethod. - Breaking change from 1.x: Localized names are no longer exposed via
methods on
namesobjects, only as hash keys. For example, useresponse.ip_address.country.names['en']instead ofresponse.ip_address.country.names.en. The latter was deprecated. - Adds mobile country code (MCC) and mobile network code (MNC) to minFraud
Insights and Factors responses. These are available at
response.ip_address.traits.mobile_country_codeandresponse.ip_address.traits.mobile_network_code. We expect this data to be available by late January, 2022. - Adds the following new processors to
Minfraud::Components::Payment::boacompra:boku:coregateway:fiserv:neopay:neosurf:openbucks:paysera:payvision:trustly
- Depend on the
maxmind-geoip2gem. This allows us to delete classes from that gem that we previously had included in this gem. There is no functional difference.
- Adds new processor to
Minfraud::Components::Payment::cardknox,:creditguard,:credorax,:datacap,:dlocal,:onpay, and:safecharge. - Adds
rule_labelto minFraud output/disposition. - Adds support for the
/credit_card/was_3d_secure_successfulinput. This is available by setting thewas_3d_secure_successfulattribute onMinfraud::Components::CreditCard. - Ruby 2.5+ is now required. If you're using Ruby 2.1, 2.2, 2.3, or 2.4, please use version 1.5.0 of this gem.
- Adds the
hash_addressattribute toMinfraud::Components::Email. If this istrue, the MD5 hash of theaddresswill be sent instead of the plain textaddress. Use this if you prefer to send the hash of theaddressrather than the plain text. Note that this normalizes theaddress, so we recommend using it as opposed to hashing theaddressmanually. - The email
domaininput is now automatically set if the emailaddressinput is set but thedomainis not. - Adds new payment processors
:apple_payand:aps_paymentstoMinfraud::Components::Payment. - Adds support for the IP address risk reasons in the minFraud Insights
and Factors responses. This is available at
.ip_address.risk_reasons. It is an array ofIPRiskReasonobjects.
- Do not throw an exception if the response does not include IP address
information. Previously we would incorrectly try to retrieve fields from
nil, leading to aNoMethodError.
- IMPORTANT: Ruby 2.0 is no longer supported. If you're using Ruby 2.0, please use version 1.3.0.
- Adds handling for the
REQUEST_INVALIDerror code. - The IP address is no longer a required input.
- Adds new payment processor
:tsystoMinfraud::Components::Payment.
- Adds support for persistent HTTP connections. Connections persist automatically.
- IMPORTANT: Ruby 1.9 is no longer supported. If you're using Ruby 1.9, please use version 1.2.0 or older.
- Adds support for client side validation of inputs. An
InvalidInputErrorexception will be raised if an input is invalid. This can be enabled by settingenable_validationtotruewhen configuringMinfraud. It is disabled by default. - Adds the
residential_proxy?method toMaxMind::GeoIP2::Record::Traitsfor use with minFraud Insights and Factors.
- Adds new processor types to
Minfraud::Components::Payment::cashfree,:first_atlantic_commerce,:komoju,:paytm,:razorpay, and:systempay. - Adds support for three new Factors outputs:
/subscores/device(the risk associated with the device),/subscores/email_local_part(the risk associated with the part of the email address before the @ symbol) and/subscores/shipping_address(the risk associated with the shipping address). - Adds support for providing your MaxMind account ID using the
account_idattribute instead of theuser_idattribute. In a future release, support for theuser_idattribute will be removed.
- Adds support for the minFraud Report Transaction API. Reporting transactions to MaxMind helps us detect about 10-50% more fraud and reduce false positives for you.
- Adds support for the new credit card output
/credit_card/is_business. This indicates whether the card is a business card. It may be accessed viaresponse.credit_credit.is_businesson the minFraud Insights and Factors response objects. - Adds support for the new email domain output
/email/domain/first_seen. This may be accessed viaresponse.email.domain.first_seenon the minFraud Insights and Factors response objects. - Rename
ErrorHandler#inspecttoErrorHandler#examinein order not to break LSP. - Adds classes for the Score, Insights, and Factors responses. This allows us to provide API documentation for the various response attributes.
- Removes
hashieas a required dependency. - Adds new processor types to
Minfraud::Components::Payment::affirm,:afterpay,:cardpay,:ccavenue,:cetelem,:ct_payments,:dalenys,:datacash,:dotpay,:ecommpay,:epx,:g2a_pay,:gocardless,:interac,:klarna,:mercanet,:oney,:payeezy,:paylike,:payment_express,:paysafecard,:posconnect,:smartdebit,:synapsefi, and others. - Adds support for passing custom inputs to minFraud. GitHub #6.
- Adds
:email_change,:password_reset, and:payout_changeas types toMinfraud::Components::Event. - Adds support for the
session_idandsession_ageinputs.
- Prevents boolean value conversion to string to avoid warnings
- Adds
amountattribute to theMinfraud::Components::Orderinstances
- Adds
tokenattribute to theMinfraud::Components::CreditCardinstances according to the MinFraud Release Notes introduced on November 17, 2016
- Adds support for Ruby >= 1.9