Hamburglar
¶ ↑
Hamburglar
helps you prevent fraudulent orders.
Prerequisites¶ ↑
You must have an active account with one of the APIs Hamburglar
supports. See Supported APIs below.
Installation¶ ↑
gem install hamburglar
Usage¶ ↑
To get a fraud report, create a new instance of the Hamburglar::Report
class:
report = Hamburglar::Report.new(params)
Check for fraud by comparing the fraud score to Hamburglar.config.fraud_score
:
report.fraud?
By default, Hamburglar
only considers the numeric fraud score when trying to determine if an order is fraudulent. If you need more control, you can configure Hamburglar.config.fraud_proc
. It should be a block that returns true when the order should be considered fraudulent.
Hamburglar.configure do |c| c.fraud_proc = lambda do |report| report.score > 5 && report.distance > 100 end end report.fraud?
MaxMind¶ ↑
Hamburglar
supports MaxMind's minFraud and Telephone Verification APIs. By default, reports will use the minFraud API.
Generate a fraud report using minFraud
report = Hamburglar::Report.new( :license_key => 's3cr3tz', :ip => '192.168.1.1', :city => 'Funland', :region => 'US', :postal => '12345', :country => 'US', :bin => '12345', :domain => 'example.com', :binName => 'Happy Meal Bank', :cust_phone => '+18004445555', :email_address => 'test@example.com' )
Generate a fraud report using Telephone Verification
report = Hamburglar::Report.new( :gateway => :max_mind_telephone, :license_key => 's3cr3tz', :phone => '+18004445555' )
Optional Configuration¶ ↑
You may optionally configure the default gateway and credentials Hamburglar
will use. For example, in a Rails app where you always used minFraud, you can add the following to config/initializers/hamburglar.rb
:
Hamburglar.configure do |config| config.fraud_score = 2.5 config.gateway = :max_mind_min_fraud config.credentials = { :license_key => 's3cr3tz' } end
Note that Hamburglar
uses a default fraud score of 2.5 and the default gateway is minFraud.
Supported APIs¶ ↑
Note on Patches/Pull Requests¶ ↑
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don't break it in a future version unintentionally.
-
Commit, do not bump version. (If you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull.)
-
Send me a pull request. Bonus points for topic branches.
Copyright¶ ↑
Copyright © 2016 Pressed, LLC. See LICENSE for details.