Skip to content

Commit

Permalink
Updated to use FraudLabs Pro v2 API
Browse files Browse the repository at this point in the history
  • Loading branch information
fraudlabspro committed Jan 12, 2024
1 parent 62f0fb6 commit 70ac105
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 27 deletions.
14 changes: 5 additions & 9 deletions lib/fraudlabspro_ruby/api/order.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@ def self.validate(params = {})
params[:card_number] = params[:card_number][0..5]
end

uri = URI.parse("https://api.fraudlabspro.com/v1/order/screen")
uri = URI.parse("https://api.fraudlabspro.com/v2/order/screen")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({
'key' => FraudlabsproRuby::Configuration.api_key,
'format' => params[:format] || 'json',
'format' => 'json',
'source' => 'sdk-ruby',
'source_version' => FraudlabsproRuby::VERSION,
'flp_checksum' => params[:flp_checksum] || '',
Expand Down Expand Up @@ -107,13 +107,13 @@ def self.validate(params = {})

# Sends feedback back to FraudLabs Pro.
def self.feedback(params = {})
uri = URI.parse("https://api.fraudlabspro.com/v1/order/feedback")
uri = URI.parse("https://api.fraudlabspro.com/v2/order/feedback")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({
'key' => FraudlabsproRuby::Configuration.api_key,
'format' => params[:format] || 'xml',
'format' => 'json',
'id' => params[:transaction_id],
'action' => params[:status] || '',
'note' => params[:note] || ''
Expand All @@ -130,15 +130,11 @@ def self.feedback(params = {})

# Gets transaction result.
def self.getTransaction(params = {})
if params[:format] == nil
params[:format] = 'xml'
end

if params[:id_type] == nil
params[:id_type] = ''
end

uri = URI.parse("https://api.fraudlabspro.com/v1/order/result?key=" + FraudlabsproRuby::Configuration.api_key + "&format=" + params[:format] + "&id=" + params[:transaction_id] + "&id_type=" + params[:id_type])
uri = URI.parse("https://api.fraudlabspro.com/v2/order/result?key=" + FraudlabsproRuby::Configuration.api_key + "&format=json&id=" + params[:transaction_id] + "&id_type=" + params[:id_type])
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
Expand Down
10 changes: 3 additions & 7 deletions lib/fraudlabspro_ruby/api/smsverification.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ def self.sendSMS(params = {})
params[:tel] = '+' + params[:tel]
end

uri = URI.parse("https://api.fraudlabspro.com/v1/verification/send")
uri = URI.parse("https://api.fraudlabspro.com/v2/verification/send")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({
'key' => FraudlabsproRuby::Configuration.api_key,
'format' => params[:format] || 'json',
'format' => 'json',
'source' => 'sdk-ruby',
'source_version' => FraudlabsproRuby::VERSION,
'tel' => params[:tel],
Expand All @@ -39,11 +39,7 @@ def self.sendSMS(params = {})

# Get Verification result.
def self.verifySMS(params = {})
if params[:format] == nil
params[:format] = 'json'
end

uri = URI.parse("https://api.fraudlabspro.com/v1/verification/result?key=" + FraudlabsproRuby::Configuration.api_key + "&format=" + params[:format] + "&tran_id=" + params[:tran_id] + "&otp=" + params[:otp])
uri = URI.parse("https://api.fraudlabspro.com/v2/verification/result?key=" + FraudlabsproRuby::Configuration.api_key + "&format=json&tran_id=" + params[:tran_id] + "&otp=" + params[:otp])
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
Expand Down
2 changes: 1 addition & 1 deletion lib/fraudlabspro_ruby/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module FraudlabsproRuby
VERSION = "3.2.1"
VERSION = "4.0.0"
end
16 changes: 10 additions & 6 deletions spec/fraudlabspro_ruby_fraudvalidation_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
ip: '8.8.8.8'
)
data = JSON.parse(result.body)
expect(data['fraudlabspro_message']).to eq 'INVALID API KEY'
expect(data['error']['error_message']).to eq 'INVALID API KEY'
end

it "work correctly with Api Key exist" do
Expand All @@ -32,9 +32,9 @@
)
data = JSON.parse(result.body)
if $test_api_key == 'YOUR_API_KEY'
expect(data['fraudlabspro_id']).to eq 'NA'
expect(data['error']['error_message']).to eq 'INVALID API KEY'
else
expect(data['ip_country']).to eq 'US'
expect(data['ip_geolocation']['country_code']).to eq 'US'
end
end

Expand All @@ -45,7 +45,11 @@
id_type: FraudlabsproRuby::Api::Order::FLP_ID
)
data = JSON.parse(result.body)
expect(data['fraudlabspro_id']).to eq 'NA'
if $test_api_key == 'YOUR_API_KEY'
expect(data['error']['error_message']).to eq 'INVALID API KEY'
else
expect(data['error']['error_message']).to eq 'TRANSACTION NOT FOUND'
end
end

it "work correctly with validate order" do
Expand All @@ -56,9 +60,9 @@
)
data = JSON.parse(result.body)
if $test_api_key == 'YOUR_API_KEY'
expect(data['fraudlabspro_message']).to eq 'INVALID API KEY'
expect(data['error']['error_message']).to eq 'INVALID API KEY'
else
expect(data['fraudlabspro_message']).to eq 'INVALID TRANSACTION ID'
expect(data['error']['error_message']).to eq 'TRANSACTION NOT FOUND'
end
end

Expand Down
8 changes: 4 additions & 4 deletions spec/fraudlabspro_ruby_smsverification_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
)
data = JSON.parse(result.body)
if $test_api_key == 'YOUR_API_KEY'
expect(data['error']).to eq 'API key not found.'
expect(data['error']['error_message']).to eq 'INVALID API KEY'
else
expect(data['error']).to eq 'Invalid phone number.'
expect(data['error']['error_message']).to eq 'INVALID PHONE NUMBER'
end
end

Expand All @@ -25,9 +25,9 @@
)
data = JSON.parse(result.body)
if $test_api_key == 'YOUR_API_KEY'
expect(data['error']).to eq 'API key not found.'
expect(data['error']['error_message']).to eq 'INVALID API KEY'
else
expect(data['error']).to eq 'Invalid OTP.'
expect(data['error']['error_message']).to eq 'INVALID OTP'
end
end

Expand Down

0 comments on commit 70ac105

Please sign in to comment.