veritrans 1.1.0 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/config/veritrans.yml CHANGED
@@ -4,8 +4,11 @@ development:
4
4
  finish_payment_return_url: "http://localhost/finish"
5
5
  unfinish_payment_return_url: "http://localhost/cancel"
6
6
  error_payment_return_url: "http://localhost/error"
7
- server_key: "2a8f3674-71cf-42af-aa56-b872b8924f72"
7
+ server_key: "c0b44171-d7fe-4cf5-8b15-06049fc9980c"
8
+ # server_key: "2a8f3674-71cf-42af-aa56-b872b8924f72"
8
9
  server_host: "http://veritrans.dev"
10
+ charges_url: "/charges"
11
+ token_url: "/tokens"
9
12
 
10
13
  production:
11
14
  merchant_id: "production_id"
@@ -13,6 +16,9 @@ production:
13
16
  finish_payment_return_url: "http://mydomain/finish"
14
17
  unfinish_payment_return_url: "http://mydomain/cancel"
15
18
  error_payment_return_url: "http://mydomain/error"
16
- server_key: "2a8f3674-71cf-42af-aa56-b872b8924f72"
19
+ server_key: "c0b44171-d7fe-4cf5-8b15-06049fc9980c"
20
+ # server_key: "2a8f3674-71cf-42af-aa56-b872b8924f72"
17
21
  server_host: "http://veritrans.dev"
22
+ charges_url: "/charges"
23
+ token_url: "/tokens"
18
24
  # server_host: "http://192.168.10.250:80"
@@ -12,8 +12,20 @@ module Veritrans
12
12
  # Request Key Url - use in #get_keys - defined in gem - no change!
13
13
  REQUEST_KEY_URL = "/web1/commodityRegist.action"
14
14
 
15
+ # Request Key Url - use in #get_keys - defined in gem - no change!
16
+ TOKENS_URL = "/vtdirect-rest/v1/tokens"
17
+
18
+ # Charges Url - use in #get_keys - defined in gem - no change!
19
+ CHARGES_URL = "/vtdirect-rest/v1/charges"
20
+
21
+ # Void Url - use in #get_keys - defined in gem - no change!
22
+ VOID_URL = "/vtdirect-rest/v1/void"
23
+
15
24
  # Payment Redirect Url - defined in gem - no change!
16
25
  PAYMENT_REDIRECT_URL = "/web1/deviceCheck.action"
26
+
27
+ # CA_PATH
28
+ # CA_PATH = "/usr/lib/ssl/certs"
17
29
 
18
30
  # :nodoc:
19
31
  CUSTOMER_SPECIFICATION_FLAG = '0' #Billing same as shipping address '1' Different, manually input in Veritrans-web
@@ -63,12 +63,13 @@ module Veritrans
63
63
  # vt_direct.charges
64
64
  #
65
65
  def charges
66
- # conn = Faraday.new(:url => 'http://veritrans.dev/charges')
67
- parms = prepare_params([:server_key]+@@attr).to_json
66
+ parms = prepare_params(@@attr).to_json
68
67
  basic = Base64.encode64("#{server_key}:")
69
- conn = Faraday.new(:url => server_host)
68
+ copt = {:url => server_host}
69
+ copt[:ssl] = { :ca_path => VTDirect.config["ca_path"] } if VTDirect.config["ca_path"] #"/usr/lib/ssl/certs"
70
+ conn = Faraday.new( copt )
70
71
  @resp = conn.post do |req|
71
- req.url('/charges')
72
+ req.url(charges_url)
72
73
  req.headers['Content-Type'] = 'application/json'
73
74
  req.headers['Authorization'] = "Basic #{basic}"
74
75
  req.body = parms
@@ -76,11 +77,35 @@ module Veritrans
76
77
  @data = @resp[:body]
77
78
  end
78
79
 
80
+ def void
81
+ api_call(void_url)
82
+ end
83
+
84
+ # :nodoc:
85
+ # def ca_path
86
+ # return VTDirect.config["ca_path"] ? VTDirect.config["ca_path"] : Config::CA_PATH
87
+ # end
88
+
79
89
  # :nodoc:
80
90
  def server_host
81
91
  return VTDirect.config["server_host"] ? VTDirect.config["server_host"] : Config::SERVER_HOST
82
92
  end
83
93
 
94
+ # :nodoc:
95
+ def tokens_url
96
+ return Client.config["tokens_url"] ? Client.config["tokens_url"] : Config::TOKENS_URL
97
+ end
98
+
99
+ # :nodoc:
100
+ def charges_url
101
+ return Client.config["charges_url"] ? Client.config["charges_url"] : Config::CHARGES_URL
102
+ end
103
+
104
+ # :nodoc:
105
+ def void_url
106
+ return Client.config["void_url"] ? Client.config["void_url"] : Config::VOID_URL
107
+ end
108
+
84
109
  # :nodoc:
85
110
  def server_key
86
111
  return VTDirect.config["server_key"]
@@ -93,11 +118,26 @@ module Veritrans
93
118
 
94
119
  private
95
120
 
121
+ def api_call(url)
122
+ parms = prepare_params(@@attr).to_json
123
+ basic = Base64.encode64("#{server_key}:")
124
+ copt = {:url => server_host}
125
+ copt[:ssl] = { :ca_path => VTDirect.config["ca_path"] } if VTDirect.config["ca_path"] #"/usr/lib/ssl/certs"
126
+ conn = Faraday.new( copt )
127
+ @resp = conn.post do |req|
128
+ req.url(url)
129
+ req.headers['Content-Type'] = 'application/json'
130
+ req.headers['Authorization'] = "Basic #{basic}"
131
+ req.body = parms
132
+ end.env
133
+ @data = @resp[:body]
134
+ end
135
+
96
136
  def prepare_params(*arg)
97
137
  params = {}
98
138
  arg.flatten.each do |key|
99
139
  value = self.send(key)
100
- params[key.downcase] = value if value
140
+ params[key.to_s.downcase] = value if value
101
141
  end
102
142
  return params
103
143
  end
@@ -24,7 +24,7 @@ module Veritrans
24
24
 
25
25
  # :nodoc:
26
26
  def patch
27
- 0
27
+ 3
28
28
  end
29
29
 
30
30
  # :nodoc:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veritrans
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-21 00:00:00.000000000 Z
12
+ date: 2012-12-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable