- Added
epayco
to 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\ReportTransaction
to make theip_address
parameter optional. Now thetag
and at least one of the following parameters must be supplied:ipAddress
,maxmindId
,minfraudId
,transactionId
. - Added
billingPhone
andshippingPhone
properties 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
payconex
to the payment processor validation.
- When calling
withDevice
with an array, an exception was incorrectly thrown ifuser_agent
was set butsession_id
was 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
hashEmail
is used. For example,googlemail.com
will becomegmail.com
. - Periods are now removed from
gmail.com
email address local parts whenhashEmail
is used. For example,[email protected]
will become[email protected]
. - Fastmail alias subdomain email addresses are now normalized when
hashEmail
is used. For example,[email protected]
will become[email protected]
. - Additional
yahoo.com
email addresses now have aliases removed from their local part whenhashEmail
is used. For example,[email protected]
will become[email protected]
for additionalyahoo.com
domains. - Duplicate
.com
s are now removed from email domain names whenhashEmail
is used. For example,example.com.com
will becomeexample.com
. - Certain TLD typos are now normalized when
hashEmail
is used. For example,example.comcom
will becomeexample.com
. - Additional
gmail.com
domain names with leading digits are now normalized whenhashEmail
is used. For example,100gmail.com
will becomegmail.com
. - Additional
gmail.com
typos are now normalized whenhashEmail
is used. For example,gmali.com
will becomegmail.com
. - When
hashEmail
is used, the local part of an email address is now normalized to NFC.
- Equivalent domain names are now normalized when
- Added
pxp_financial
andtrustpay
to 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
rawResponse
property on model classes has been removed. Use thejsonSerialize
method instead. - BREAKING: The inheritance hierarchy on model classes has changed.
- Updated
geoip2/geoip2
to version that includes theisAnycast
property onGeoIp2\Record\Traits
. This property istrue
if 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_pay
to the payment processor validation. - Added
placetopay
to 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_payments
to the payment processor validation. - Box 4.0.1 is now used to generate the
geoip2.phar
file.
- 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_number
if 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/geoip2
to 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->mobileCountryCode
and$response->ipAddress->traits->mobileNetworkCode
. We expect this data to be available by late January, 2022. minfraud.phar
is now generated with Box 3.x.- Added the following new values to the payment processor validation:
boacompra
boku
coregateway
fiserv
neopay
neosurf
openbucks
paysera
payvision
trustly
windcave
- The
/credit_card/last_4_digits
input has been deprecated in favor of/credit_card/last_digits
and will be removed in a future release.last_digits
/last_4_digits
also now supports two digit values in addition to the previous four digit values. - Eight digit
/credit_card/issuer_id_number
inputs 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_number
that 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
:Discover
JCB
Mastercard
UnionPay
Visa
- Added
datacap
to the payment processor validation. - Added
ruleLabel
to minFraud outputDisposition
. - Added
was_3d_secure_successful
to/credit_card
validation.
- Added the following new values to the payment processor validation:
cardknox
creditguard
credorax
dlocal
onpay
safecharge
- IMPORTANT: PHP 7.3 or greater is now required.
- The dependency
Respect\Validation
has been upgraded from 1.x to 2.1. - The
with()
method onMaxMind\MinFraud
may now be used whendevice
andshopping_cart
are not set. - Added the following new values to the payment processor validation:
apple_pay
aps_payments
- You may now enable client-side email hashing by setting
hashEmail
totrue
in theMaxMind\MinFraud
constructor'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\IpRiskReason
objects.
maxmind/web-service-common
has been updated to 0.8.1 to fix an issue when using thereportTransaction
method. Reported by Dmitry Malashko. GitHub #99.
- Added
tsys
to 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
isResidentialProxy
property toGeoIp2\Record\Traits
.
- Added the following new values to the payment processor validation:
cashfree
first_atlantic_commerce
komoju
paytm
razorpay
systempay
- Added support for the
/subscores/device
,/subscores/email_local_part
and/subscores/shipping_address
outputs. They are exposed as thedevice
,emailLocalPart
andshippingAddress
properties 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->isBusiness
on 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->firstSeen
on the minFraud Insights and Factors response objects. - The validation of
/event/time
now allows sub-second RFC 3339 timestamps in the request. - Added the following new values to the payment processor validation:
cardpay
epx
- Added support for the
/email/is_disposable
output. This is available as theisDisposable
property onMaxMind\MinFraud\Model\Email
. - Updated the validation on
/order/amount
and/shopping_cart/*/price
to 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:
affirm
afterpay
cetelem
dotpay
ecommpay
g2a_pay
interac
klarna
mercanet
paysafecard
- Deprecated
emailTenure
andipTenure
properties inMaxMind\MinFraud\Model\Subscores
. - Deprecated
isHighRisk
property inMaxMind\MinFraud\Model\GeoIp2Country
.
- Added the following new values to the payment processor validation:
datacash
gocardless
payeezy
paylike
payment_express
smartdebit
synapsefi
- 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_REQUIRED
error code. - Added the following new values to the payment processor validation:
ccavenue
ct_payments
dalenys
oney
posconnect
- Added support for the
/device/local_time
output. This is exposed as thelocalTime
property onMaxMind\MinFraud\Model\Device
. - Added support for the
/credit_card/is_virtual
output. This is exposed as theisVirtual
property onMaxMind\MinFraud\Model\CreditCard
. - Added
payout_change
to the/event/type
input validation.
- Upgraded
geoip2/geoip2
dependency. This version adds theisInEuropeanUnion
property toMaxMind\MinFraud\Model\GeoIp2Country
andGeoIp2\Record\RepresentedCountry
. This property istrue
if the country is a member state of the European Union. - Added the following new values to the payment processor validation:
cybersource
transact_pro
wirecard
- TLD validation is no longer performed when validating
/email/domain
in 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:
bpoint
checkout_com
emerchantpay
heartland
payway
- Updated
geoip2/geoip2
dependency 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\Address
now thatisPostalInCity
may be returned for addresses world-wide. - The
firstSeen
was added to theEmail
response model.session_age
andsession_id
inputs were added todevice
input validation. - Added the following new values to the payment processor validation:
american_express_payment_gateway
bluesnap
commdoo
curopayments
ebs
exact
hipay
lemon_way
oceanpayment
paymentwall
payza
securetrading
solidtrust_pay
vantiv
vericheck
vpos
- 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/token
input.
- 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_change
andpassword_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-common
to 0.3.0. This version usescomposer/ca-bundle
rather than our own CA bundle.
- Upgraded to
maxmind/web-service-common
that supports setting a HTTP proxy.
- BREAKING CHANGE:
creditsRemaining
has been removed from the web service models and has been replaced byqueriesRemaining
. - Added
queriesRemaining
andfundsRemaining
. Note thatfundsRemaining
will not be returned by the web service until our new credit system is in place. confidence
andlastSeen
were added to theDevice
response 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
input
on theWarning
response model has been replaced withinputPointer
. The latter is a JSON pointer to the input that caused the warning.
- Add new
is_gift
andhas_gift_message
inputs to order object. - Request keys with
null
values are no longer validated or sent to the web service.
- Updated
maxmind/web-service-common
to version that fixes POST bug.
- Updated
maxmind/web-service-common
to version with fixes for PHP 5.3 and 5.4.
- First beta release.
- Initial release.