fat_zebra_multi 3.2.0.1 → 3.2.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +3 -3
- data/README.md +5 -4
- data/fat_zebra_multi.gemspec +4 -3
- data/lib/fat_zebra/authenticate.rb +64 -0
- data/lib/fat_zebra/card.rb +1 -0
- data/lib/fat_zebra/paypal/authorization.rb +49 -0
- data/lib/fat_zebra/paypal/billing_agreement.rb +56 -0
- data/lib/fat_zebra/paypal/capture.rb +36 -0
- data/lib/fat_zebra/paypal/order.rb +22 -0
- data/lib/fat_zebra/paypal/refund.rb +22 -0
- data/lib/fat_zebra/util.rb +1 -1
- data/lib/fat_zebra/version.rb +1 -1
- data/lib/fat_zebra.rb +8 -1
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_5_1.yml +46 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml +87 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml +92 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml +91 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_type_validation/1_3_4_1.yml +46 -0
- data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml +47 -0
- data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml +87 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml +44 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_no_amount.yml +44 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml +44 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_currency_is_invalid.yml +46 -0
- data/spec/cassettes/FatZebra_Card/_find/1_3_1.yml +111 -0
- data/spec/cassettes/FatZebra_Card/_find/1_3_2.yml +111 -0
- data/spec/cassettes/FatZebra_Paypal_Authorization/_capture/returns_a_new_capture_record.yml +45 -0
- data/spec/cassettes/{FatZebra_Authorise/_jwt_token/returns_JWT_with_no_params.yml → FatZebra_Paypal_Authorization/_find/when_found/returns_authorization.yml} +5 -5
- data/spec/cassettes/FatZebra_Paypal_Authorization/_search/with_date_filter/returns_records_created_after_start_date.yml +46 -0
- data/spec/cassettes/FatZebra_Paypal_Authorization/_void/returns_a_voided_capture_record.yml +44 -0
- data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_charge/Valid_payload/returns_a_new_order_record.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_find/when_found/returns_billing_agreement.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_search/with_date_filter/returns_records_created_after_start_date.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_Capture/_find/when_found/returns_capture.yml +47 -0
- data/spec/cassettes/FatZebra_Paypal_Capture/_refund/returns_a_new_refund_record.yml +45 -0
- data/spec/cassettes/FatZebra_Paypal_Capture/_search/with_date_filter/returns_records_created_after_start_date.yml +49 -0
- data/spec/cassettes/FatZebra_Paypal_Order/_find/when_found/returns_order.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_Order/_search/with_date_filter/returns_orders_created_after_start_date.yml +55 -0
- data/spec/cassettes/{FatZebra_Authorise/_jwt_token/returns_JWT_with_some_params.yml → FatZebra_Paypal_Refund/_find/when_found/returns_refund.yml} +6 -5
- data/spec/cassettes/FatZebra_Paypal_Refund/_search/with_date_filter/returns_all_refund_records_created_after_start_date.yml +50 -0
- data/spec/lib/fat_zebra/authenticate_spec.rb +187 -0
- data/spec/lib/fat_zebra/card_spec.rb +8 -0
- data/spec/lib/fat_zebra/paypal/authorization_spec.rb +79 -0
- data/spec/lib/fat_zebra/paypal/billing_agreement_spec.rb +62 -0
- data/spec/lib/fat_zebra/paypal/capture_spec.rb +60 -0
- data/spec/lib/fat_zebra/paypal/order_spec.rb +35 -0
- data/spec/lib/fat_zebra/paypal/refund_spec.rb +36 -0
- data/spec/spec_helper.rb +0 -1
- data/spec/support/payloads.rb +129 -36
- metadata +65 -18
- data/lib/fat_zebra/authorise.rb +0 -49
- data/spec/cassettes/FatZebra_Authorise/_authorise/with_challenge_response/1_2_3_1.yml +0 -48
- data/spec/cassettes/FatZebra_Authorise/_authorise/with_challenge_response/1_2_3_2.yml +0 -48
- data/spec/cassettes/FatZebra_Authorise/_authorise/with_frictionless_response/1_2_2_1.yml +0 -48
- data/spec/cassettes/FatZebra_Authorise/_authorise/with_frictionless_response/1_2_2_2.yml +0 -48
- data/spec/cassettes/FatZebra_Authorise/_authorise/with_invalid_input/1_2_1_1.yml +0 -50
- data/spec/cassettes/FatZebra_Authorise/_jwt_token/returns_JWT_with_given_params.yml +0 -46
- data/spec/lib/fat_zebra/authorise_spec.rb +0 -101
metadata
CHANGED
@@ -1,16 +1,30 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fat_zebra_multi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Fat Zebra
|
8
8
|
- Aidan Samuel
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: byebug
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: pry
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,7 +113,7 @@ description: Unofficial fork. Integrate with the Fat Zebra internet payment gate
|
|
99
113
|
(www.fatzebra.com.au), including purchase, refund, auth, capture and recurring billing
|
100
114
|
functionality.
|
101
115
|
email:
|
102
|
-
-
|
116
|
+
- support@fatzebra.com
|
103
117
|
- aidan.samuel@supporterhub.com
|
104
118
|
executables: []
|
105
119
|
extensions: []
|
@@ -121,7 +135,7 @@ files:
|
|
121
135
|
- lib/fat_zebra/api_operation/search.rb
|
122
136
|
- lib/fat_zebra/api_operation/void.rb
|
123
137
|
- lib/fat_zebra/api_resource.rb
|
124
|
-
- lib/fat_zebra/
|
138
|
+
- lib/fat_zebra/authenticate.rb
|
125
139
|
- lib/fat_zebra/bank_account.rb
|
126
140
|
- lib/fat_zebra/batch.rb
|
127
141
|
- lib/fat_zebra/card.rb
|
@@ -134,6 +148,11 @@ files:
|
|
134
148
|
- lib/fat_zebra/information.rb
|
135
149
|
- lib/fat_zebra/object_helper.rb
|
136
150
|
- lib/fat_zebra/payment_plan.rb
|
151
|
+
- lib/fat_zebra/paypal/authorization.rb
|
152
|
+
- lib/fat_zebra/paypal/billing_agreement.rb
|
153
|
+
- lib/fat_zebra/paypal/capture.rb
|
154
|
+
- lib/fat_zebra/paypal/order.rb
|
155
|
+
- lib/fat_zebra/paypal/refund.rb
|
137
156
|
- lib/fat_zebra/purchase.rb
|
138
157
|
- lib/fat_zebra/refund.rb
|
139
158
|
- lib/fat_zebra/request.rb
|
@@ -146,14 +165,22 @@ files:
|
|
146
165
|
- lib/fat_zebra/validation.rb
|
147
166
|
- lib/fat_zebra/version.rb
|
148
167
|
- lib/fat_zebra/web_hook.rb
|
149
|
-
- spec/cassettes/
|
150
|
-
- spec/cassettes/
|
151
|
-
- spec/cassettes/
|
152
|
-
- spec/cassettes/
|
153
|
-
- spec/cassettes/
|
154
|
-
- spec/cassettes/
|
155
|
-
- spec/cassettes/
|
156
|
-
- spec/cassettes/
|
168
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_5_1.yml
|
169
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml
|
170
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml
|
171
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml
|
172
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml
|
173
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml
|
174
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml
|
175
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml
|
176
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml
|
177
|
+
- spec/cassettes/FatZebra_Authenticate/_authenticate/with_type_validation/1_3_4_1.yml
|
178
|
+
- spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml
|
179
|
+
- spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml
|
180
|
+
- spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml
|
181
|
+
- spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_no_amount.yml
|
182
|
+
- spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml
|
183
|
+
- spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_currency_is_invalid.yml
|
157
184
|
- spec/cassettes/FatZebra_BankAccount/_create/1_1_1.yml
|
158
185
|
- spec/cassettes/FatZebra_BankAccount/_create/1_1_2.yml
|
159
186
|
- spec/cassettes/FatZebra_BankAccount/_search/1_2_1.yml
|
@@ -175,6 +202,8 @@ files:
|
|
175
202
|
- spec/cassettes/FatZebra_Card/_create/1_1_4.yml
|
176
203
|
- spec/cassettes/FatZebra_Card/_create/1_1_5.yml
|
177
204
|
- spec/cassettes/FatZebra_Card/_create/1_1_6.yml
|
205
|
+
- spec/cassettes/FatZebra_Card/_find/1_3_1.yml
|
206
|
+
- spec/cassettes/FatZebra_Card/_find/1_3_2.yml
|
178
207
|
- spec/cassettes/FatZebra_Card/_update/1_2_1.yml
|
179
208
|
- spec/cassettes/FatZebra_Card/_update/1_2_2.yml
|
180
209
|
- spec/cassettes/FatZebra_Card/_update/1_2_3.yml
|
@@ -234,6 +263,20 @@ files:
|
|
234
263
|
- spec/cassettes/FatZebra_PaymentPlan/_update/1_3_3.yml
|
235
264
|
- spec/cassettes/FatZebra_PaymentPlan/_update/1_4_1.yml
|
236
265
|
- spec/cassettes/FatZebra_PaymentPlan/_update/1_4_2.yml
|
266
|
+
- spec/cassettes/FatZebra_Paypal_Authorization/_capture/returns_a_new_capture_record.yml
|
267
|
+
- spec/cassettes/FatZebra_Paypal_Authorization/_find/when_found/returns_authorization.yml
|
268
|
+
- spec/cassettes/FatZebra_Paypal_Authorization/_search/with_date_filter/returns_records_created_after_start_date.yml
|
269
|
+
- spec/cassettes/FatZebra_Paypal_Authorization/_void/returns_a_voided_capture_record.yml
|
270
|
+
- spec/cassettes/FatZebra_Paypal_BillingAgreement/_charge/Valid_payload/returns_a_new_order_record.yml
|
271
|
+
- spec/cassettes/FatZebra_Paypal_BillingAgreement/_find/when_found/returns_billing_agreement.yml
|
272
|
+
- spec/cassettes/FatZebra_Paypal_BillingAgreement/_search/with_date_filter/returns_records_created_after_start_date.yml
|
273
|
+
- spec/cassettes/FatZebra_Paypal_Capture/_find/when_found/returns_capture.yml
|
274
|
+
- spec/cassettes/FatZebra_Paypal_Capture/_refund/returns_a_new_refund_record.yml
|
275
|
+
- spec/cassettes/FatZebra_Paypal_Capture/_search/with_date_filter/returns_records_created_after_start_date.yml
|
276
|
+
- spec/cassettes/FatZebra_Paypal_Order/_find/when_found/returns_order.yml
|
277
|
+
- spec/cassettes/FatZebra_Paypal_Order/_search/with_date_filter/returns_orders_created_after_start_date.yml
|
278
|
+
- spec/cassettes/FatZebra_Paypal_Refund/_find/when_found/returns_refund.yml
|
279
|
+
- spec/cassettes/FatZebra_Paypal_Refund/_search/with_date_filter/returns_all_refund_records_created_after_start_date.yml
|
237
280
|
- spec/cassettes/FatZebra_Purchase/_capture/1_5_1.yml
|
238
281
|
- spec/cassettes/FatZebra_Purchase/_capture/1_5_2.yml
|
239
282
|
- spec/cassettes/FatZebra_Purchase/_capture/1_5_3.yml
|
@@ -303,7 +346,7 @@ files:
|
|
303
346
|
- spec/cassettes/Multiple_accounts/The_basics/1_1_6.yml
|
304
347
|
- spec/fixtures/batch_test.csv
|
305
348
|
- spec/lib/fat_zebra/api_resource_spec.rb
|
306
|
-
- spec/lib/fat_zebra/
|
349
|
+
- spec/lib/fat_zebra/authenticate_spec.rb
|
307
350
|
- spec/lib/fat_zebra/bank_account_spec.rb
|
308
351
|
- spec/lib/fat_zebra/batch_spec.rb
|
309
352
|
- spec/lib/fat_zebra/card_spec.rb
|
@@ -315,6 +358,11 @@ files:
|
|
315
358
|
- spec/lib/fat_zebra/information_spec.rb
|
316
359
|
- spec/lib/fat_zebra/multiple_accounts_spec.rb
|
317
360
|
- spec/lib/fat_zebra/payment_plan_spec.rb
|
361
|
+
- spec/lib/fat_zebra/paypal/authorization_spec.rb
|
362
|
+
- spec/lib/fat_zebra/paypal/billing_agreement_spec.rb
|
363
|
+
- spec/lib/fat_zebra/paypal/capture_spec.rb
|
364
|
+
- spec/lib/fat_zebra/paypal/order_spec.rb
|
365
|
+
- spec/lib/fat_zebra/paypal/refund_spec.rb
|
318
366
|
- spec/lib/fat_zebra/purchase_spec.rb
|
319
367
|
- spec/lib/fat_zebra/refund_spec.rb
|
320
368
|
- spec/lib/fat_zebra/request_spec.rb
|
@@ -333,17 +381,16 @@ require_paths:
|
|
333
381
|
- lib
|
334
382
|
required_ruby_version: !ruby/object:Gem::Requirement
|
335
383
|
requirements:
|
336
|
-
- - "
|
384
|
+
- - ">="
|
337
385
|
- !ruby/object:Gem::Version
|
338
|
-
version:
|
386
|
+
version: 2.3.0
|
339
387
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
340
388
|
requirements:
|
341
389
|
- - ">="
|
342
390
|
- !ruby/object:Gem::Version
|
343
391
|
version: '0'
|
344
392
|
requirements: []
|
345
|
-
|
346
|
-
rubygems_version: 2.7.6.2
|
393
|
+
rubygems_version: 3.2.5
|
347
394
|
signing_key:
|
348
395
|
specification_version: 4
|
349
396
|
summary: Unofficial fork of the Fat Zebra API client - integrate your Ruby app with
|
data/lib/fat_zebra/authorise.rb
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
module FatZebra
|
2
|
-
##
|
3
|
-
# == FatZebra \Authorise
|
4
|
-
#
|
5
|
-
# Manage 3DS authorisation for the API
|
6
|
-
#
|
7
|
-
# * token
|
8
|
-
# * authorise
|
9
|
-
#
|
10
|
-
class Authorise < APIResource
|
11
|
-
@resource_name = 'authorise'
|
12
|
-
|
13
|
-
validates :card_number, required: true, on: :authorise
|
14
|
-
validates :card_expiry, required: true, on: :authorise
|
15
|
-
validates :threeds, required: true, on: :authorise
|
16
|
-
|
17
|
-
class << self
|
18
|
-
|
19
|
-
##
|
20
|
-
# Returns a JWT token for the 3DS authorisation process
|
21
|
-
#
|
22
|
-
# @param [Hash] params
|
23
|
-
# @param [Hash] options for the request, and configurations (Optional)
|
24
|
-
#
|
25
|
-
# @return [FatZebra::Authorise]
|
26
|
-
def jwt_token(params = {}, options = {})
|
27
|
-
valid!(params, :jwt_token) if respond_to?(:valid!)
|
28
|
-
|
29
|
-
response = request(:get, "#{resource_path}/jwt_token", params, options)
|
30
|
-
initialize_from(response)
|
31
|
-
end
|
32
|
-
|
33
|
-
##
|
34
|
-
# Creates a lookup request to 3DS server
|
35
|
-
#
|
36
|
-
# @param [Hash] params
|
37
|
-
# @param [Hash] options for the request, and configurations (Optional)
|
38
|
-
#
|
39
|
-
# @return [FatZebra::Authorise]
|
40
|
-
def authorise(params = {}, options = {})
|
41
|
-
valid!(params, :authorise) if respond_to?(:valid!)
|
42
|
-
|
43
|
-
response = request(:post, resource_path, params, options)
|
44
|
-
initialize_from(response)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: post
|
5
|
-
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authorise
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: '{"card_number":"4111111111111111","card_expiry":"09/2020","threeds":{"enabled":true,"amount":100,"billing_address1":"SOME
|
9
|
-
ADDRESS","billing_city":"Sydney","billing_country_code":"036","billing_first_name":"John","billing_last_name":"Smith","billing_postal_code":"2000","billing_state":"NSW","currency_code":"036","df_reference_id":"d11506cf96cdbb83badc","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"118884994ef0db99f4f5","shipping_address1":"SOME
|
10
|
-
ADDRESS","shipping_state":"NSW","shipping_city":"Sydney","shipping_country_code":"036","shipping_address2":"SOME
|
11
|
-
ADDRESS","shipping_address3":"SOME ADDRESS","shipping_postal_code":"2000","billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
|
12
|
-
ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY","installment":2,"purchase_date":"20200902104008","recurring_end":"20200902","recurring_frequency":31},"test":true}'
|
13
|
-
headers:
|
14
|
-
Accept-Encoding:
|
15
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
-
Accept:
|
17
|
-
- application/json
|
18
|
-
User-Agent:
|
19
|
-
- Ruby
|
20
|
-
Authorization:
|
21
|
-
- Basic VEVTVDpURVNU
|
22
|
-
Content-Type:
|
23
|
-
- application/json
|
24
|
-
response:
|
25
|
-
status:
|
26
|
-
code: 200
|
27
|
-
message: OK
|
28
|
-
headers:
|
29
|
-
Cache-Control:
|
30
|
-
- no-store
|
31
|
-
Pragma:
|
32
|
-
- no-cache
|
33
|
-
Content-Type:
|
34
|
-
- application/json; charset=utf-8
|
35
|
-
X-Request-Version:
|
36
|
-
- 1.21.8
|
37
|
-
X-Request-Id:
|
38
|
-
- 67d00e9d5db8ed66fbbb01dee8150f11
|
39
|
-
X-Runtime:
|
40
|
-
- '1.262001'
|
41
|
-
Transfer-Encoding:
|
42
|
-
- chunked
|
43
|
-
body:
|
44
|
-
encoding: UTF-8
|
45
|
-
string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"Y","ErrorDesc":null,"ErrorNo":"0","EciFlag":"07","OrderId":"8000143411954523","TransactionId":"KJpHTe72N6ePm5HTxYk0","TransactionType":null,"SignatureVerification":null,"CardBrand":"VISA","CardBin":"411111","DSTransactionId":null,"RawACSUrl":"https://someacsurl.com","ACSUrl":"https://someacsurl.com","StepUpUrl":"https://somestepupurl.com","Cavv":null,"PAResStatus":null,"Payload":"551f6bb1db7ba013570c9d96a1aa","Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":null,"test":true}'
|
46
|
-
http_version:
|
47
|
-
recorded_at: Mon, 02 Sep 2019 00:40:09 GMT
|
48
|
-
recorded_with: VCR 3.0.3
|
@@ -1,48 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: post
|
5
|
-
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authorise
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: '{"card_number":"4111111111111111","card_expiry":"09/2020","threeds":{"enabled":true,"amount":100,"billing_address1":"SOME
|
9
|
-
ADDRESS","billing_city":"Sydney","billing_country_code":"036","billing_first_name":"John","billing_last_name":"Smith","billing_postal_code":"2000","billing_state":"NSW","currency_code":"036","df_reference_id":"2bcec7c03322c1603ce0","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"eb6932557e2500078ac1","shipping_address1":"SOME
|
10
|
-
ADDRESS","shipping_state":"NSW","shipping_city":"Sydney","shipping_country_code":"036","shipping_address2":"SOME
|
11
|
-
ADDRESS","shipping_address3":"SOME ADDRESS","shipping_postal_code":"2000","billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
|
12
|
-
ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY","installment":2,"purchase_date":"20200902104009","recurring_end":"20200902","recurring_frequency":31},"test":true}'
|
13
|
-
headers:
|
14
|
-
Accept-Encoding:
|
15
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
-
Accept:
|
17
|
-
- application/json
|
18
|
-
User-Agent:
|
19
|
-
- Ruby
|
20
|
-
Authorization:
|
21
|
-
- Basic VEVTVDpURVNU
|
22
|
-
Content-Type:
|
23
|
-
- application/json
|
24
|
-
response:
|
25
|
-
status:
|
26
|
-
code: 200
|
27
|
-
message: OK
|
28
|
-
headers:
|
29
|
-
Cache-Control:
|
30
|
-
- no-store
|
31
|
-
Pragma:
|
32
|
-
- no-cache
|
33
|
-
Content-Type:
|
34
|
-
- application/json; charset=utf-8
|
35
|
-
X-Request-Version:
|
36
|
-
- 1.21.8
|
37
|
-
X-Request-Id:
|
38
|
-
- a31f46e23fa3e98ede0c58f789916eeb
|
39
|
-
X-Runtime:
|
40
|
-
- '1.011716'
|
41
|
-
Transfer-Encoding:
|
42
|
-
- chunked
|
43
|
-
body:
|
44
|
-
encoding: UTF-8
|
45
|
-
string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"Y","ErrorDesc":null,"ErrorNo":"0","EciFlag":"07","OrderId":"8000087145309035","TransactionId":"p3gebCQ2vbqT7jKzquU0","TransactionType":null,"SignatureVerification":null,"CardBrand":"VISA","CardBin":"411111","DSTransactionId":null,"RawACSUrl":"https://someacsurl.com","ACSUrl":"https://someacsurl.com","StepUpUrl":"https://somestepupurl.com","Cavv":null,"PAResStatus":null,"Payload":"39b8551f6bb1db7ba013570c9d96a1aa","Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":null,"test":true}'
|
46
|
-
http_version:
|
47
|
-
recorded_at: Mon, 02 Sep 2019 00:40:10 GMT
|
48
|
-
recorded_with: VCR 3.0.3
|
@@ -1,48 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: post
|
5
|
-
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authorise
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: '{"card_number":"4000000000001000","card_expiry":"09/2020","threeds":{"enabled":true,"amount":100,"billing_address1":"SOME
|
9
|
-
ADDRESS","billing_city":"Sydney","billing_country_code":"036","billing_first_name":"John","billing_last_name":"Smith","billing_postal_code":"2000","billing_state":"NSW","currency_code":"036","df_reference_id":"9b078159eefbc57e34fb","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"c2123ed55ff5c2d9e024","shipping_address1":"SOME
|
10
|
-
ADDRESS","shipping_state":"NSW","shipping_city":"Sydney","shipping_country_code":"036","shipping_address2":"SOME
|
11
|
-
ADDRESS","shipping_address3":"SOME ADDRESS","shipping_postal_code":"2000","billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
|
12
|
-
ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY","installment":2,"purchase_date":"20200902104005","recurring_end":"20200902","recurring_frequency":31},"test":true}'
|
13
|
-
headers:
|
14
|
-
Accept-Encoding:
|
15
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
-
Accept:
|
17
|
-
- application/json
|
18
|
-
User-Agent:
|
19
|
-
- Ruby
|
20
|
-
Authorization:
|
21
|
-
- Basic VEVTVDpURVNU
|
22
|
-
Content-Type:
|
23
|
-
- application/json
|
24
|
-
response:
|
25
|
-
status:
|
26
|
-
code: 200
|
27
|
-
message: OK
|
28
|
-
headers:
|
29
|
-
Cache-Control:
|
30
|
-
- no-store
|
31
|
-
Pragma:
|
32
|
-
- no-cache
|
33
|
-
Content-Type:
|
34
|
-
- application/json; charset=utf-8
|
35
|
-
X-Request-Version:
|
36
|
-
- 1.21.8
|
37
|
-
X-Request-Id:
|
38
|
-
- 57648875a0bcbe1d7d5fa04695234c31
|
39
|
-
X-Runtime:
|
40
|
-
- '1.365493'
|
41
|
-
Transfer-Encoding:
|
42
|
-
- chunked
|
43
|
-
body:
|
44
|
-
encoding: UTF-8
|
45
|
-
string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"Y","ErrorDesc":null,"ErrorNo":"0","EciFlag":"07","OrderId":"8000785369280523","TransactionId":"3UFULPbYKAJtaKXx41S0","TransactionType":null,"SignatureVerification":null,"CardBrand":"VISA","CardBin":"400000","DSTransactionId":null,"RawACSUrl":null,"ACSUrl":null,"StepUpUrl":null,"Cavv":null,"PAResStatus":null,"Payload":null,"Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":null,"test":true}'
|
46
|
-
http_version:
|
47
|
-
recorded_at: Mon, 02 Sep 2019 00:40:07 GMT
|
48
|
-
recorded_with: VCR 3.0.3
|
@@ -1,48 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: post
|
5
|
-
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authorise
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: '{"card_number":"4000000000001000","card_expiry":"09/2020","threeds":{"enabled":true,"amount":100,"billing_address1":"SOME
|
9
|
-
ADDRESS","billing_city":"Sydney","billing_country_code":"036","billing_first_name":"John","billing_last_name":"Smith","billing_postal_code":"2000","billing_state":"NSW","currency_code":"036","df_reference_id":"e65ac29e83de2dcb6fec","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"0b6724482dfdf72a0dff","shipping_address1":"SOME
|
10
|
-
ADDRESS","shipping_state":"NSW","shipping_city":"Sydney","shipping_country_code":"036","shipping_address2":"SOME
|
11
|
-
ADDRESS","shipping_address3":"SOME ADDRESS","shipping_postal_code":"2000","billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
|
12
|
-
ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY","installment":2,"purchase_date":"20200902104007","recurring_end":"20200902","recurring_frequency":31},"test":true}'
|
13
|
-
headers:
|
14
|
-
Accept-Encoding:
|
15
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
-
Accept:
|
17
|
-
- application/json
|
18
|
-
User-Agent:
|
19
|
-
- Ruby
|
20
|
-
Authorization:
|
21
|
-
- Basic VEVTVDpURVNU
|
22
|
-
Content-Type:
|
23
|
-
- application/json
|
24
|
-
response:
|
25
|
-
status:
|
26
|
-
code: 200
|
27
|
-
message: OK
|
28
|
-
headers:
|
29
|
-
Cache-Control:
|
30
|
-
- no-store
|
31
|
-
Pragma:
|
32
|
-
- no-cache
|
33
|
-
Content-Type:
|
34
|
-
- application/json; charset=utf-8
|
35
|
-
X-Request-Version:
|
36
|
-
- 1.21.8
|
37
|
-
X-Request-Id:
|
38
|
-
- 3e75bd7fc1cc1e64a5373a1909d64c10
|
39
|
-
X-Runtime:
|
40
|
-
- '1.313599'
|
41
|
-
Transfer-Encoding:
|
42
|
-
- chunked
|
43
|
-
body:
|
44
|
-
encoding: UTF-8
|
45
|
-
string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"Y","ErrorDesc":null,"ErrorNo":"0","EciFlag":"07","OrderId":"8000886189302370","TransactionId":"SJjPCuSo1xgEQmxhWqz0","TransactionType":null,"SignatureVerification":null,"CardBrand":"VISA","CardBin":"400000","DSTransactionId":null,"RawACSUrl":null,"ACSUrl":null,"StepUpUrl":null,"Cavv":null,"PAResStatus":null,"Payload":null,"Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":null,"test":true}'
|
46
|
-
http_version:
|
47
|
-
recorded_at: Mon, 02 Sep 2019 00:40:08 GMT
|
48
|
-
recorded_with: VCR 3.0.3
|
@@ -1,50 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: post
|
5
|
-
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authorise
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: '{"card_number":"5123456789012346","card_expiry":"08/2019","threeds":{"enabled":true,"amount":100,"billing_address1":"SOME
|
9
|
-
ADDRESS","billing_city":"Sydney","billing_country_code":"036","billing_first_name":"John","billing_last_name":"Smith","billing_postal_code":"2000","billing_state":"NSW","currency_code":"036","df_reference_id":"ae9c3a1e8a26f09c3312","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"7515ae6a2fc575777efa","shipping_address1":"SOME
|
10
|
-
ADDRESS","shipping_state":"NSW","shipping_city":"Sydney","shipping_country_code":"036","shipping_address2":"SOME
|
11
|
-
ADDRESS","shipping_address3":"SOME ADDRESS","shipping_postal_code":"2000","billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
|
12
|
-
ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY","installment":2,"purchase_date":"20200902104004","recurring_end":"20200902","recurring_frequency":31},"test":true}'
|
13
|
-
headers:
|
14
|
-
Accept-Encoding:
|
15
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
-
Accept:
|
17
|
-
- application/json
|
18
|
-
User-Agent:
|
19
|
-
- Ruby
|
20
|
-
Authorization:
|
21
|
-
- Basic VEVTVDpURVNU
|
22
|
-
Content-Type:
|
23
|
-
- application/json
|
24
|
-
response:
|
25
|
-
status:
|
26
|
-
code: 422
|
27
|
-
message: Unprocessable Entity
|
28
|
-
headers:
|
29
|
-
Cache-Control:
|
30
|
-
- no-store
|
31
|
-
Pragma:
|
32
|
-
- no-cache
|
33
|
-
Content-Type:
|
34
|
-
- application/json; charset=utf-8
|
35
|
-
X-Request-Version:
|
36
|
-
- 1.21.8
|
37
|
-
X-Request-Id:
|
38
|
-
- 38c5e6b4a7af7dc35fb8f6608ae52b4c
|
39
|
-
X-Runtime:
|
40
|
-
- '1.637937'
|
41
|
-
Transfer-Encoding:
|
42
|
-
- chunked
|
43
|
-
body:
|
44
|
-
encoding: UTF-8
|
45
|
-
string: '{"successful":false,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"U","ErrorDesc":"Error
|
46
|
-
Validating Credit Card Expiration Information Passed (YYMM)","ErrorNo":"4000","EciFlag":"00","OrderId":"8010307730195369","TransactionId":"EBw7c1ZzTL50yr3JH7S0","TransactionType":null,"SignatureVerification":null,"CardBrand":"MASTERCARD","CardBin":"512345","DSTransactionId":null,"RawACSUrl":null,"ACSUrl":null,"StepUpUrl":null,"Cavv":null,"PAResStatus":null,"Payload":null,"Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":"Error
|
47
|
-
Validating Credit Card Expiration Information Passed (YYMM)","test":true}'
|
48
|
-
http_version:
|
49
|
-
recorded_at: Mon, 02 Sep 2019 00:40:05 GMT
|
50
|
-
recorded_with: VCR 3.0.3
|
@@ -1,46 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authorise/jwt_token?amount=100&confirm_url=https://example.com¤cy_code=036&order_number=xxxx-xxxx-xxxx&reference_id=xxxx-xxxx-xxxx&test=true
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
Accept-Encoding:
|
11
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
-
Accept:
|
13
|
-
- application/json
|
14
|
-
User-Agent:
|
15
|
-
- Ruby
|
16
|
-
Host:
|
17
|
-
- gateway.sandbox.fatzebra.com.au
|
18
|
-
Authorization:
|
19
|
-
- Basic VEVTVDpURVNU
|
20
|
-
Content-Type:
|
21
|
-
- application/json
|
22
|
-
response:
|
23
|
-
status:
|
24
|
-
code: 200
|
25
|
-
message: OK
|
26
|
-
headers:
|
27
|
-
Cache-Control:
|
28
|
-
- no-store
|
29
|
-
Pragma:
|
30
|
-
- no-cache
|
31
|
-
Content-Type:
|
32
|
-
- application/json; charset=utf-8
|
33
|
-
X-Request-Version:
|
34
|
-
- 1.21.8
|
35
|
-
X-Request-Id:
|
36
|
-
- ca35fe7e5bb33bf91045771b066e3225
|
37
|
-
X-Runtime:
|
38
|
-
- '2.541608'
|
39
|
-
Transfer-Encoding:
|
40
|
-
- chunked
|
41
|
-
body:
|
42
|
-
encoding: UTF-8
|
43
|
-
string: '{"successful":true,"response":{"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NjczOTkyMDMsImlhdCI6MTU2NzM4NDgwMywiaXNzIjoiNTgyZTBhMjAzM2ZhZGQxMjYwZjk5MGY2IiwianRpIjoiNzJjYzkzZTktY2I0Ni00NjNiLTllZWMtNWFjYzViMzRlZDk2IiwiT3JnVW5pdElkIjoiNTgyYmU5ZGVkYTUyOTMyYTk0NmM0NWM0IiwiT2JqZWN0aWZ5UGF5bG9hZCI6dHJ1ZSwiUmVmZXJlbmNlSWQiOiJlMTdkMGIxNy1jYTViLTRhYzQtYWE3YS0xN2ZhYzQzMDNiM2IifQ.pslZfApXY1MtDA2OKks9OhkEY_KIFkc-XTrO4Xc7zIg","reference_id":"e17d0b17-ca5b-4ac4-aa7a-17fac4303b3b"},"errors":[],"test":true}'
|
44
|
-
http_version:
|
45
|
-
recorded_at: Mon, 02 Sep 2019 00:40:03 GMT
|
46
|
-
recorded_with: VCR 3.0.3
|
@@ -1,101 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe FatZebra::Authorise do
|
4
|
-
|
5
|
-
describe '.jwt_token', :vcr do
|
6
|
-
subject(:token) { FatZebra::Authorise.jwt_token(valid_3ds_token_payload) }
|
7
|
-
|
8
|
-
let(:valid_3ds_token_payload) {{
|
9
|
-
reference_id: 'xxxx-xxxx-xxxx',
|
10
|
-
confirm_url: 'https://example.com',
|
11
|
-
order_number: 'xxxx-xxxx-xxxx',
|
12
|
-
currency_code: '036',
|
13
|
-
amount: 100
|
14
|
-
}}
|
15
|
-
|
16
|
-
it 'returns JWT with given params' do
|
17
|
-
is_expected.to be_accepted
|
18
|
-
expect(token.jwt).to be_truthy
|
19
|
-
expect(token.reference_id).to be_truthy
|
20
|
-
end
|
21
|
-
|
22
|
-
it 'returns JWT with some params' do
|
23
|
-
valid_3ds_token_payload.delete(:reference_id)
|
24
|
-
is_expected.to be_accepted
|
25
|
-
expect(token.jwt).to be_truthy
|
26
|
-
expect(token.reference_id).to be_truthy
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'returns JWT with no params' do
|
30
|
-
valid_3ds_token_payload.clear
|
31
|
-
is_expected.to be_accepted
|
32
|
-
expect(token.jwt).to be_truthy
|
33
|
-
expect(token.reference_id).to be_truthy
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe '.authorise', :vcr do
|
38
|
-
subject(:authorise) { FatZebra::Authorise.authorise(valid_3ds_authorise_payload) }
|
39
|
-
|
40
|
-
context 'with invalid input' do
|
41
|
-
before do
|
42
|
-
valid_3ds_authorise_payload[:card_expiry] = DateTime.now.prev_month.strftime('%m/%Y')
|
43
|
-
end
|
44
|
-
|
45
|
-
it do
|
46
|
-
is_expected.not_to be_accepted
|
47
|
-
expect(authorise.errors).to match(/Error Validating Credit Card Expiration/)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
context 'with frictionless response' do
|
52
|
-
before do
|
53
|
-
valid_3ds_authorise_payload[:card_number] = '4000000000001000'
|
54
|
-
end
|
55
|
-
|
56
|
-
it do
|
57
|
-
is_expected.to be_accepted
|
58
|
-
expect(authorise.keys).to include('Enrolled', 'ACSUrl', 'CardBin', 'TransactionId')
|
59
|
-
expect(authorise.errors).not_to be_truthy
|
60
|
-
end
|
61
|
-
|
62
|
-
it do
|
63
|
-
expect(authorise.Enrolled).to eq('Y')
|
64
|
-
expect(authorise.ACSUrl).not_to be_truthy
|
65
|
-
expect(authorise.CardBin).to be_truthy
|
66
|
-
expect(authorise.ErrorNo).to eq('0')
|
67
|
-
expect(authorise.ErrorDesc).not_to be_truthy
|
68
|
-
expect(authorise.CardBrand).to be_truthy
|
69
|
-
expect(authorise.TransactionId).to be_truthy
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
context 'with challenge response' do
|
74
|
-
before do
|
75
|
-
valid_3ds_authorise_payload[:card_number] = '4111111111111111'
|
76
|
-
end
|
77
|
-
|
78
|
-
it do
|
79
|
-
is_expected.to be_accepted
|
80
|
-
expect(authorise.keys).to include('Enrolled', 'ACSUrl', 'CardBin', 'TransactionId')
|
81
|
-
expect(authorise.errors).not_to be_truthy
|
82
|
-
end
|
83
|
-
|
84
|
-
it do
|
85
|
-
expect(authorise.Enrolled).to eq('Y')
|
86
|
-
expect(authorise.ACSUrl).to be_truthy
|
87
|
-
expect(authorise.CardBin).to be_truthy
|
88
|
-
expect(authorise.ErrorNo).to eq('0')
|
89
|
-
expect(authorise.ErrorDesc).not_to be_truthy
|
90
|
-
expect(authorise.CardBrand).to be_truthy
|
91
|
-
expect(authorise.TransactionId).to be_truthy
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
context 'validations' do
|
96
|
-
let(:valid_3ds_authorise_payload) {{}}
|
97
|
-
|
98
|
-
it { expect{ authorise }.to raise_error(FatZebra::RequestValidationError) }
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|