paytrace 0.1.8 → 0.1.9
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: 44c650779abac381f8aa795ef2fdb9318ef846eb
|
4
|
+
data.tar.gz: 148eeb0bddda9f331afabbc97ad2991e91a70599
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19e53a00575c838678e7951a38f7b0051eef92df6dc1500d3220fcc107c626fd6ff4f0405978e3fd8120ce8928f1605c4de5b3c39a675c738f2afc71ca1b60ea
|
7
|
+
data.tar.gz: f86a1e5fb3714839854f7ba55bcca993ed8cdaacd0dbcea34fcf94033003b5314676d3e431d22213b86b2df6a30384a130d4a903367645316841ab0f51fec365
|
data/lib/paytrace/customer.rb
CHANGED
@@ -5,6 +5,8 @@ module PayTrace
|
|
5
5
|
CREATE_CUSTOMER = "CreateCustomer"
|
6
6
|
UPDATE_CUSTOMER = "UpdateCustomer"
|
7
7
|
DELETE_CUSTOMER = "DeleteCustomer"
|
8
|
+
EXPORT_CUSTOMERS = "ExportCustomers"
|
9
|
+
EXPORT_CUSTOMERS_RESPONSE = "CUSTOMERRECORD"
|
8
10
|
|
9
11
|
def initialize(customer_id = nil)
|
10
12
|
@customer_id = customer_id
|
@@ -22,6 +24,22 @@ module PayTrace
|
|
22
24
|
gateway.send_request(request)
|
23
25
|
end
|
24
26
|
|
27
|
+
def self.export(params = {})
|
28
|
+
# CUSTID, EMAIL, USER, RETURNBIN
|
29
|
+
request = PayTrace::API::Request.new
|
30
|
+
request.set_param(:method, EXPORT_CUSTOMERS)
|
31
|
+
request.set_param(:customer_id, params[:customer_id])
|
32
|
+
request.set_param(:email, params[:email])
|
33
|
+
request.set_param(:transaction_user, params[:transaction_user])
|
34
|
+
request.set_param(:return_bin, params[:return_bin])
|
35
|
+
gateway = PayTrace::API::Gateway.new
|
36
|
+
response = gateway.send_request(request, [EXPORT_CUSTOMERS_RESPONSE])
|
37
|
+
|
38
|
+
unless response.has_errors?
|
39
|
+
response.values[EXPORT_CUSTOMERS_RESPONSE]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
25
43
|
def self.delete(customer_id)
|
26
44
|
Customer.new(customer_id).delete
|
27
45
|
end
|
data/lib/paytrace/version.rb
CHANGED
@@ -10,6 +10,19 @@ describe PayTrace::Customer do
|
|
10
10
|
PayTrace::API::Gateway.next_response = "RESPONSE~ok|CUSTOMERID~12345|CUSTID~john_doe"
|
11
11
|
end
|
12
12
|
|
13
|
+
describe "export customers" do
|
14
|
+
it "works" do
|
15
|
+
PayTrace::API::Gateway.next_response = "CUSTOMERRECORD~CUSTID=741356+CUSTOMERID=741356+CC=************5454+EXPMNTH=12+EXPYR=17+SNAME=+SADDRESS=+SADDRESS2=+SCITY=+SCOUNTY=+SSTATE=+SZIP=+SCOUNTRY=US+BNAME=DUMMY1+BADDRESS=+BADDRESS2=+BCITY=+BSTATE=+BZIP=+BCOUNTRY=US+EMAIL=+PHONE=+FAX=+WHEN=2/7/2014 5:02:08 PM+USER=demo123+IP=131.191.89.5+DDA=123412341234+TR=051000017+hair_color=+|"
|
16
|
+
records = PayTrace::Customer.export()
|
17
|
+
|
18
|
+
PayTrace::API::Gateway.last_request.must_equal base_url + "METHOD~ExportCustomers|"
|
19
|
+
records.count.must_equal 1
|
20
|
+
records.must_be_instance_of Array
|
21
|
+
records[0].must_be_instance_of Hash
|
22
|
+
records[0].keys.count.must_equal 29
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
13
26
|
describe "create customer profile" do
|
14
27
|
# first call path: create from credit card information
|
15
28
|
it "can be created from credit card information" do
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# $:<< "./lib" # uncomment this to run against a Git clone instead of an installed gem
|
2
|
+
|
3
|
+
require "paytrace"
|
4
|
+
|
5
|
+
# see: http://help.paytrace.com/api-exporting-customer-profiles for details
|
6
|
+
|
7
|
+
#
|
8
|
+
# Helper that loops through the response values and dumps them out
|
9
|
+
#
|
10
|
+
def dump_transaction
|
11
|
+
puts "[REQUEST] #{PayTrace::API::Gateway.last_request}"
|
12
|
+
response = PayTrace::API::Gateway.last_response_object
|
13
|
+
if(response.has_errors?)
|
14
|
+
response.errors.each do |key, value|
|
15
|
+
puts "[RESPONSE] ERROR: #{key.ljust(20)}#{value}"
|
16
|
+
end
|
17
|
+
else
|
18
|
+
response.values.each do |key, value|
|
19
|
+
puts "[RESPONSE] #{key.ljust(20)}#{value}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def log(msg)
|
25
|
+
puts ">>>>>> #{msg}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def trace(&block)
|
29
|
+
PayTrace::API::Gateway.debug = true
|
30
|
+
|
31
|
+
begin
|
32
|
+
yield
|
33
|
+
rescue Exception => e
|
34
|
+
raise
|
35
|
+
else
|
36
|
+
dump_transaction
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
PayTrace.configure do |config|
|
41
|
+
config.user_name = "demo123"
|
42
|
+
config.password = "demo123"
|
43
|
+
config.domain = "stage.paytrace.com"
|
44
|
+
end
|
45
|
+
|
46
|
+
PayTrace::API::Gateway.debug = true
|
47
|
+
|
48
|
+
# this should dump out a wall of text...
|
49
|
+
trace { puts PayTrace::Customer.export() }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trevor Redfern
|
@@ -140,6 +140,7 @@ files:
|
|
140
140
|
- test/scripts/run_attach_signature.rb
|
141
141
|
- test/scripts/run_create_customer.rb
|
142
142
|
- test/scripts/run_email_request.rb
|
143
|
+
- test/scripts/run_export_customers.rb
|
143
144
|
- test/scripts/run_export_transactions.rb
|
144
145
|
- test/scripts/run_recur_payments_integration.rb
|
145
146
|
- test/scripts/smiley_face.png
|
@@ -185,6 +186,7 @@ test_files:
|
|
185
186
|
- test/scripts/run_attach_signature.rb
|
186
187
|
- test/scripts/run_create_customer.rb
|
187
188
|
- test/scripts/run_email_request.rb
|
189
|
+
- test/scripts/run_export_customers.rb
|
188
190
|
- test/scripts/run_export_transactions.rb
|
189
191
|
- test/scripts/run_recur_payments_integration.rb
|
190
192
|
- test/scripts/smiley_face.png
|