paytrace 0.1.15 → 0.1.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/paytrace/transaction.rb +9 -0
- data/lib/paytrace/version.rb +1 -1
- data/test/paytrace/transaction_spec.rb +27 -0
- data/test/scripts/run_settle_transaction.rb +18 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c24369bccca3d21f97f62554d1d04382bb300dc
|
4
|
+
data.tar.gz: 87a67ae201eaec2984fecf87669f39ce94243f98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 522c094a24fc50f1806f2de2ad09535f0039f91f5d72a59d04e034c97202631d0100655a1bdf7d432eff4ac0e609ecd8c36d5ae0e005b564b1335bcc7ff03381
|
7
|
+
data.tar.gz: 9ce05c2a29b8283364361e7b0dffa6f901af27249a645f415824d9b752562a83648452afdfd3ef5ad36d4c5d87b2da45ba1966fa1238c19a3dbc3ae8294b66b5
|
data/lib/paytrace/transaction.rb
CHANGED
@@ -92,6 +92,7 @@ module PayTrace
|
|
92
92
|
CALCULATE_SHIPPING_COST_RESPONSE = "SHIPPINGRECORD"
|
93
93
|
LEVEL_3_VISA_METHOD = "Level3Visa"
|
94
94
|
LEVEL_3_MC_METHOD = "Level3MCRD"
|
95
|
+
SETTLE_TRANSACTION_METHOD = "SettleTranx"
|
95
96
|
|
96
97
|
def set_shipping_same_as_billing()
|
97
98
|
@shipping_address = @billing_address
|
@@ -231,6 +232,14 @@ module PayTrace
|
|
231
232
|
end
|
232
233
|
end
|
233
234
|
|
235
|
+
def self.settle_transaction(params = {})
|
236
|
+
request = PayTrace::API::Request.new
|
237
|
+
request.set_param(:method, SETTLE_TRANSACTION_METHOD)
|
238
|
+
request.set_params([:recur_id, :customer_id], params)
|
239
|
+
gateway = PayTrace::API::Gateway.new
|
240
|
+
gateway.send_request(request)
|
241
|
+
end
|
242
|
+
|
234
243
|
private
|
235
244
|
def add_transaction_info(request)
|
236
245
|
request.set_param(:transaction_type, type)
|
data/lib/paytrace/version.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '../../test_helper.rb')
|
2
2
|
|
3
3
|
describe PayTrace::Transaction do
|
4
|
+
def base_url
|
5
|
+
"UN~#{PayTrace.configuration.user_name}|PSWD~#{PayTrace.configuration.password}|TERMS~Y|"
|
6
|
+
end
|
7
|
+
|
4
8
|
it "exports transaction(s)" do
|
5
9
|
PayTrace::API::Gateway.debug = true
|
6
10
|
PayTrace::API::Gateway.next_response = "TRANSACTIONRECORD~TRANXID=1143"
|
@@ -42,6 +46,29 @@ describe PayTrace::Transaction do
|
|
42
46
|
result[0]['SHIPPINGCOMPANY'].must_equal "USPS"
|
43
47
|
end
|
44
48
|
|
49
|
+
|
50
|
+
it "can settle a transaction by recurrence ID" do
|
51
|
+
PayTrace::API::Gateway.debug = true
|
52
|
+
PayTrace::API::Gateway.next_response = "SHIPPINGRECORD~SHIPPINGCOMPANY=USPS+SHIPPINGMETHOD=STANDARD POST+SHIPPINGRATE=12.72|"
|
53
|
+
params = {
|
54
|
+
# UN, PSWD, TERMS, METHOD, RECURID
|
55
|
+
recur_id: 12345
|
56
|
+
}
|
57
|
+
result = PayTrace::Transaction.settle_transaction(params)
|
58
|
+
PayTrace::API::Gateway.last_request.must_equal base_url + "METHOD~SettleTranx|RECURID~12345|"
|
59
|
+
end
|
60
|
+
|
61
|
+
it "can settle a transaction by customer ID" do
|
62
|
+
PayTrace::API::Gateway.debug = true
|
63
|
+
PayTrace::API::Gateway.next_response = "SHIPPINGRECORD~SHIPPINGCOMPANY=USPS+SHIPPINGMETHOD=STANDARD POST+SHIPPINGRATE=12.72|"
|
64
|
+
params = {
|
65
|
+
# UN, PSWD, TERMS, METHOD, RECURID
|
66
|
+
customer_id: 12346
|
67
|
+
}
|
68
|
+
result = PayTrace::Transaction.settle_transaction(params)
|
69
|
+
PayTrace::API::Gateway.last_request.must_equal base_url + "METHOD~SettleTranx|CUSTID~12346|"
|
70
|
+
end
|
71
|
+
|
45
72
|
describe "create sales transactions" do
|
46
73
|
before do
|
47
74
|
@response = mock()
|
@@ -0,0 +1,18 @@
|
|
1
|
+
$:<< "./lib" # uncomment this to run against a Git clone instead of an installed gem
|
2
|
+
|
3
|
+
require "paytrace"
|
4
|
+
require "paytrace/debug"
|
5
|
+
|
6
|
+
PayTrace::Debug.configure_test
|
7
|
+
|
8
|
+
# settle a transaction via a recurrence ID
|
9
|
+
PayTrace::Debug.trace do
|
10
|
+
params = { recur_id: "1143" } # you must replace this with a valid recurrence ID!
|
11
|
+
PayTrace::Transaction.settle_transaction(params)
|
12
|
+
end
|
13
|
+
|
14
|
+
# settle a transaction via a customer ID
|
15
|
+
PayTrace::Debug.trace do
|
16
|
+
params = { customer_id: "1143" } # you must replace this with a valid customer ID!
|
17
|
+
PayTrace::Transaction.settle_transaction(params)
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paytrace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trevor Redfern
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -148,6 +148,7 @@ files:
|
|
148
148
|
- test/scripts/run_export_transactions.rb
|
149
149
|
- test/scripts/run_level3_data.rb
|
150
150
|
- test/scripts/run_recur_payments_integration.rb
|
151
|
+
- test/scripts/run_settle_transaction.rb
|
151
152
|
- test/scripts/smiley_face.png
|
152
153
|
- test/test_helper.rb
|
153
154
|
- vagrant-bootstrap.sh
|
@@ -171,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
172
|
version: '0'
|
172
173
|
requirements: []
|
173
174
|
rubyforge_project:
|
174
|
-
rubygems_version: 2.2.
|
175
|
+
rubygems_version: 2.2.0
|
175
176
|
signing_key:
|
176
177
|
specification_version: 4
|
177
178
|
summary: Integration providing access to the transaction processing API for PayTrace
|
@@ -198,5 +199,6 @@ test_files:
|
|
198
199
|
- test/scripts/run_export_transactions.rb
|
199
200
|
- test/scripts/run_level3_data.rb
|
200
201
|
- test/scripts/run_recur_payments_integration.rb
|
202
|
+
- test/scripts/run_settle_transaction.rb
|
201
203
|
- test/scripts/smiley_face.png
|
202
204
|
- test/test_helper.rb
|