paytrace 0.1.15 → 0.1.16
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/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
|