- Added
tracking_tokento the/devicerequest object. This is the token generated by the Device Tracking Add-on for explicit device linking. - Added
fat_zebrato the payment processor validation. - Added
clearto the valid values for thetagparameter on the Report Transaction API.
- Added the
anonymizerproperty toMaxMind\MinFraud\Model\IpAddress. This contains anonymizer data from the GeoIP2 Insights response, including VPN detection confidence, provider name, and network last seen date. This was previously available in the GeoIP2 library but not exposed in minFraud responses. - Added
banquest,summit_payments, andyaadpayto the payment processor validation.
- Added support for new
/email/domain/outputs in minFraud Insights and Factors responses:/email/domain/classification- categorizes the email domain type (business,education,government,isp_email)/email/domain/risk- risk score associated with the domain (0.01 to 99)/email/domain/volume- activity level across the minFraud network (sightings per million)/email/domain/visit/has_redirect- whether the domain redirects/email/domain/visit/last_visited_on- date of last automated check/email/domain/visit/status- domain status (live,dns_error,network_error,http_error,parked,pre_development)
- Added
securepayto the payment processor validation. - Added
credit_application,fund_transfer, andsim_swapto event type validation. - Added the input
/event/party. This is the party submitting the transaction. - Added the input
/payment/method. This is the payment method associated with the transaction. - Updated
geoip2/geoip2to 3.3.0, which includes new anonymizer and IP risk outputs.
- Added support for the
/billing_phone/matches_postaland/shipping_phone/matches_postaloutputs. These are available as thematchesPostalproperty onMaxMind\MinFraud\Model\Phone. - Added
cryptomusto the payment processor validation. \MaxMind\MinFraudnow implementsJsonSerializable. This returns an array containing the contents of the request in a sub-array as well as the value of thelocalesandhashEmailoptions. Pull request by Noé Fleury. GitHub #193.
- Added
epaycoto the payment processor validation.
- The minFraud Factors subscores have been deprecated. They will be removed in March 2025. Please see our release notes for more information.
- The type hints in the PHPDocs have been improved.
- 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
MaxMind\MinFraud\ReportTransactionto make theip_addressparameter optional. Now thetagand at least one of the following parameters must be supplied:ipAddress,maxmindId,minfraudId,transactionId. - Added
billingPhoneandshippingPhoneproperties 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
payconexto the payment processor validation.
- When calling
withDevicewith an array, an exception was incorrectly thrown ifuser_agentwas set butsession_idwas not set. Reported by Gregor Kuhlmann. GitHub #172.
- This library no longer uses
Respect\Validation. - The
with*methods can now be used with named arguments instead of an array. This provides better editor completion, type checking, and documentation. - Email normalization has been improved:
- Equivalent domain names are now normalized when
hashEmailis used. For example,googlemail.comwill becomegmail.com. - Periods are now removed from
gmail.comemail address local parts whenhashEmailis used. For example,f.o.o@gmail.comwill becomefoo@gmail.com. - Fastmail alias subdomain email addresses are now normalized when
hashEmailis used. For example,alias@user.fastmail.comwill becomeuser@fastmail.com. - Additional
yahoo.comemail addresses now have aliases removed from their local part whenhashEmailis used. For example,foo-bar@yahoo.comwill becomefoo@yahoo.comfor additionalyahoo.comdomains. - Duplicate
.coms are now removed from email domain names whenhashEmailis used. For example,example.com.comwill becomeexample.com. - Certain TLD typos are now normalized when
hashEmailis used. For example,example.comcomwill becomeexample.com. - Additional
gmail.comdomain names with leading digits are now normalized whenhashEmailis used. For example,100gmail.comwill becomegmail.com. - Additional
gmail.comtypos are now normalized whenhashEmailis used. For example,gmali.comwill becomegmail.com. - When
hashEmailis used, the local part of an email address is now normalized to NFC.
- Equivalent domain names are now normalized when
- Added
pxp_financialandtrustpayto the payment processor validation.
- IMPORTANT: PHP 8.1 or greater is now required.
- BREAKING: Read-only properties are now used for the model class rather than magic methods.
- BREAKING: The
rawResponseproperty on model classes has been removed. Use thejsonSerializemethod instead. - BREAKING: The inheritance hierarchy on model classes has changed.
- Updated
geoip2/geoip2to version that includes theisAnycastproperty onGeoIp2\Record\Traits. This property istrueif the IP address belongs to an anycast network. This is available in minFraud Insights and Factors.
- Fixed "creation of a dynamic property" deprecation warning on newer PHP versions. Reported by Andrey Lebedev. GitHub #145.
- Added
google_payto the payment processor validation. - Added
placetopayto the payment processor validation.
- The model class names are no longer constructed by concatenating strings. This change was made to improve support for tools like PHP-Scoper.
- Added
shopify_paymentsto the payment processor validation. - Box 4.0.1 is now used to generate the
geoip2.pharfile.
- Added the input
/credit_card/country. This is the country where the issuer of the card is located. This may be passed instead of/credit_card/issuer_id_numberif you do not wish to pass partial account numbers or if your payment processor does not provide them. - Fixed PHP 8.1 deprecation warning in internal validation classes.
- Upgraded
geoip2/geoip2to 2.12.0. This adds mobile country code (MCC) and mobile network code (MNC) to minFraud Insights and Factors responses. These are available at$response->ipAddress->traits->mobileCountryCodeand$response->ipAddress->traits->mobileNetworkCode. We expect this data to be available by late January, 2022. minfraud.pharis now generated with Box 3.x.- Added the following new values to the payment processor validation:
boacomprabokucoregatewayfiservneopayneosurfopenbuckspayserapayvisiontrustlywindcave
- The
/credit_card/last_4_digitsinput has been deprecated in favor of/credit_card/last_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
/credit_card/issuer_id_numberinputs are now supported in 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
- Added
datacapto the payment processor validation. - Added
ruleLabelto minFraud outputDisposition. - Added
was_3d_secure_successfulto/credit_cardvalidation.
- Added the following new values to the payment processor validation:
cardknoxcreditguardcredoraxdlocalonpaysafecharge
- IMPORTANT: PHP 7.3 or greater is now required.
- The dependency
Respect\Validationhas been upgraded from 1.x to 2.1. - The
with()method onMaxMind\MinFraudmay now be used whendeviceandshopping_cartare not set. - Added the following new values to the payment processor validation:
apple_payaps_payments
- You may now enable client-side email hashing by setting
hashEmailtotruein theMaxMind\MinFraudconstructor's options parameter. When set, this normalizes the email address and sends an MD5 hash of it to the web service rather than the plain-text address. Note that the email domain will still be sent in plain text. - Added support for the IP address risk reasons in the minFraud Insights and
Factors responses. This is available at
->ipAddress->riskReasons. It is an array ofMaxMind\MinFraud\Model\IpRiskReasonobjects.
maxmind/web-service-commonhas been updated to 0.8.1 to fix an issue when using thereportTransactionmethod. Reported by Dmitry Malashko. GitHub #99.
- Added
tsysto the payment processor validation. - The device IP address is no longer a required input.
- IMPORTANT: PHP 7.2 or greater is now required.
- Additional type hints have been added.
- Added the
isResidentialProxyproperty toGeoIp2\Record\Traits.
- Added the following new values to the payment processor validation:
cashfreefirst_atlantic_commercekomojupaytmrazorpaysystempay
- Added support for the
/subscores/device,/subscores/email_local_partand/subscores/shipping_addressoutputs. They are exposed as thedevice,emailLocalPartandshippingAddressproperties onMaxMind\MinFraud\Model\Subscores.
- Added support for the Report Transactions API. We encourage the use of this API as we use data received through this channel to continually improve the accuracy of our fraud detection algorithms.
- Added support for the new credit card output
/credit_card/is_business. This indicates whether the card is a business card. It may be accessed via$response->creditCard->isBusinesson the minFraud Insights and Factors response objects.
- Added support for the new email domain output
/email/domain/first_seen. This may be accessed via$response->email->domain->firstSeenon the minFraud Insights and Factors response objects. - The validation of
/event/timenow allows sub-second RFC 3339 timestamps in the request. - Added the following new values to the payment processor validation:
cardpayepx
- Added support for the
/email/is_disposableoutput. This is available as theisDisposableproperty onMaxMind\MinFraud\Model\Email. - Updated the validation on
/order/amountand/shopping_cart/*/priceto allow 0. This was an inconsistency between this library and the web service. Reported by Sn0wCrack. GitHub #78.
- PHP 5.6 is now required.
- The client-side validation for numeric custom inputs has been updated to match the server-side validation. The valid range is -9,999,999,999,999 to 9,999,999,999,999. Previously, larger numbers were allowed.
- Added the following new values to the payment processor validation:
affirmafterpaycetelemdotpayecommpayg2a_payinteracklarnamercanetpaysafecard
- Deprecated
emailTenureandipTenureproperties inMaxMind\MinFraud\Model\Subscores. - Deprecated
isHighRiskproperty inMaxMind\MinFraud\Model\GeoIp2Country.
- Added the following new values to the payment processor validation:
datacashgocardlesspayeezypaylikepayment_expresssmartdebitsynapsefi
- Be more explicit in the documentation about the fact that we create and
return new MinFraud objects in each
->with*()call.
- Renamed MaxMind user ID to account ID in the code and added support for the
new
ACCOUNT_ID_REQUIREDerror code. - Added the following new values to the payment processor validation:
ccavenuect_paymentsdalenysoneyposconnect
- Added support for the
/device/local_timeoutput. This is exposed as thelocalTimeproperty onMaxMind\MinFraud\Model\Device. - Added support for the
/credit_card/is_virtualoutput. This is exposed as theisVirtualproperty onMaxMind\MinFraud\Model\CreditCard. - Added
payout_changeto the/event/typeinput validation.
- Upgraded
geoip2/geoip2dependency. This version adds theisInEuropeanUnionproperty toMaxMind\MinFraud\Model\GeoIp2CountryandGeoIp2\Record\RepresentedCountry. This property istrueif the country is a member state of the European Union. - Added the following new values to the payment processor validation:
cybersourcetransact_prowirecard
- TLD validation is no longer performed when validating
/email/domainin order to better accommodate new gTLDs that the validation library does not yet know about. - Added the following new values to the payment processor validation:
bpointcheckout_comemerchantpayheartlandpayway
- Updated
geoip2/geoip2dependency to add support for GeoIP2 Precision Insights anonymizer fields.
- Added support for custom inputs. You may set up custom inputs from your account portal.
- Updated the docs for
MaxMind\MinFraud\Model\Addressnow thatisPostalInCitymay be returned for addresses world-wide. - The
firstSeenwas added to theEmailresponse model.session_ageandsession_idinputs were added todeviceinput validation. - Added the following new values to the payment processor validation:
american_express_payment_gatewaybluesnapcommdoocuropaymentsebsexacthipaylemon_wayoceanpaymentpaymentwallpayzasecuretradingsolidtrust_payvantivvericheckvpos
- The disposition was added to the minFraud response models. This is used to return the disposition of the transaction as set by the custom rules for the account.
- Allow
/credit_card/tokeninput.
- Correctly set the IP address risk for the Score model. Previously, it
always returned
null.
- Added the follow new values to the event type validation:
email_changeandpassword_reset. isset()on model attributes now returns the correct value.
- First production release. No code changes.
- Added the following new values to the payment processor validation:
concept_payments,ecomm365,orangepay, andpacnet_services. - Upgraded
maxmind/web-service-commonto 0.3.0. This version usescomposer/ca-bundlerather than our own CA bundle.
- Upgraded to
maxmind/web-service-commonthat supports setting a HTTP proxy.
- BREAKING CHANGE:
creditsRemaininghas been removed from the web service models and has been replaced byqueriesRemaining. - Added
queriesRemainingandfundsRemaining. Note thatfundsRemainingwill not be returned by the web service until our new credit system is in place. confidenceandlastSeenwere added to theDeviceresponse model.
- Added support for the minFraud Factors.
- Added IP address risk to the minFraud Score model.
- Implement
JsonSerializable. - Added the following new values to the payment processor validation:
ccnow,dalpay,epay(replacesepayeu),payplus,pinpayments,quickpay, andverepay.
- PHP 7 support was added. PHP 5.3 support was dropped.
- Previously an array within an array would incorrectly validate when using
the
->with*methods. This now correctly throws a validation exception. - Added support for new minFraud Insights outputs. These are:
/credit_card/brand/credit_card/type/device/id/email/is_free/email/is_high_risk
inputon theWarningresponse model has been replaced withinputPointer. The latter is a JSON pointer to the input that caused the warning.
- Add new
is_giftandhas_gift_messageinputs to order object. - Request keys with
nullvalues are no longer validated or sent to the web service.
- Updated
maxmind/web-service-commonto version that fixes POST bug.
- Updated
maxmind/web-service-commonto version with fixes for PHP 5.3 and 5.4.
- First beta release.
- Initial release.