fat_zebra_multi 3.1.0.1 → 3.2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +3 -3
- data/README.md +5 -4
- data/fat_zebra_multi.gemspec +5 -4
- 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 -0
- 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_Paypal_Authorization/_find/when_found/returns_authorization.yml +46 -0
- 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_Paypal_Refund/_find/when_found/returns_refund.yml +47 -0
- 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 +4 -3
- data/spec/support/payloads.rb +135 -0
- metadata +70 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 522930346837498084e067e4755cd18ab04745fa68cdcef28080e0b738eead32
|
4
|
+
data.tar.gz: d373681019bdbf1421aeb622b7b699558d66a4d5c2dc4808660886bc625410d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d22fc4507cadacad9b1569c6f7c83843b12745fe608a1c2d8a587ea72d5a3a44b4d379707f8334b479b2bc2acc0c6731400c35c71bf0e83f369aefbfd2585fe0
|
7
|
+
data.tar.gz: 0b2f7466a6b856a3e6fa357e55dda2f62d73d37c38eee8fa5159939b2c5956bf4c75748fc492e227839c31148f504c8ba07cd5be9f67e13b54633e361df3ce28
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -3,11 +3,12 @@ Ruby API Library for Fat Zebra
|
|
3
3
|
|
4
4
|
[](https://travis-ci.org/supporterhub/fat-zebra-api-client)
|
5
5
|
|
6
|
-
|
6
|
+
Release 3.2.0 for API version 1.0
|
7
|
+
A Ruby client for the [Fat Zebra](https://www.fatzebra.com) Online Payment Gateway
|
7
8
|
|
8
9
|
This is an unofficial fork of the Fat Zebra API client. This version has been patched to allow multiple accounts to be used simultaneously.
|
9
10
|
|
10
|
-
Version 3.
|
11
|
+
Version 3.2.3.x of this gem aims to be a drop-in replacement for version 3.2.3 of the official gem.
|
11
12
|
|
12
13
|
It aims to maintain parity with the [official Fat Zebra API client](https://github.com/fatzebra/Ruby-Library).
|
13
14
|
|
@@ -93,11 +94,11 @@ end
|
|
93
94
|
Documentation
|
94
95
|
-------------
|
95
96
|
|
96
|
-
Full API reference can be found at http://docs.fatzebra.com
|
97
|
+
Full API reference can be found at http://docs.fatzebra.com
|
97
98
|
|
98
99
|
Support
|
99
100
|
-------
|
100
|
-
If you have any issue with the Fat Zebra Ruby Client please contact us at support@fatzebra.com
|
101
|
+
If you have any issue with the Fat Zebra Ruby Client please contact us at support@fatzebra.com and we will be more then happy to help out. Alternatively you may raise an issue in github.
|
101
102
|
|
102
103
|
Pull Requests
|
103
104
|
-------------
|
data/fat_zebra_multi.gemspec
CHANGED
@@ -6,16 +6,17 @@ require 'fat_zebra/version'
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'fat_zebra_multi'
|
8
8
|
s.version = FatZebra::VERSION
|
9
|
-
s.authors = ['
|
10
|
-
s.email = ['
|
9
|
+
s.authors = ['Fat Zebra', 'Aidan Samuel']
|
10
|
+
s.email = ['support@fatzebra.com', 'aidan.samuel@supporterhub.com']
|
11
11
|
s.homepage = ''
|
12
12
|
s.summary = 'Unofficial fork of the Fat Zebra API client - integrate your Ruby app with Fat Zebra'
|
13
|
-
s.description = '
|
13
|
+
s.description = 'Unofficial fork. Integrate with the Fat Zebra internet payment gateway (www.fatzebra.com.au), including purchase, refund, auth, capture and recurring billing functionality.'
|
14
14
|
|
15
15
|
s.files = `git ls-files`.split("\n")
|
16
16
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
17
17
|
s.require_paths = %w[lib]
|
18
18
|
|
19
|
+
s.add_development_dependency 'byebug'
|
19
20
|
s.add_development_dependency 'pry'
|
20
21
|
s.add_development_dependency 'rake'
|
21
22
|
s.add_development_dependency 'rspec', '~> 3.6'
|
@@ -23,5 +24,5 @@ Gem::Specification.new do |s|
|
|
23
24
|
s.add_development_dependency 'vcr', '~> 3.0'
|
24
25
|
s.add_development_dependency 'webmock', '~> 3.0'
|
25
26
|
|
26
|
-
s.required_ruby_version = '
|
27
|
+
s.required_ruby_version = '>= 2.3.0'
|
27
28
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Authenticate
|
4
|
+
#
|
5
|
+
# Manage 3DS2/SCA authentication for the API
|
6
|
+
#
|
7
|
+
# * session
|
8
|
+
# * authenticate
|
9
|
+
# * decode_session
|
10
|
+
#
|
11
|
+
class Authenticate < APIResource
|
12
|
+
@resource_name = 'authenticate'
|
13
|
+
|
14
|
+
validates :card_token, required: true, on: :authenticate
|
15
|
+
validates :sca, required: true, on: :authenticate
|
16
|
+
validates :token, required: true, on: :decode_session
|
17
|
+
|
18
|
+
class << self
|
19
|
+
|
20
|
+
##
|
21
|
+
# Returns a JWT token for the 3DS authentication process
|
22
|
+
#
|
23
|
+
# @param [Hash] params
|
24
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
25
|
+
#
|
26
|
+
# @return [FatZebra::Authenticate]
|
27
|
+
def session(params = {}, options = {})
|
28
|
+
valid!(params, :session) if respond_to?(:valid!)
|
29
|
+
|
30
|
+
response = request(:post, "#{resource_path}/session", params, options)
|
31
|
+
initialize_from(response)
|
32
|
+
end
|
33
|
+
|
34
|
+
##
|
35
|
+
# Decodes a JWT token for the 3DS authentication process
|
36
|
+
#
|
37
|
+
# @param [Hash] params
|
38
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
39
|
+
#
|
40
|
+
# @return [FatZebra::Authenticate]
|
41
|
+
def decode_session(params = {}, options = {})
|
42
|
+
valid!(params, :decode_session) if respond_to?(:valid!)
|
43
|
+
|
44
|
+
response = request(:get, "#{resource_path}/decode_session", params, options)
|
45
|
+
initialize_from(response)
|
46
|
+
end
|
47
|
+
|
48
|
+
##
|
49
|
+
# Authenticates a 3ds request
|
50
|
+
#
|
51
|
+
# @param [Hash] params
|
52
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
53
|
+
#
|
54
|
+
# @return [FatZebra::Authenticate]
|
55
|
+
def authenticate(params = {}, options = {})
|
56
|
+
valid!(params, :authenticate) if respond_to?(:valid!)
|
57
|
+
|
58
|
+
response = request(:post, resource_path, params, options)
|
59
|
+
initialize_from(response)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
data/lib/fat_zebra/card.rb
CHANGED
@@ -0,0 +1,49 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Authorization
|
4
|
+
#
|
5
|
+
# Manage PayPal Authorizations
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
# * capture
|
10
|
+
# * void
|
11
|
+
#
|
12
|
+
module Paypal
|
13
|
+
class Authorization < APIResource
|
14
|
+
include FatZebra::APIOperation::Find
|
15
|
+
include FatZebra::APIOperation::Search
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def base_path
|
19
|
+
super + '/paypal/'
|
20
|
+
end
|
21
|
+
|
22
|
+
##
|
23
|
+
# Capture a PayPal Authorization
|
24
|
+
#
|
25
|
+
# @param [String] Authorization id
|
26
|
+
# @param [Hash] params (amount, final_capture, note_to_payer)
|
27
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
28
|
+
#
|
29
|
+
# @return [FatZebra::Paypal::Capture]
|
30
|
+
def capture(id, params = {}, options = {})
|
31
|
+
response = request(:post, resource_path("authorizations/#{id}/capture"), params, options)
|
32
|
+
FatZebra::Paypal::Capture.initialize_from(response)
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# Void a PayPal Authorization
|
37
|
+
#
|
38
|
+
# @param [String] Authorization id
|
39
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
40
|
+
#
|
41
|
+
# @return [FatZebra::Authorization]
|
42
|
+
def void(id, options = {})
|
43
|
+
response = request(:post, resource_path("authorizations/#{id}/void"), {}, options)
|
44
|
+
initialize_from(response)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::BillingAgreement
|
4
|
+
#
|
5
|
+
# Manage PayPal Billing Agreements
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
# * charge
|
10
|
+
# * cancel
|
11
|
+
#
|
12
|
+
module Paypal
|
13
|
+
class BillingAgreement < APIResource
|
14
|
+
include FatZebra::APIOperation::Find
|
15
|
+
include FatZebra::APIOperation::Search
|
16
|
+
|
17
|
+
validates :purchases, required: true, on: :charge
|
18
|
+
validates :amount, required: true, on: :charge
|
19
|
+
validates :currency, required: true, on: :charge
|
20
|
+
validates :reference, required: true, on: :charge
|
21
|
+
|
22
|
+
class << self
|
23
|
+
def base_path
|
24
|
+
super + '/paypal/'
|
25
|
+
end
|
26
|
+
|
27
|
+
##
|
28
|
+
# Charge a PayPal Billing Agreement
|
29
|
+
#
|
30
|
+
# @param [String] Billing Agreement id
|
31
|
+
# @param [Hash] params (currency, reference, amount, purchases)
|
32
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
33
|
+
#
|
34
|
+
# @return [FatZebra::Paypal::Order]
|
35
|
+
def charge(id, params, options = {})
|
36
|
+
valid!(params, :charge) if respond_to?(:valid!)
|
37
|
+
|
38
|
+
response = request(:post, resource_path("billing_agreements/#{id}/charge"), params, options)
|
39
|
+
FatZebra::Paypal::Order.initialize_from(response)
|
40
|
+
end
|
41
|
+
|
42
|
+
##
|
43
|
+
# Cancel a PayPal Billing Agreement
|
44
|
+
#
|
45
|
+
# @param [String] Billing Agreement id
|
46
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
47
|
+
#
|
48
|
+
# @return [FatZebra::BillingAgreement]
|
49
|
+
def cancel(id, options = {})
|
50
|
+
response = request(:post, resource_path("billing_agreements/#{id}/cancel"), {}, options)
|
51
|
+
initialize_from(response)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Capture
|
4
|
+
#
|
5
|
+
# Manage PayPal Captures
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
# * refund
|
10
|
+
#
|
11
|
+
module Paypal
|
12
|
+
class Capture < APIResource
|
13
|
+
include FatZebra::APIOperation::Find
|
14
|
+
include FatZebra::APIOperation::Search
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def base_path
|
18
|
+
super + '/paypal/'
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Refund a PayPal Capture
|
23
|
+
#
|
24
|
+
# @param [String] Capture id
|
25
|
+
# @param [Hash] params (amount, note_to_payer)
|
26
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
27
|
+
#
|
28
|
+
# @return [FatZebra::Paypal::Refund]
|
29
|
+
def refund(id, params = {}, options = {})
|
30
|
+
response = request(:post, resource_path("captures/#{id}/refund"), params, options)
|
31
|
+
FatZebra::Paypal::Refund.initialize_from(response)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Order
|
4
|
+
#
|
5
|
+
# Manage PayPal Orders
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
#
|
10
|
+
module Paypal
|
11
|
+
class Order < APIResource
|
12
|
+
include FatZebra::APIOperation::Find
|
13
|
+
include FatZebra::APIOperation::Search
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def base_path
|
17
|
+
super + '/paypal/'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Refund
|
4
|
+
#
|
5
|
+
# Manage PayPal Refunds
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
#
|
10
|
+
module Paypal
|
11
|
+
class Refund < APIResource
|
12
|
+
include FatZebra::APIOperation::Find
|
13
|
+
include FatZebra::APIOperation::Search
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def base_path
|
17
|
+
super + '/paypal/'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/fat_zebra/util.rb
CHANGED
data/lib/fat_zebra/version.rb
CHANGED
data/lib/fat_zebra.rb
CHANGED
@@ -28,6 +28,7 @@ require 'fat_zebra/api_operation/void'
|
|
28
28
|
require 'fat_zebra/purchase'
|
29
29
|
require 'fat_zebra/information'
|
30
30
|
require 'fat_zebra/card'
|
31
|
+
require 'fat_zebra/authenticate'
|
31
32
|
require 'fat_zebra/refund'
|
32
33
|
require 'fat_zebra/payment_plan'
|
33
34
|
require 'fat_zebra/customer'
|
@@ -37,6 +38,13 @@ require 'fat_zebra/bank_account'
|
|
37
38
|
require 'fat_zebra/web_hook'
|
38
39
|
require 'fat_zebra/batch'
|
39
40
|
|
41
|
+
# Paypal API Resources
|
42
|
+
require 'fat_zebra/paypal/billing_agreement'
|
43
|
+
require 'fat_zebra/paypal/order'
|
44
|
+
require 'fat_zebra/paypal/authorization'
|
45
|
+
require 'fat_zebra/paypal/capture'
|
46
|
+
require 'fat_zebra/paypal/refund'
|
47
|
+
|
40
48
|
##
|
41
49
|
# Implementation of the FatZebra
|
42
50
|
module FatZebra
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/credit_cards
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"card_holder":"Matthew Savage","card_number":"5123456789012346","card_expiry":"02/2030","cvv":123,"test":true}'
|
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
|
+
Authorization:
|
17
|
+
- Basic VEVTVDpURVNU
|
18
|
+
Content-Type:
|
19
|
+
- application/json
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Cache-Control:
|
26
|
+
- no-store
|
27
|
+
Pragma:
|
28
|
+
- no-cache
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
X-Request-Version:
|
32
|
+
- 1.21.8
|
33
|
+
X-Request-Id:
|
34
|
+
- f7428654f99c8a3fbf1ed11296c3c3ea
|
35
|
+
X-Runtime:
|
36
|
+
- '0.273223'
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: '{"successful":true,"response":{"token":"bybox0zptr3u8xuvtu7n","card_holder":"Matthew
|
42
|
+
Savage","card_number":"512345XXXXXX2346","card_expiry":"2030-02-28","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","card_issuer":"Banco
|
43
|
+
Del Pichincha, C.A.","card_country":"Ecuador","authorized":true,"transaction_count":0,"alias":null},"errors":[],"test":true}'
|
44
|
+
http_version:
|
45
|
+
recorded_at: Fri, 13 Dec 2019 03:37:01 GMT
|
46
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,90 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/credit_cards
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"card_holder":"Matthew Savage","card_number":"5123456789012346","card_expiry":"02/2030","cvv":123,"test":true}'
|
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
|
+
Authorization:
|
17
|
+
- Basic VEVTVDpURVNU
|
18
|
+
Content-Type:
|
19
|
+
- application/json
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Cache-Control:
|
26
|
+
- no-store
|
27
|
+
Pragma:
|
28
|
+
- no-cache
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
X-Request-Version:
|
32
|
+
- 1.21.8
|
33
|
+
X-Request-Id:
|
34
|
+
- 8c44198a31da27a6fbeb4287c2c275d6
|
35
|
+
X-Runtime:
|
36
|
+
- '0.285128'
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: '{"successful":true,"response":{"token":"n82ssle496z37qlb11je","card_holder":"Matthew
|
42
|
+
Savage","card_number":"512345XXXXXX2346","card_expiry":"2030-02-28","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","card_issuer":"Banco
|
43
|
+
Del Pichincha, C.A.","card_country":"Ecuador","authorized":true,"transaction_count":0,"alias":null},"errors":[],"test":true}'
|
44
|
+
http_version:
|
45
|
+
recorded_at: Fri, 13 Dec 2019 03:36:57 GMT
|
46
|
+
- request:
|
47
|
+
method: post
|
48
|
+
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
|
49
|
+
body:
|
50
|
+
encoding: UTF-8
|
51
|
+
string: '{"card_token":"n82ssle496z37qlb11je","amount":100,"currency":"AUD","customer_ip":"111.111.111.111","sca":{"type":"enrollment","merchant_reference_code":"c97f7619-fdb8-4030-90f4-382173011602","customer":{"address_1":"23
|
52
|
+
Smith Road","address_2":"North Shore","city":"Canberra","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","passport_number":"X1234567890","passport_country":"036","account_changed_at":"20191210","account_created_at":"20191210","account_password_changed_at":"20191210"},"shipping_address":{"address_1":"23
|
53
|
+
Smith Road","address_2":"North Shore","city":"Sydney","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","method":"pickup","destination_code":"01"},"custom":{"transaction_mode":"mobile","reference_id":"d8785a0516bca0a94e59799fd261b161","merchant_name":"TEST","merchant_new_customer":true,"preorder":1,"http_accept":"text/html","http_user_agent":"Mozilla/5.0
|
54
|
+
(Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0","recurring_end_date":"20201201","recurring_frequency":3,"recurring_original_purchase_date":"2019120112:00:00"},"items":[{"unit_price":23.3,"product_description":"Widgets","product_name":"Watch","quantity":1,"product_sku":"9999","passenger_first_name":"John","passenger_last_name":"Smith"}],"airline_data":{"legs":[{"carrier_code":"code","departure_date":"20221012","destination":"SYD","originating_airport_code":"MEL"}],"number_of_passengers":2,"passengers":[{"first_name":"John","last_name":"Smith"},{"first_name":"Megan","last_name":"Doe"}]}},"test":true}'
|
55
|
+
headers:
|
56
|
+
Accept-Encoding:
|
57
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
58
|
+
Accept:
|
59
|
+
- application/json
|
60
|
+
User-Agent:
|
61
|
+
- Ruby
|
62
|
+
Authorization:
|
63
|
+
- Basic VEVTVDpURVNU
|
64
|
+
Content-Type:
|
65
|
+
- application/json
|
66
|
+
response:
|
67
|
+
status:
|
68
|
+
code: 200
|
69
|
+
message: OK
|
70
|
+
headers:
|
71
|
+
Cache-Control:
|
72
|
+
- no-store
|
73
|
+
Pragma:
|
74
|
+
- no-cache
|
75
|
+
Content-Type:
|
76
|
+
- application/json; charset=utf-8
|
77
|
+
X-Request-Version:
|
78
|
+
- 1.21.8
|
79
|
+
X-Request-Id:
|
80
|
+
- 5accccc7eb848af457114753663984b2
|
81
|
+
X-Runtime:
|
82
|
+
- '3.697173'
|
83
|
+
Transfer-Encoding:
|
84
|
+
- chunked
|
85
|
+
body:
|
86
|
+
encoding: UTF-8
|
87
|
+
string: '{"successful":true,"response":{"action":{"proceed":false},"version":"1.0.2","enrolled":"U","acs_url":"","pareq":null,"pares":null,"xid":null,"eci":null,"cavv":null,"aav":null,"ucaf_collection_indicator":"0","authentication_path":"NOREDIRECT","authentication_result":null,"authentication_transaction_id":"y8otflT7BiRXgoTVLgr0","authentication_status_message":null,"card_bin":"512345","card_type_name":"MASTERCARD","commerce_indicator":"internet","proxy_pan":null,"currency":null,"request_id":"5762082191246265903009","request_token":"AxjzbwSTOFz0OB5eG2ehAAoCUaf/NLlIEg6cQkgoZNJMvRivpPBBCAAA9BJB","decision":"ACCEPT"},"errors":[],"test":true}'
|
88
|
+
http_version:
|
89
|
+
recorded_at: Fri, 13 Dec 2019 03:37:01 GMT
|
90
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,90 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/credit_cards
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"card_holder":"Matthew Savage","card_number":"5123456789012346","card_expiry":"02/2030","cvv":123,"test":true}'
|
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
|
+
Authorization:
|
17
|
+
- Basic VEVTVDpURVNU
|
18
|
+
Content-Type:
|
19
|
+
- application/json
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Cache-Control:
|
26
|
+
- no-store
|
27
|
+
Pragma:
|
28
|
+
- no-cache
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
X-Request-Version:
|
32
|
+
- 1.21.8
|
33
|
+
X-Request-Id:
|
34
|
+
- 777b3cb15421d6f4395eadba9a84ed0a
|
35
|
+
X-Runtime:
|
36
|
+
- '0.289329'
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: '{"successful":true,"response":{"token":"nemo83vwzemhe7sujaoq","card_holder":"Matthew
|
42
|
+
Savage","card_number":"512345XXXXXX2346","card_expiry":"2030-02-28","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","card_issuer":"Banco
|
43
|
+
Del Pichincha, C.A.","card_country":"Ecuador","authorized":true,"transaction_count":0,"alias":null},"errors":[],"test":true}'
|
44
|
+
http_version:
|
45
|
+
recorded_at: Fri, 13 Dec 2019 04:49:26 GMT
|
46
|
+
- request:
|
47
|
+
method: post
|
48
|
+
uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
|
49
|
+
body:
|
50
|
+
encoding: UTF-8
|
51
|
+
string: '{"card_token":"nemo83vwzemhe7sujaoq","amount":100,"currency":"AUD","customer_ip":"111.111.111.111","sca":{"type":"enrollment","merchant_reference_code":"fa0ced89-96e6-499c-a348-77262f72243f","customer":{"address_1":"23
|
52
|
+
Smith Road","address_2":"North Shore","city":"Canberra","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","passport_number":"X1234567890","passport_country":"036","account_changed_at":"20191210","account_created_at":"20191210","account_password_changed_at":"20191210"},"shipping_address":{"address_1":"23
|
53
|
+
Smith Road","address_2":"North Shore","city":"Sydney","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","method":"pickup","destination_code":"01"},"custom":{"transaction_mode":"mobile","reference_id":"86a1d1afa4e37514362e764a324c32d5","merchant_name":"TEST","merchant_new_customer":true,"preorder":1,"http_accept":"text/html","http_user_agent":"Mozilla/5.0
|
54
|
+
(Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0","recurring_end_date":"20201201","recurring_frequency":3,"recurring_original_purchase_date":"2019120112:00:00"},"items":[{"unit_price":23.3,"product_description":"Widgets","product_name":"Watch","quantity":1,"product_sku":"9999","passenger_first_name":"John","passenger_last_name":"Smith"}],"airline_data":{"legs":[{"carrier_code":"code","departure_date":"20221012","destination":"SYD","originating_airport_code":"MEL"}],"number_of_passengers":2,"passengers":[{"first_name":"John","last_name":"Smith"},{"first_name":"Megan","last_name":"Doe"}]}},"test":true}'
|
55
|
+
headers:
|
56
|
+
Accept-Encoding:
|
57
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
58
|
+
Accept:
|
59
|
+
- application/json
|
60
|
+
User-Agent:
|
61
|
+
- Ruby
|
62
|
+
Authorization:
|
63
|
+
- Basic VEVTVDpURVNU
|
64
|
+
Content-Type:
|
65
|
+
- application/json
|
66
|
+
response:
|
67
|
+
status:
|
68
|
+
code: 200
|
69
|
+
message: OK
|
70
|
+
headers:
|
71
|
+
Cache-Control:
|
72
|
+
- no-store
|
73
|
+
Pragma:
|
74
|
+
- no-cache
|
75
|
+
Content-Type:
|
76
|
+
- application/json; charset=utf-8
|
77
|
+
X-Request-Version:
|
78
|
+
- 1.21.8
|
79
|
+
X-Request-Id:
|
80
|
+
- 9dc35f223ee70cd8aa7ab810d108c75b
|
81
|
+
X-Runtime:
|
82
|
+
- '2.737110'
|
83
|
+
Transfer-Encoding:
|
84
|
+
- chunked
|
85
|
+
body:
|
86
|
+
encoding: UTF-8
|
87
|
+
string: '{"successful":true,"response":{"action":{"proceed":false},"version":"1.0.2","enrolled":"U","acs_url":"","pareq":null,"pares":null,"xid":null,"eci":null,"cavv":null,"aav":null,"ucaf_collection_indicator":"0","authentication_path":"NOREDIRECT","authentication_result":null,"authentication_transaction_id":"2dG79305l1LXQyVfnHf0","authentication_status_message":null,"card_bin":"512345","card_type_name":"MASTERCARD","commerce_indicator":"internet","proxy_pan":null,"currency":null,"request_id":"5762125682936018703010","request_token":"AxjzbwSTOF2Ou5R8gRKiAAoCUaf/NUVOEg6cQkgoZNJMvRivpPBBCAAA9BJB","decision":"ACCEPT"},"errors":[],"test":true}'
|
88
|
+
http_version:
|
89
|
+
recorded_at: Fri, 13 Dec 2019 04:49:29 GMT
|
90
|
+
recorded_with: VCR 3.0.3
|