spook_and_pay 0.2.5.alpha → 0.2.6.alpha
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b1ff796137c7a459d6b8757e56e8c9ea52b76e3
|
4
|
+
data.tar.gz: 8b3dc5f18685220533a8718177c945f0ba7eaa76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 168c68ae8c2a3fe771938fe39dc87d06134d83494ec9e863a0a2e0f91d795b2f6d3f15f57833c3277df9f2b1e7705a1182b7bf22b3858c94611def2482f33c8c
|
7
|
+
data.tar.gz: bdf338598dcc6f21327bad76f9c87b91e6b28dd9c7e288ae5ddaca8dfe8133580177935b0265b4fdf55b5d6abf34b0657142b748c681c5dcff6296b5774c4c46
|
@@ -132,6 +132,15 @@ module SpookAndPay
|
|
132
132
|
raise NotImplementedError
|
133
133
|
end
|
134
134
|
|
135
|
+
# Checks to see if voiding is supported. This is dependent on the payment
|
136
|
+
# provider. The default implementation simply returns true. Specific
|
137
|
+
# implementations should over-ride this method.
|
138
|
+
#
|
139
|
+
# @return [true, false]
|
140
|
+
def supports_void?
|
141
|
+
true
|
142
|
+
end
|
143
|
+
|
135
144
|
# Voids an authorization.
|
136
145
|
#
|
137
146
|
# This should not be called directly. Instead, use the #void! method
|
@@ -108,6 +108,19 @@ module SpookAndPay
|
|
108
108
|
coerce_result(result)
|
109
109
|
end
|
110
110
|
|
111
|
+
# This is a nasty little trick that makes the spreedly gateway class
|
112
|
+
# store the characteristics XML fragment from the server.
|
113
|
+
#
|
114
|
+
# @todo In later versions this might not be necessary. When updating the
|
115
|
+
# spreedly gem, check it.
|
116
|
+
::Spreedly::Gateway.send(:field, :characteristics)
|
117
|
+
|
118
|
+
def supports_void?
|
119
|
+
gateway = spreedly.find_gateway(gateway_token)
|
120
|
+
node = Nokogiri::XML::DocumentFragment.parse(gateway.characteristics)
|
121
|
+
node.xpath(".//supports_void").inner_html.strip == 'true'
|
122
|
+
end
|
123
|
+
|
111
124
|
def authorize_via_credit_card(id, amount)
|
112
125
|
result = spreedly.authorize_on_gateway(gateway_token, credit_card_id(id), amount.to_f * 100)
|
113
126
|
coerce_result(result)
|
@@ -112,7 +112,7 @@ module SpookAndPay
|
|
112
112
|
#
|
113
113
|
# @return [true, false]
|
114
114
|
def can_void?
|
115
|
-
status == :authorized or status == :settling
|
115
|
+
(status == :authorized or status == :settling) and provider.supports_void?
|
116
116
|
end
|
117
117
|
|
118
118
|
# Refunds the transaction. The related credit card will be credited for
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spook_and_pay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6.alpha
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Sutton
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-12-
|
12
|
+
date: 2013-12-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: braintree
|