fat_zebra 2.0.0 → 2.0.1
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 +6 -14
- data/.travis.yml +1 -2
- data/FatZebra.gemspec +1 -2
- data/README.markdown +1 -1
- data/lib/fat_zebra/models/card.rb +8 -5
- data/lib/fat_zebra/models/purchase.rb +42 -13
- data/lib/fat_zebra/version.rb +1 -1
- metadata +5 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
N2RkZTcyYzliMTA1MmE5NzY5OGMwMzliYzZmYjFlOTczM2ZmYjNiNzE4NjJl
|
10
|
-
YmViZTgwN2ZkNTNiN2RhOWExMmNmN2IzZTRkZGM0YzY3OWViNzRkNWFkZjQx
|
11
|
-
MmI3ZTFhZjk2ODJhYWU3MWJhNjUzNGJmODFiMGU4MmU1MTU3MTE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MjQ2NzA2N2ViNzI0YzQzYmJkNWQ0Mzc2MmFhMGJjZTE2NTFhZDY4YzMyNDI3
|
14
|
-
OWY1MjFjOTBhNGNhNjA2NDQ4Mjg0ZGQ3ODM4ZjM5ZTJjNTBjYTE3NjIxOGZj
|
15
|
-
MjI4NzY2M2JjM2M3NGI4MDg2OWFhOGE4YzEzNDVjMTBiNWM0NjM=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 55ba03265cbd6993f4e0475096a419470df20121
|
4
|
+
data.tar.gz: 9f346b14d906f734c0af030407628107052e7352
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e9c0d698fd0bdb5664e2de293889e22a1acbd8dc8db63aae2eba432c3eedc99c5bd69555674ff837ba817276cc1ee64b2b6e75955cc4d6b45b46d47ff4f5d061
|
7
|
+
data.tar.gz: c1d213469e4fe0fb069484b37a27aa97229d64fd7078227903ffea27e20d6d3ca4883f9680f2e08f1270df2479cb74533e15199d65d824a5ddb1efa2db480f3e
|
data/.travis.yml
CHANGED
data/FatZebra.gemspec
CHANGED
@@ -23,10 +23,9 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_development_dependency "rake"
|
24
24
|
s.add_development_dependency "yard"
|
25
25
|
s.add_development_dependency "yard-tomdoc"
|
26
|
-
s.add_development_dependency "ZenTest"
|
27
26
|
|
28
27
|
|
29
28
|
s.add_runtime_dependency "rest-client"
|
30
29
|
s.add_runtime_dependency "json"
|
31
|
-
s.add_runtime_dependency "activesupport"
|
30
|
+
s.add_runtime_dependency "activesupport", ">= 3.2"
|
32
31
|
end
|
data/README.markdown
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module FatZebra
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
module Models
|
3
|
+
class Card < Base
|
4
|
+
attribute :token, :card_holder, :card_number, :card_expiry, :transaction_count, :raw
|
5
5
|
|
6
6
|
def successful; true; end
|
7
7
|
|
@@ -12,9 +12,10 @@ module FatZebra
|
|
12
12
|
# @param [String] the card number
|
13
13
|
# @param [String] the credit card expiry date (mm/yyyy)
|
14
14
|
# @param [String] the card CVV
|
15
|
+
# @param [Hash] optional any additional data which should be merged into the request
|
15
16
|
#
|
16
17
|
# @return Response
|
17
|
-
def create(card_holder, card_number, expiry, cvv)
|
18
|
+
def create(card_holder, card_number, expiry, cvv, optional = {})
|
18
19
|
params = {
|
19
20
|
:card_holder => card_holder,
|
20
21
|
:card_number => card_number,
|
@@ -22,10 +23,12 @@ module FatZebra
|
|
22
23
|
:cvv => cvv
|
23
24
|
}
|
24
25
|
|
26
|
+
params.merge!(optional)
|
27
|
+
|
25
28
|
response = FatZebra.gateway.make_request(:post, "credit_cards", params)
|
26
29
|
Response.new(response, :card)
|
27
30
|
end
|
28
31
|
end
|
29
|
-
|
32
|
+
end
|
30
33
|
end
|
31
34
|
end
|
@@ -1,9 +1,10 @@
|
|
1
1
|
module FatZebra
|
2
2
|
module Models
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
class Purchase < Base
|
4
|
+
attribute :id, :amount, :reference, :message, :authorization, :transaction_id, :card_number,
|
5
|
+
:card_holder, :card_expiry, :authorized, :successful, :card_token, :currency, :raw, :captured,
|
6
|
+
:response_code, :rrn, :cvv_match, :fraud_result, :fraud_messages
|
7
|
+
|
7
8
|
# Refunds the current transaction
|
8
9
|
#
|
9
10
|
# @param [Integer] the amount to be refunded
|
@@ -14,6 +15,32 @@ module FatZebra
|
|
14
15
|
Refund.create(self.id, amount, reference)
|
15
16
|
end
|
16
17
|
|
18
|
+
# Returns the record as a Hash
|
19
|
+
#
|
20
|
+
# @return [Hash]
|
21
|
+
def to_hash
|
22
|
+
{
|
23
|
+
id: self.id,
|
24
|
+
amount: self.amount,
|
25
|
+
reference: self.reference,
|
26
|
+
message: self.message,
|
27
|
+
authorization: self.authorization,
|
28
|
+
card_number: self.card_number,
|
29
|
+
card_holder: self.card_holder,
|
30
|
+
card_expiry: self.card_expiry,
|
31
|
+
card_token: self.card_token,
|
32
|
+
currency: self.currency,
|
33
|
+
authorized: self.authorized,
|
34
|
+
successful: self.successful,
|
35
|
+
captured: self.captured,
|
36
|
+
response_code: self.response_code,
|
37
|
+
cvv_match: self.cvv_match,
|
38
|
+
rrn: self.rrn,
|
39
|
+
fraud_result: self.fraud_result,
|
40
|
+
fraud_messages: self.fraud_messages
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
17
44
|
class << self
|
18
45
|
# Performs a purchase transaction against the gateway
|
19
46
|
#
|
@@ -26,9 +53,10 @@ module FatZebra
|
|
26
53
|
# @param [String] a reference for the purchase
|
27
54
|
# @param [String] the customers IP address (for fraud prevention)
|
28
55
|
# @param [String] currency code ("AUD", "USD", etc)
|
56
|
+
# @param [Hash] optional any optional parameters to be included in the payload
|
29
57
|
#
|
30
58
|
# @return [Response] response (purchase) object
|
31
|
-
def create(amount, card_data, reference, customer_ip, currency = "AUD")
|
59
|
+
def create(amount, card_data, reference, customer_ip, currency = "AUD", optional = {})
|
32
60
|
params = {
|
33
61
|
:amount => amount,
|
34
62
|
:card_holder => card_data.delete(:card_holder),
|
@@ -43,6 +71,7 @@ module FatZebra
|
|
43
71
|
|
44
72
|
params.delete_if {|key, value| value.nil? } # If token is nil, remove, otherwise, remove card values
|
45
73
|
validate_params!(params)
|
74
|
+
params.merge!(optional)
|
46
75
|
response = FatZebra.gateway.make_request(:post, "purchases", params)
|
47
76
|
Response.new(response)
|
48
77
|
end
|
@@ -50,13 +79,13 @@ module FatZebra
|
|
50
79
|
# Retrieves purchases specified by the options hash
|
51
80
|
#
|
52
81
|
# @param [Hash] options for lookup
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
#
|
58
|
-
#
|
59
|
-
#
|
82
|
+
# @option options [String] id the unique purchase ID
|
83
|
+
# @option options [String] reference the merchant reference
|
84
|
+
# @option options [DateTime] from the start date to search from
|
85
|
+
# @option options [DateTime] to the end date time to search to
|
86
|
+
# @option options [Integer] offset the start page for pagination
|
87
|
+
# @option options [Integer] limit the maximum number of records to return in the query. Maximum 10
|
88
|
+
#
|
60
89
|
# @return [Array<Purchase>] array of purchases
|
61
90
|
def find(options = {})
|
62
91
|
id = options.delete(:id)
|
@@ -123,6 +152,6 @@ module FatZebra
|
|
123
152
|
raise FatZebra::RequestError.new("The following errors prevent the transaction from being submitted: #{@errors.to_sentence}") if @errors.any?
|
124
153
|
end
|
125
154
|
end
|
126
|
-
|
155
|
+
end
|
127
156
|
end
|
128
157
|
end
|
data/lib/fat_zebra/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fat_zebra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Savage
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: ZenTest
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ! '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ! '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rest-client
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +100,14 @@ dependencies:
|
|
114
100
|
requirements:
|
115
101
|
- - ! '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
103
|
+
version: '3.2'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
108
|
- - ! '>='
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
110
|
+
version: '3.2'
|
125
111
|
description: Provides integration with the Fat Zebra internet payment gateway (www.fatzebra.com.au),
|
126
112
|
including purchase, refund, auth, capture and recurring billing functionality.
|
127
113
|
email:
|
@@ -174,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
160
|
version: '0'
|
175
161
|
requirements: []
|
176
162
|
rubyforge_project: fat_zebra
|
177
|
-
rubygems_version: 2.
|
163
|
+
rubygems_version: 2.2.2
|
178
164
|
signing_key:
|
179
165
|
specification_version: 4
|
180
166
|
summary: Fat Zebra payments gem - integrate your ruby app with Fat Zebra
|