veritrans 1.2.2 → 1.2.4
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 +6 -6
- data/config/veritrans.yml +3 -3
- data/lib/veritrans/client.rb +64 -23
- data/lib/veritrans/config.rb +1 -1
- data/lib/veritrans/hash_generator.rb +2 -2
- data/lib/veritrans/post_data.rb +15 -4
- data/lib/veritrans/version.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8c361664f285ed648c2501265d0c371189f09f2e
|
4
|
+
data.tar.gz: ddbe29dd147e562e89a5a08912df441180cfa047
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 550ff7c4c46f486b1deafd836c52869981f05ff36fc3116f48ca0c65d08c5b8fdbbc221c82075052297088e8ff076230ea78a454147f6427ea5a183f5930ccd3
|
7
|
+
data.tar.gz: af5bd43147d2b256fbc13f4df7477d61f3920934a710dda66b07a8543eb8f8f3a607e39aabf4c7f4f518fe74b9eb9bbc6aa2a2181fee8f4a82184a5b8518e8a4
|
data/config/veritrans.yml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
development:
|
2
2
|
merchant_id: "test_id"
|
3
3
|
merchant_hash_key: "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789012345678901"
|
4
|
-
finish_payment_return_url: "http://localhost/finish"
|
5
|
-
unfinish_payment_return_url: "http://localhost/cancel"
|
6
|
-
error_payment_return_url: "http://localhost/error"
|
4
|
+
finish_payment_return_url: "http://localhost:3000/finish"
|
5
|
+
unfinish_payment_return_url: "http://localhost:3000/cancel"
|
6
|
+
error_payment_return_url: "http://localhost:3000/error"
|
7
7
|
server_key: "c0b44171-d7fe-4cf5-8b15-06049fc9980c"
|
8
8
|
# server_key: "2a8f3674-71cf-42af-aa56-b872b8924f72"
|
9
9
|
server_host: "http://veritrans.dev"
|
data/lib/veritrans/client.rb
CHANGED
@@ -17,10 +17,10 @@ module Veritrans
|
|
17
17
|
self.customer_specification_flag = Config::CUSTOMER_SPECIFICATION_FLAG
|
18
18
|
self.settlement_type = Config::SETTLEMENT_TYPE_CARD
|
19
19
|
|
20
|
-
if block_given?
|
21
|
-
|
22
|
-
|
23
|
-
end
|
20
|
+
# if block_given?
|
21
|
+
# yield(self) #self.instance_eval(&block)
|
22
|
+
# return self.get_keys
|
23
|
+
# end
|
24
24
|
end
|
25
25
|
|
26
26
|
#
|
@@ -40,40 +40,75 @@ module Veritrans
|
|
40
40
|
#
|
41
41
|
def get_keys
|
42
42
|
init_instance
|
43
|
-
|
43
|
+
|
44
44
|
if customer_specification_flag == "0" && shipping_flag == "0"
|
45
45
|
raise "required_shipping_address must be '1'"
|
46
46
|
end
|
47
47
|
|
48
48
|
params = prepare_params(PostData::ServerParam,PostData::PostParam)
|
49
49
|
|
50
|
-
if
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
if !params[:promo_bins].blank?
|
51
|
+
params.merge!({ "promo_bins[]" => params[:promo_bins]})
|
52
|
+
params.delete :promo_bins
|
53
|
+
end
|
54
|
+
|
55
|
+
if !params[:point_banks].blank?
|
56
|
+
params.merge!({ "point_banks[]" => params[:point_banks]})
|
57
|
+
params.delete :point_banks
|
58
|
+
end
|
59
|
+
|
60
|
+
if !params[:installment_banks].blank?
|
61
|
+
params.merge!({ "installment_banks[]" => params[:installment_banks]})
|
62
|
+
params.delete :installment_banks
|
63
|
+
end
|
64
|
+
|
65
|
+
if !params[:installment_terms].blank?
|
66
|
+
params.merge!({ "installment_terms" => params[:installment_terms].to_json })
|
67
|
+
params.delete :installment_terms
|
68
|
+
end
|
69
|
+
|
70
|
+
commodity = @commodity.collect do |data|
|
71
|
+
data.keys.map do |key|
|
72
|
+
if key.downcase == "commodity_id"
|
73
|
+
data["item_id[]"] = data[key]
|
74
|
+
end
|
75
|
+
|
76
|
+
if key.downcase == "commodity_unit"
|
77
|
+
data["price[]"] = data[key]
|
78
|
+
end
|
79
|
+
|
80
|
+
if key.downcase == "commodity_num"
|
81
|
+
data["quantity[]"] = data[key]
|
82
|
+
end
|
83
|
+
|
84
|
+
if key.downcase == "commodity_name1"
|
85
|
+
data["item_name1[]"] = data[key]
|
55
86
|
end
|
56
|
-
|
57
|
-
|
58
|
-
data
|
87
|
+
|
88
|
+
if key.downcase == "commodity_name2"
|
89
|
+
data["item_name2[]"] = data[key]
|
59
90
|
end
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
91
|
+
|
92
|
+
data.delete key
|
93
|
+
end
|
94
|
+
|
95
|
+
# construct commodity
|
96
|
+
orders_uri = Addressable::URI.new
|
97
|
+
orders_uri.query_values = data
|
98
|
+
# return list of commodity as query string format
|
99
|
+
orders_uri.query
|
64
100
|
end
|
65
101
|
|
66
102
|
uri = Addressable::URI.new
|
67
103
|
uri.query_values = params
|
68
|
-
query_string = "#{uri.query}&
|
69
|
-
|
104
|
+
query_string = "#{uri.query}&repeat_line=#{commodity.length}&#{commodity.join('&')}"
|
105
|
+
|
70
106
|
conn = Faraday.new(:url => server_host)
|
71
107
|
@resp = conn.post do |req|
|
72
108
|
req.url(Config::REQUEST_KEY_URL)
|
73
109
|
req.body = query_string
|
74
110
|
end.env
|
75
|
-
|
76
|
-
|
111
|
+
|
77
112
|
delete_keys
|
78
113
|
@resp[:url] = @resp[:url].to_s
|
79
114
|
|
@@ -149,11 +184,15 @@ module Veritrans
|
|
149
184
|
@shipping_flag = flag
|
150
185
|
end
|
151
186
|
|
187
|
+
def new_api
|
188
|
+
return true
|
189
|
+
end
|
190
|
+
|
152
191
|
private
|
153
192
|
|
154
193
|
def merchanthash
|
155
194
|
# Generate merchant hash code
|
156
|
-
return HashGenerator::generate(merchant_id, merchant_hash_key, settlement_type, order_id
|
195
|
+
return HashGenerator::generate(merchant_id, merchant_hash_key, settlement_type, order_id);
|
157
196
|
end
|
158
197
|
|
159
198
|
def parse_body(body)
|
@@ -168,9 +207,11 @@ module Veritrans
|
|
168
207
|
|
169
208
|
def prepare_params(*arg)
|
170
209
|
params = {}
|
210
|
+
# extract keys from post data
|
171
211
|
arg.flatten.each do |key|
|
212
|
+
# retrieve value from client configuration
|
172
213
|
value = self.send(key)
|
173
|
-
params[key.
|
214
|
+
params[key.downcase] = value if value
|
174
215
|
end
|
175
216
|
return params
|
176
217
|
end
|
data/lib/veritrans/config.rb
CHANGED
@@ -7,7 +7,7 @@ module Veritrans
|
|
7
7
|
module Config
|
8
8
|
|
9
9
|
# server Veritrans - defined in gem - no change!
|
10
|
-
SERVER_HOST
|
10
|
+
SERVER_HOST = "https://vtweb.veritrans.co.id"
|
11
11
|
|
12
12
|
# Request Key Url - use in #get_keys - defined in gem - no change!
|
13
13
|
REQUEST_KEY_URL = "/web1/commodityRegist.action"
|
@@ -12,8 +12,8 @@ module Veritrans
|
|
12
12
|
# * <tt>[String]settlement_method</tt> - '01' Credit Card
|
13
13
|
# * <tt>[String]order_id</tt>
|
14
14
|
# * <tt>[String]amount</tt>
|
15
|
-
def self.generate(merchant_id, merchant_hash_key, settlement_method, order_id
|
16
|
-
Digest::SHA512.hexdigest("#{merchant_hash_key},#{merchant_id},#{settlement_method},#{order_id}
|
15
|
+
def self.generate(merchant_id, merchant_hash_key, settlement_method, order_id)
|
16
|
+
Digest::SHA512.hexdigest("#{merchant_hash_key},#{merchant_id},#{settlement_method},#{order_id}")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
data/lib/veritrans/post_data.rb
CHANGED
@@ -26,13 +26,20 @@ module Veritrans
|
|
26
26
|
# +:previous_customer_flag,+
|
27
27
|
# +:customer_status,+
|
28
28
|
Payment =[
|
29
|
-
:settlement_type,
|
29
|
+
:settlement_type,
|
30
|
+
:payment_type,
|
30
31
|
:gross_amount,
|
31
32
|
:card_no,
|
32
33
|
:card_exp_date, # mm/yy
|
33
34
|
:customer_id,
|
34
35
|
:previous_customer_flag,
|
35
36
|
:customer_status,
|
37
|
+
# :installment,
|
38
|
+
:installment_type,
|
39
|
+
:installment_banks,
|
40
|
+
:installment_terms,
|
41
|
+
# :point,
|
42
|
+
:point_banks
|
36
43
|
]
|
37
44
|
|
38
45
|
# +:first_name,+
|
@@ -78,7 +85,8 @@ module Veritrans
|
|
78
85
|
:shipping_country_code,
|
79
86
|
:shipping_postal_code,
|
80
87
|
:shipping_phone,
|
81
|
-
:shipping_method
|
88
|
+
:shipping_method,
|
89
|
+
:shipping_email
|
82
90
|
]
|
83
91
|
|
84
92
|
# +:lang_enable_flag,+
|
@@ -122,7 +130,9 @@ module Veritrans
|
|
122
130
|
:session_id,
|
123
131
|
:merchanthash,
|
124
132
|
:card_capture_flag,
|
125
|
-
:promo_id
|
133
|
+
:promo_id,
|
134
|
+
:promo_bins,
|
135
|
+
:enable_3d_secure
|
126
136
|
]
|
127
137
|
|
128
138
|
# +:merchant_id,+
|
@@ -135,7 +145,8 @@ module Veritrans
|
|
135
145
|
:merchanthash,
|
136
146
|
:finish_payment_return_url,
|
137
147
|
:unfinish_payment_return_url,
|
138
|
-
:error_payment_return_url
|
148
|
+
:error_payment_return_url,
|
149
|
+
:new_api
|
139
150
|
]
|
140
151
|
|
141
152
|
# Params are the combination of this group:
|
data/lib/veritrans/version.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: veritrans
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Veritrans Dev Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description:
|
@@ -89,17 +89,17 @@ require_paths:
|
|
89
89
|
- lib
|
90
90
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
|
-
- -
|
92
|
+
- - '>='
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '0'
|
95
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
|
-
- -
|
97
|
+
- - '>='
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
101
|
rubyforge_project: veritrans
|
102
|
-
rubygems_version: 2.0.
|
102
|
+
rubygems_version: 2.0.0
|
103
103
|
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: Veritrans Webclient wrapper
|