paytrace 0.1.16 → 0.1.17
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.rb +1 -0
- data/lib/paytrace/api/fields.rb +2 -1
- data/lib/paytrace/api/gateway.rb +7 -0
- data/lib/paytrace/transaction.rb +10 -0
- data/lib/paytrace/version.rb +1 -1
- data/test/paytrace/transaction_spec.rb +14 -6
- data/test/scripts/run_adjust_amount.rb +16 -0
- data/test/scripts/run_attach_signature.rb +2 -1
- data/test/scripts/run_calculate_shipping_costs.rb +2 -1
- data/test/scripts/run_create_customer.rb +2 -1
- data/test/scripts/run_email_request.rb +2 -1
- data/test/scripts/run_export_customers.rb +2 -1
- data/test/scripts/run_export_transactions.rb +2 -1
- data/test/scripts/run_level3_data.rb +7 -7
- data/test/scripts/run_recur_payments_integration.rb +2 -1
- data/test/scripts/run_settle_transaction.rb +2 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84816713c530841342b09d6e6c0ad0ab9a3c76d9
|
4
|
+
data.tar.gz: 630093f3288af7c1a4c65d910e653e71aea91681
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ad0fbbb6664dbcb5823bdd805df339c3df2c8727880debe19d5ef0d4b3a3bb75081f17536f08914c2c1afba3ed10976fcb2176e890f6187df4c8a0ee40cee06
|
7
|
+
data.tar.gz: 03ae07044bfded8fa0c63a55ec23cbeaacf04f43198543093e0c2fa7a4b62f6fa4eb34d1c060ccd4e94a36e2945be345c3c8ee4588ef4770998c6315587a776a
|
data/lib/paytrace.rb
CHANGED
data/lib/paytrace/api/fields.rb
CHANGED
@@ -89,9 +89,10 @@ module PayTrace
|
|
89
89
|
id_number:"PHOTOID",
|
90
90
|
id_expiration:"IDEXP",
|
91
91
|
cc_last_4:"LAST4",
|
92
|
-
#bank accounts
|
92
|
+
#bank accounts/checks
|
93
93
|
account_number:"DDA",
|
94
94
|
routing_number:"TR",
|
95
|
+
check_type: "CHECKTYPE",
|
95
96
|
#recurring transactions
|
96
97
|
recur_id: "RECURID",
|
97
98
|
recur_frequency: "FREQUENCY",
|
data/lib/paytrace/api/gateway.rb
CHANGED
data/lib/paytrace/transaction.rb
CHANGED
@@ -93,6 +93,7 @@ module PayTrace
|
|
93
93
|
LEVEL_3_VISA_METHOD = "Level3Visa"
|
94
94
|
LEVEL_3_MC_METHOD = "Level3MCRD"
|
95
95
|
SETTLE_TRANSACTION_METHOD = "SettleTranx"
|
96
|
+
ADJUST_AMOUNT_METHOD = "AdjustAmount"
|
96
97
|
|
97
98
|
def set_shipping_same_as_billing()
|
98
99
|
@shipping_address = @billing_address
|
@@ -240,6 +241,15 @@ module PayTrace
|
|
240
241
|
gateway.send_request(request)
|
241
242
|
end
|
242
243
|
|
244
|
+
def self.adjust_amount(params = {})
|
245
|
+
request = PayTrace::API::Request.new
|
246
|
+
request.set_param(:method, ADJUST_AMOUNT_METHOD)
|
247
|
+
request.set_param(:transaction_id, params[:transaction_id])
|
248
|
+
request.set_param(:amount, params[:amount])
|
249
|
+
gateway = PayTrace::API::Gateway.new
|
250
|
+
gateway.send_request(request)
|
251
|
+
end
|
252
|
+
|
243
253
|
private
|
244
254
|
def add_transaction_info(request)
|
245
255
|
request.set_param(:transaction_type, type)
|
data/lib/paytrace/version.rb
CHANGED
@@ -5,8 +5,12 @@ describe PayTrace::Transaction do
|
|
5
5
|
"UN~#{PayTrace.configuration.user_name}|PSWD~#{PayTrace.configuration.password}|TERMS~Y|"
|
6
6
|
end
|
7
7
|
|
8
|
-
|
8
|
+
before do
|
9
9
|
PayTrace::API::Gateway.debug = true
|
10
|
+
PayTrace::API::Gateway.reset_trace()
|
11
|
+
end
|
12
|
+
|
13
|
+
it "exports transaction(s)" do
|
10
14
|
PayTrace::API::Gateway.next_response = "TRANSACTIONRECORD~TRANXID=1143"
|
11
15
|
records = PayTrace::Transaction.export({transaction_id: 1143})
|
12
16
|
records.must_be_instance_of Array
|
@@ -16,21 +20,18 @@ describe PayTrace::Transaction do
|
|
16
20
|
end
|
17
21
|
|
18
22
|
it "successfully attaches base-64 encoded signatures to transactions" do
|
19
|
-
PayTrace::API::Gateway.debug = true
|
20
23
|
PayTrace::API::Gateway.next_response = "RESPONSE~172. The signature image was successfully attached to Transaction ID 13192003.|"
|
21
24
|
result = PayTrace::Transaction.attach_signature({transaction_id: 13192003, image_data: "foo", image_type: "png"})
|
22
25
|
result.has_errors?.must_equal false
|
23
26
|
end
|
24
27
|
|
25
28
|
it "successfully attaches image files to transactions" do
|
26
|
-
PayTrace::API::Gateway.debug = true
|
27
29
|
PayTrace::API::Gateway.next_response = "RESPONSE~172. The signature image was successfully attached to Transaction ID 13192003.|"
|
28
30
|
result = PayTrace::Transaction.attach_signature({transaction_id: 13192003, image_file: __FILE__, image_type: "png"})
|
29
31
|
result.has_errors?.must_equal false
|
30
32
|
end
|
31
33
|
|
32
34
|
it "calculates shipping costs" do
|
33
|
-
PayTrace::API::Gateway.debug = true
|
34
35
|
PayTrace::API::Gateway.next_response = "SHIPPINGRECORD~SHIPPINGCOMPANY=USPS+SHIPPINGMETHOD=STANDARD POST+SHIPPINGRATE=12.72|"
|
35
36
|
params = {
|
36
37
|
#UN, PSWD, TERMS, METHOD, SOURCEZIP, SOURCESTATE, SZIP, WEIGHT, SHIPPERS, SSTATE
|
@@ -46,9 +47,17 @@ describe PayTrace::Transaction do
|
|
46
47
|
result[0]['SHIPPINGCOMPANY'].must_equal "USPS"
|
47
48
|
end
|
48
49
|
|
50
|
+
it "can adjust a transaction" do
|
51
|
+
PayTrace::API::Gateway.next_response = "SHIPPINGRECORD~SHIPPINGCOMPANY=USPS+SHIPPINGMETHOD=STANDARD POST+SHIPPINGRATE=12.72|"
|
52
|
+
params = {
|
53
|
+
transaction_id: 1234,
|
54
|
+
amount: 9.87
|
55
|
+
}
|
56
|
+
result = PayTrace::Transaction.adjust_amount(params)
|
57
|
+
PayTrace::API::Gateway.last_request.must_equal base_url + "METHOD~AdjustAmount|TRANXID~1234|AMOUNT~9.87|"
|
58
|
+
end
|
49
59
|
|
50
60
|
it "can settle a transaction by recurrence ID" do
|
51
|
-
PayTrace::API::Gateway.debug = true
|
52
61
|
PayTrace::API::Gateway.next_response = "SHIPPINGRECORD~SHIPPINGCOMPANY=USPS+SHIPPINGMETHOD=STANDARD POST+SHIPPINGRATE=12.72|"
|
53
62
|
params = {
|
54
63
|
# UN, PSWD, TERMS, METHOD, RECURID
|
@@ -59,7 +68,6 @@ describe PayTrace::Transaction do
|
|
59
68
|
end
|
60
69
|
|
61
70
|
it "can settle a transaction by customer ID" do
|
62
|
-
PayTrace::API::Gateway.debug = true
|
63
71
|
PayTrace::API::Gateway.next_response = "SHIPPINGRECORD~SHIPPINGCOMPANY=USPS+SHIPPINGMETHOD=STANDARD POST+SHIPPINGRATE=12.72|"
|
64
72
|
params = {
|
65
73
|
# UN, PSWD, TERMS, METHOD, RECURID
|
@@ -0,0 +1,16 @@
|
|
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
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
8
|
+
|
9
|
+
PayTrace::Debug.trace do
|
10
|
+
params = {
|
11
|
+
# this must be a valid transaction ID for the credentials supplied
|
12
|
+
transaction_id: 1131,
|
13
|
+
amount: 4.01
|
14
|
+
}
|
15
|
+
PayTrace::Transaction::adjust_amount(params)
|
16
|
+
end
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
# see: http://help.paytrace.com/api-email-receipt for details
|
9
10
|
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
PayTrace::Debug.trace do
|
9
10
|
params = {
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
# this should be a valid credit card number (it can be a "sandbox" number, however)
|
9
10
|
cc = PayTrace::CreditCard.new({
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
PayTrace::Debug.trace do
|
9
10
|
e = PayTrace::EmailReceiptRequest.new({email: "support@paytrace.com", check_id: "62" })
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
# this should dump out a wall of text...
|
9
10
|
PayTrace::Debug.trace { puts PayTrace::Customer.export() }
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
PayTrace::API::Gateway.debug = true
|
9
10
|
|
@@ -3,11 +3,13 @@ $:<< "./lib" # uncomment this to run against a Git clone instead of an installed
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
9
|
+
# This is testing the Level 3 data addition for Visa transactions
|
8
10
|
PayTrace::Debug.trace do
|
9
11
|
params = {
|
10
|
-
transaction_id: "
|
12
|
+
transaction_id: "1448",
|
11
13
|
invoice: "12346",
|
12
14
|
customer_reference_id: "1234578",
|
13
15
|
tax_amount: 31.76,
|
@@ -54,19 +56,17 @@ PayTrace::Debug.trace do
|
|
54
56
|
PayTrace::Transaction.add_level_three_visa(params)
|
55
57
|
end
|
56
58
|
|
57
|
-
#
|
58
|
-
# [REQUEST] UN~demo123|PSWD~demo123|TERMS~Y|METHOD~Level3MCRD|TRANXID~1399|INVOICE~12347|CUSTREF~1234579|TAX~31.78|NTAX~0.01|FREIGHT~7.98|DUTY~6.51|SOURCEZIP~94948|SZIP~98134|SCOUNTRY~US|ADDTAX~4.54|ADDTAXIND~Y|LINEITEM~PRODUCTID=E123126+DESCRIPTION=Wadgets and wudgets+QUANTITY=21+MEASURE=food+MERCHANTTAXID=13699468+UNITCOST=3.98+ADDTAXRATELI=0.45+ADDTAXINDLI=Y+ADDTAXLI=3.82+DISCOUNTIND=Y+AMOUNTLI=6+NETGROSSIND=Y+DCIND=D+DISCOUNTLI=1.86+DISCOUNTRATE=0.10|
|
59
|
+
# This is testing the Level 3 data addition for Mastercard transactions
|
59
60
|
|
60
|
-
PayTrace::Debug.configure_test("NEWapiuser", "test456")
|
61
61
|
PayTrace::Debug.trace do
|
62
62
|
params = {
|
63
|
-
transaction_id: "
|
63
|
+
transaction_id: "1448",
|
64
64
|
invoice: "12347",
|
65
65
|
customer_reference_id: "1234579",
|
66
66
|
tax_amount: 31.78,
|
67
67
|
national_tax: 0.01,
|
68
68
|
freight: 7.98,
|
69
|
-
duty: 6.51,
|
69
|
+
# duty: 6.51,
|
70
70
|
source_zip: "94948",
|
71
71
|
shipping_postal_code: "98134",
|
72
72
|
shipping_country: "US",
|
@@ -3,7 +3,8 @@
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
# this should be a valid credit card number (it can be a "sandbox" number, however)
|
9
10
|
cc = PayTrace::CreditCard.new({
|
@@ -3,7 +3,8 @@ $:<< "./lib" # uncomment this to run against a Git clone instead of an installed
|
|
3
3
|
require "paytrace"
|
4
4
|
require "paytrace/debug"
|
5
5
|
|
6
|
-
|
6
|
+
# change this as needed to reflect the username, password, and test host you're testing against
|
7
|
+
PayTrace::Debug.configure_test("demo123", "demo123", "stage.paytrace.com")
|
7
8
|
|
8
9
|
# settle a transaction via a recurrence ID
|
9
10
|
PayTrace::Debug.trace do
|
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.17
|
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-
|
11
|
+
date: 2014-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -139,6 +139,7 @@ files:
|
|
139
139
|
- test/paytrace/level3_data_spec.rb
|
140
140
|
- test/paytrace/recurring_transaction_spec.rb
|
141
141
|
- test/paytrace/transaction_spec.rb
|
142
|
+
- test/scripts/run_adjust_amount.rb
|
142
143
|
- test/scripts/run_attach_signature.rb
|
143
144
|
- test/scripts/run_calculate_shipping_costs.rb
|
144
145
|
- test/scripts/run_change_password.rb
|
@@ -190,6 +191,7 @@ test_files:
|
|
190
191
|
- test/paytrace/level3_data_spec.rb
|
191
192
|
- test/paytrace/recurring_transaction_spec.rb
|
192
193
|
- test/paytrace/transaction_spec.rb
|
194
|
+
- test/scripts/run_adjust_amount.rb
|
193
195
|
- test/scripts/run_attach_signature.rb
|
194
196
|
- test/scripts/run_calculate_shipping_costs.rb
|
195
197
|
- test/scripts/run_change_password.rb
|