Skip to content

Commit 70ac105

Browse files
Updated to use FraudLabs Pro v2 API
1 parent 62f0fb6 commit 70ac105

5 files changed

Lines changed: 23 additions & 27 deletions

File tree

lib/fraudlabspro_ruby/api/order.rb

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ def self.validate(params = {})
4747
params[:card_number] = params[:card_number][0..5]
4848
end
4949

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

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

131131
# Gets transaction result.
132132
def self.getTransaction(params = {})
133-
if params[:format] == nil
134-
params[:format] = 'xml'
135-
end
136-
137133
if params[:id_type] == nil
138134
params[:id_type] = ''
139135
end
140136

141-
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])
137+
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])
142138
http = Net::HTTP.new(uri.host, uri.port)
143139
http.use_ssl = true
144140
request = Net::HTTP::Get.new(uri.request_uri)

lib/fraudlabspro_ruby/api/smsverification.rb

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ def self.sendSMS(params = {})
1313
params[:tel] = '+' + params[:tel]
1414
end
1515

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

4040
# Get Verification result.
4141
def self.verifySMS(params = {})
42-
if params[:format] == nil
43-
params[:format] = 'json'
44-
end
45-
46-
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])
42+
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])
4743
http = Net::HTTP.new(uri.host, uri.port)
4844
http.use_ssl = true
4945
request = Net::HTTP::Get.new(uri.request_uri)

lib/fraudlabspro_ruby/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module FraudlabsproRuby
2-
VERSION = "3.2.1"
2+
VERSION = "4.0.0"
33
end

spec/fraudlabspro_ruby_fraudvalidation_spec.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
ip: '8.8.8.8'
88
)
99
data = JSON.parse(result.body)
10-
expect(data['fraudlabspro_message']).to eq 'INVALID API KEY'
10+
expect(data['error']['error_message']).to eq 'INVALID API KEY'
1111
end
1212

1313
it "work correctly with Api Key exist" do
@@ -32,9 +32,9 @@
3232
)
3333
data = JSON.parse(result.body)
3434
if $test_api_key == 'YOUR_API_KEY'
35-
expect(data['fraudlabspro_id']).to eq 'NA'
35+
expect(data['error']['error_message']).to eq 'INVALID API KEY'
3636
else
37-
expect(data['ip_country']).to eq 'US'
37+
expect(data['ip_geolocation']['country_code']).to eq 'US'
3838
end
3939
end
4040

@@ -45,7 +45,11 @@
4545
id_type: FraudlabsproRuby::Api::Order::FLP_ID
4646
)
4747
data = JSON.parse(result.body)
48-
expect(data['fraudlabspro_id']).to eq 'NA'
48+
if $test_api_key == 'YOUR_API_KEY'
49+
expect(data['error']['error_message']).to eq 'INVALID API KEY'
50+
else
51+
expect(data['error']['error_message']).to eq 'TRANSACTION NOT FOUND'
52+
end
4953
end
5054

5155
it "work correctly with validate order" do
@@ -56,9 +60,9 @@
5660
)
5761
data = JSON.parse(result.body)
5862
if $test_api_key == 'YOUR_API_KEY'
59-
expect(data['fraudlabspro_message']).to eq 'INVALID API KEY'
63+
expect(data['error']['error_message']).to eq 'INVALID API KEY'
6064
else
61-
expect(data['fraudlabspro_message']).to eq 'INVALID TRANSACTION ID'
65+
expect(data['error']['error_message']).to eq 'TRANSACTION NOT FOUND'
6266
end
6367
end
6468

spec/fraudlabspro_ruby_smsverification_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
)
1212
data = JSON.parse(result.body)
1313
if $test_api_key == 'YOUR_API_KEY'
14-
expect(data['error']).to eq 'API key not found.'
14+
expect(data['error']['error_message']).to eq 'INVALID API KEY'
1515
else
16-
expect(data['error']).to eq 'Invalid phone number.'
16+
expect(data['error']['error_message']).to eq 'INVALID PHONE NUMBER'
1717
end
1818
end
1919

@@ -25,9 +25,9 @@
2525
)
2626
data = JSON.parse(result.body)
2727
if $test_api_key == 'YOUR_API_KEY'
28-
expect(data['error']).to eq 'API key not found.'
28+
expect(data['error']['error_message']).to eq 'INVALID API KEY'
2929
else
30-
expect(data['error']).to eq 'Invalid OTP.'
30+
expect(data['error']['error_message']).to eq 'INVALID OTP'
3131
end
3232
end
3333

0 commit comments

Comments
 (0)