popbill 1.0.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1b19c6374dde032be10db067daf8ae17e3655a6b
4
+ data.tar.gz: d95f7027035fcc519a20a173188f5adee392c24a
5
+ SHA512:
6
+ metadata.gz: 1a674c9889c8739f5384d6a34c3cd13e1ff49f1e156a9eecef298b606a76d5a2c381dbc7187dcbfe37ca5ff69f295371be11296979f5f6b851dccbf825b820ec
7
+ data.tar.gz: 2a899b321f8ddcc8dc83850e95c815efecd11e8bb022a4d599c40862898445049994f6b2ac9a17b8a70496c081eb5c6cebf4c7c95a30c25323d59f7498786179
data/lib/cashbill.rb ADDED
@@ -0,0 +1,336 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative './popbill.rb'
3
+
4
+ # 팝빌 현금영수증 API Service Implementation
5
+ class CashbillService < BaseService
6
+ class << self
7
+ def instance(linkID, secretKey)
8
+ super(linkID, secretKey)
9
+ @instance ||= new
10
+ @instance.addScope("140")
11
+ return @instance
12
+ end
13
+ private :new
14
+ end
15
+
16
+ def getChargeInfo(corpNum, userID = '')
17
+ if corpNum.length != 10
18
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
19
+ end
20
+ httpget('/Cashbill/ChargeInfo', corpNum, userID)
21
+ end
22
+
23
+ def getURL(corpNum, togo, userID = '')
24
+ if corpNum.length != 10
25
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
26
+ end
27
+ httpget("/Cashbill?TG=#{togo}", corpNum, userID)['url']
28
+ end
29
+
30
+ def getUnitCost(corpNum, userID = '')
31
+ if corpNum.length != 10
32
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
33
+ end
34
+ httpget("/Cashbill?cfg=UNITCOST", corpNum, userID)['unitCost']
35
+ end
36
+
37
+ def checkMgtKeyInUse(corpNum, mgtKey, userID = '')
38
+ if corpNum.length != 10
39
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
40
+ end
41
+ if mgtKey.to_s == ''
42
+ raise PopbillException.new(-99999999, "현금영수증 문서관리번호가 입력되지 않았습니다.")
43
+ end
44
+
45
+ begin
46
+ response = httpget("/Cashbill/#{mgtKey}", corpNum)
47
+ return response['itemKey'].length != 0
48
+ rescue PopbillException => pe
49
+ if pe.code == -14000003
50
+ return false
51
+ end
52
+ raise PopbillException.new(pe.code, pe.message)
53
+ end
54
+ end
55
+
56
+
57
+ def registIssue(corpNum, cashbill, memo = '', userID = '')
58
+ if corpNum.length != 10
59
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
60
+ end
61
+
62
+ postData = cashbill.to_json
63
+
64
+ httppost("/Cashbill", corpNum, postData, "ISSUE", userID)
65
+ end
66
+
67
+
68
+ def register(corpNum, cashbill, userID = '')
69
+ if corpNum.length != 10
70
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
71
+ end
72
+
73
+ postData = cashbill.to_json
74
+
75
+ httppost("/Cashbill", corpNum, postData, "", userID)
76
+ end
77
+
78
+
79
+ def update(corpNum, mgtKey, cashbill, userID = '')
80
+ if corpNum.length != 10
81
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
82
+ end
83
+
84
+ postData = cashbill.to_json
85
+
86
+ httppost("/Cashbill/#{mgtKey}", corpNum, postData, "PATCH", userID)
87
+ end
88
+
89
+ def issue(corpNum, mgtKey, memo = '', userID = '')
90
+ if corpNum.length != 10
91
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
92
+ end
93
+
94
+ postData = {}
95
+
96
+ if memo.to_s != ''
97
+ postData["memo"] = memo
98
+ end
99
+
100
+ postData = postData.to_json
101
+
102
+ httppost("/Cashbill/#{mgtKey}", corpNum, postData, "ISSUE", userID)
103
+ end
104
+
105
+ def cancelIssue(corpNum, mgtKey, memo = '', userID = '')
106
+ if corpNum.length != 10
107
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
108
+ end
109
+
110
+ postData = {}
111
+
112
+ if memo.to_s != ''
113
+ postData["memo"] = memo
114
+ end
115
+
116
+ postData = postData.to_json
117
+
118
+ httppost("/Cashbill/#{mgtKey}", corpNum, postData, "CANCELISSUE", userID)
119
+ end
120
+
121
+ def delete(corpNum, mgtKey, userID = '')
122
+ if corpNum.length != 10
123
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
124
+ end
125
+
126
+ httppost("/Cashbill/#{mgtKey}", corpNum, "", "DELETE", userID)
127
+ end
128
+
129
+ def search(corpNum, dType, sDate, eDate, state, tradeType, tradeUsage,
130
+ taxationType, page, perPage, order, queryString = '', userID = '')
131
+ if corpNum.length != 10
132
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
133
+ end
134
+ if dType.to_s == ''
135
+ raise PopbillException.new('-99999999', '검색일자유형이 입력되지 않았습니다.')
136
+ end
137
+
138
+ if sDate.to_s == ''
139
+ raise PopbillException.new('-99999999', '시작일자가 입력되지 않았습니다.')
140
+ end
141
+
142
+ if eDate.to_s == ''
143
+ raise PopbillException.new('-99999999', '종료일자가 입력되지 않았습니다.')
144
+ end
145
+
146
+ uri = "/Cashbill/Search?DType=#{dType}&SDate=#{sDate}&EDate=#{eDate}"
147
+ uri += "&State" + state.join(',')
148
+ uri += "&TradeUsage" + tradeUsage.join(',')
149
+ uri += "&TradeType" + tradeType.join(',')
150
+ uri += "&TaxationType" + taxationType.join(',')
151
+ uri += "&Page=" + page.to_s
152
+ uri += "&PerPage=" + perPage.to_s
153
+ uri += "&Order=" + order
154
+
155
+ if queryString.to_s != ''
156
+ uri += "&QString=" + queryString
157
+ end
158
+
159
+ httpget(URI.escape(uri), corpNum, userID)
160
+ end
161
+
162
+ def getInfo(corpNum, mgtKey, userID = '')
163
+ if corpNum.length != 10
164
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
165
+ end
166
+ if mgtKey.to_s == ''
167
+ raise PopbillException.new('-99999999', '관리번호가 입력되지 않았습니다.')
168
+ end
169
+
170
+ httpget("/Cashbill/#{mgtKey}", corpNum, userID)
171
+ end
172
+
173
+
174
+ def getInfos(corpNum, mgtKeyList, userID = '')
175
+ if corpNum.length != 10
176
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
177
+ end
178
+ unless mgtKeyList.any?
179
+ raise PopbillException.new('-99999999', '문서관리번호 배열이 올바르지 않습니다.')
180
+ end
181
+
182
+ postData = mgtKeyList.to_json
183
+
184
+ httppost("/Cashbill/States", corpNum, postData, "", userID)
185
+ end
186
+
187
+
188
+ def getDetailInfo(corpNum, mgtKey, userID = '')
189
+ if corpNum.length != 10
190
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
191
+ end
192
+ if mgtKey.to_s == ''
193
+ raise PopbillException.new('-99999999', '관리번호가 입력되지 않았습니다.')
194
+ end
195
+
196
+ httpget("/Cashbill/#{mgtKey}?Detail", corpNum, userID)
197
+ end
198
+
199
+ def sendEmail(corpNum, mgtKey, receiverMail, userID = '')
200
+ if corpNum.length != 10
201
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
202
+ end
203
+ if mgtKey.to_s == ''
204
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
205
+ end
206
+
207
+ postData = {}
208
+
209
+ if receiverMail.to_s != ''
210
+ postData["receiver"] = receiverMail
211
+ end
212
+
213
+ postData = postData.to_json
214
+
215
+ httppost("/Cashbill/#{mgtKey}", corpNum, postData, "EMAIL", userID)
216
+ end
217
+
218
+
219
+ def sendSMS(corpNum, mgtKey, senderNum, receiverNum, contents, userID = '')
220
+ if corpNum.length != 10
221
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
222
+ end
223
+ if mgtKey.to_s == ''
224
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
225
+ end
226
+
227
+ if senderNum.to_s == ''
228
+ raise PopbillException.new('-99999999', '발신번호가 입력되지 않았습니다.')
229
+ end
230
+
231
+ if receiverNum.to_s == ''
232
+ raise PopbillException.new('-99999999', '수신번호가 입력되지 않았습니다.')
233
+ end
234
+
235
+ if contents.to_s == ''
236
+ raise PopbillException.new('-99999999', '문자 메시지 내용이 입력되지 않았습니다.')
237
+ end
238
+
239
+ postData = {}
240
+ postData["sender"] = senderNum
241
+ postData["receiver"] = receiverNum
242
+ postData["contents"] = contents
243
+
244
+ postData = postData.to_json
245
+
246
+ httppost("/Cashbill/#{mgtKey}", corpNum, postData, "SMS", userID)
247
+ end
248
+
249
+
250
+ def sendFax(corpNum, mgtKey, senderNum, receiverNum, userID = '')
251
+ if corpNum.length != 10
252
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
253
+ end
254
+ if mgtKey.to_s == ''
255
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
256
+ end
257
+
258
+ if senderNum.to_s == ''
259
+ raise PopbillException.new('-99999999', '발신번호가 입력되지 않았습니다.')
260
+ end
261
+
262
+ if receiverNum.to_s == ''
263
+ raise PopbillException.new('-99999999', '수신번호가 입력되지 않았습니다.')
264
+ end
265
+
266
+ postData = {}
267
+ postData["sender"] = senderNum
268
+ postData["receiver"] = receiverNum
269
+
270
+ postData = postData.to_json
271
+
272
+ httppost("/Cashbill/#{mgtKey}", corpNum, postData, "FAX", userID)
273
+
274
+ end
275
+
276
+
277
+ def getLogs(corpNum, mgtKey, userID = '')
278
+ if corpNum.length != 10
279
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
280
+ end
281
+ if mgtKey.to_s == ''
282
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
283
+ end
284
+ httpget("/Cashbill/#{mgtKey}/Logs", corpNum, userID)
285
+ end
286
+
287
+
288
+ def getPopUpURL(corpNum, mgtKey, userID = '')
289
+ if corpNum.length != 10
290
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
291
+ end
292
+ if mgtKey.to_s == ''
293
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
294
+ end
295
+
296
+ httpget("/Cashbill/#{mgtKey}?TG=POPUP", corpNum, userID)['url']
297
+ end
298
+
299
+ def getPrintURL(corpNum, mgtKey, userID = '')
300
+ if corpNum.length != 10
301
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
302
+ end
303
+ if mgtKey.to_s == ''
304
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
305
+ end
306
+
307
+ httpget("/Cashbill/#{mgtKey}?TG=PRINT", corpNum, userID)['url']
308
+ end
309
+
310
+
311
+ def getEPrintURL(corpNum, mgtKey, userID = '')
312
+ if corpNum.length != 10
313
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
314
+ end
315
+ if mgtKey.to_s == ''
316
+ raise PopbillException.new('-99999999', '문서관리번호 올바르지 않습니다.')
317
+ end
318
+
319
+ httpget("/Cashbill/#{mgtKey}?TG=EPRINT", corpNum, userID)['url']
320
+ end
321
+
322
+
323
+ def getMassPrintURL(corpNum, mgtKeyList, userID = '')
324
+ if corpNum.length != 10
325
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
326
+ end
327
+ unless mgtKeyList.any?
328
+ raise PopbillException.new('-99999999', '문서관리번호 배열이 올바르지 않습니다.')
329
+ end
330
+
331
+ postData = mgtKeyList.to_json
332
+
333
+ httppost("/Cashbill/Prints", corpNum, postData, "", userID)['url']
334
+ end
335
+
336
+ end # end of CashbillService
data/lib/closedown.rb ADDED
@@ -0,0 +1,55 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative './popbill.rb'
3
+
4
+ # 팝빌 휴폐업조회 API Service Implementation
5
+ class ClosedownService < BaseService
6
+ class << self
7
+ def instance(linkID, secretKey)
8
+ super(linkID, secretKey)
9
+ @instance ||= new
10
+ @instance.addScope("170")
11
+ return @instance
12
+ end
13
+ private :new
14
+ end
15
+
16
+ def getChargeInfo(corpNum, userID = '')
17
+ if corpNum.length != 10
18
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
19
+ end
20
+ httpget("/CloseDown/ChargeInfo", corpNum, userID)
21
+ end
22
+
23
+ def getUnitCost(corpNum, userID = '')
24
+ if corpNum.length != 10
25
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
26
+ end
27
+ httpget("/CloseDown/UnitCost", corpNum, userID)['unitCost']
28
+ end
29
+
30
+ def checkCorpNum(corpNum, checkCorpNum, userID = '')
31
+ if corpNum.length != 10
32
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
33
+ end
34
+
35
+ if checkCorpNum.to_s == ''
36
+ raise PopbillException.new(-99999999, "조회할 사업자등록번호가 입력되지 않았습니다.")
37
+ end
38
+
39
+ httpget("/CloseDown?CN=#{checkCorpNum}", corpNum, userID)
40
+ end
41
+
42
+ def checkCorpNums(corpNum, checkCorpNums, userID = '')
43
+ if corpNum.length != 10
44
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
45
+ end
46
+ if checkCorpNums.length == 0
47
+ raise PopbillException.new(-99999999, "조회할 사업자등록번호 배열이 입력되지 않았습니다.")
48
+ end
49
+
50
+ httppost("/CloseDown", corpNum, checkCorpNums.to_json)
51
+ end
52
+
53
+
54
+
55
+ end # end of FaxService
data/lib/fax.rb ADDED
@@ -0,0 +1,110 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative './popbill.rb'
3
+
4
+ # 팝빌 팩스 API Service Implementation
5
+ class FaxService < BaseService
6
+ class << self
7
+ def instance(linkID, secretKey)
8
+ super(linkID, secretKey)
9
+ @instance ||= new
10
+ @instance.addScope("160")
11
+ return @instance
12
+ end
13
+ private :new
14
+ end
15
+
16
+ def getChargeInfo(corpNum, userID = '')
17
+ if corpNum.length != 10
18
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
19
+ end
20
+ httpget("/FAX/ChargeInfo", corpNum, userID)
21
+ end
22
+
23
+ def getURL(corpNum, togo, userID = '')
24
+ if corpNum.length != 10
25
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
26
+ end
27
+ httpget("/FAX/?TG=#{togo}", corpNum, userID)['url']
28
+ end
29
+
30
+ def getUnitCost(corpNum, userID = '')
31
+ if corpNum.length != 10
32
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
33
+ end
34
+ httpget("/FAX/UnitCost", corpNum, userID)['unitCost']
35
+ end
36
+
37
+ def search(corpNum, sDate, eDate, state, reserveYN, senderOnly, page, perPage,
38
+ order, userID = '')
39
+ if corpNum.length != 10
40
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
41
+ end
42
+ if sDate.to_s == ''
43
+ raise PopbillException.new('-99999999', '시작일자가 입력되지 않았습니다.')
44
+ end
45
+ if eDate.to_s == ''
46
+ raise PopbillException.new('-99999999', '종료일자가 입력되지 않았습니다.')
47
+ end
48
+
49
+ uri = "/FAX/Search?SDate=#{sDate}&EDate=#{eDate}"
50
+ uri += "&State=" + state.join(',')
51
+ uri += "&ReserveYN=" + reserveYN
52
+ uri += "&SenderOnly=" + senderOnly
53
+ uri += "&Page=" + page.to_s
54
+ uri += "&PerPage=" + perPage.to_s
55
+ uri += "&Order=" + order
56
+
57
+ httpget(URI.escape(uri), corpNum, userID)
58
+ end
59
+
60
+ def sendFax(corpNum, senderNum, senderName, receiverNum, receiverName, filePath,
61
+ reserveDT = '', userID = '')
62
+ if corpNum.length != 10
63
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
64
+ end
65
+
66
+ receiver = [
67
+ {
68
+ "rcv" => receiverNum,
69
+ "rcvnm" => receiverName,
70
+ }
71
+ ]
72
+
73
+ sendFax_multi(corpNum, senderNum, senderName, receiver, filePath, reserveDT, userID)
74
+ end
75
+
76
+ def sendFax_multi(corpNum, senderNum, senderName, receivers, filePaths,
77
+ reserveDT = '', userID = '')
78
+ if corpNum.length != 10
79
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
80
+ end
81
+
82
+ postData = {}
83
+ postData["snd"] = senderNum
84
+ postData["sndnm"] = senderName
85
+ postData["fCnt"] = filePaths.length
86
+ postData["sndDT"] = reserveDT
87
+ postData["rcvs"] = receivers
88
+
89
+ httppostfile("/FAX", corpNum, postData, filePaths, userID)['receiptNum']
90
+ end
91
+
92
+ def getFaxDetail(corpNum, receiptNum, userID = '')
93
+ if corpNum.length != 10
94
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
95
+ end
96
+
97
+ httpget("/FAX/#{receiptNum}", corpNum, userID)
98
+ end
99
+
100
+ def cancelReserve(corpNum, receiptNum, userID = '')
101
+ if corpNum.length != 10
102
+ raise PopbillException.new(-99999999, "사업자등록번호가 올바르지 않습니다.")
103
+ end
104
+
105
+ httpget("/FAX/#{receiptNum}/Cancel", corpNum, userID)
106
+ end
107
+
108
+
109
+
110
+ end # end of FaxService
data/lib/htCashbill.rb ADDED
@@ -0,0 +1,123 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative './popbill.rb'
3
+
4
+ # 팝빌 홈택스 현금영수증 연계 API Service Implementation
5
+ class HTCashbillService < BaseService
6
+ class << self
7
+ def instance(linkID, secretKey)
8
+ super(linkID, secretKey)
9
+ @instance ||= new
10
+ @instance.addScope("141")
11
+ return @instance
12
+ end
13
+ private :new
14
+ end
15
+
16
+ def getChargeInfo(corpNum, userID = "")
17
+ if corpNum.length != 10
18
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
19
+ end
20
+ httpget("/HomeTax/Cashbill/ChargeInfo", corpNum, userID)
21
+ end
22
+
23
+ def requestJob(corpNum, type, sDate, eDate, userID = "")
24
+ if corpNum.length != 10
25
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
26
+ end
27
+ if sDate.to_s == ''
28
+ raise PopbillException.new('-99999999', '시작일자가 입력되지 않았습니다.')
29
+ end
30
+ if eDate.to_s == ''
31
+ raise PopbillException.new('-99999999', '종료일자가 입력되지 않았습니다.')
32
+ end
33
+
34
+ uri = "/HomeTax/Cashbill/#{type}?SDate=#{sDate}&EDate=#{eDate}"
35
+
36
+ httppost(uri, corpNum, "", "", userID)['jobID']
37
+ end
38
+
39
+ def getJobState(corpNum, jobID, userID = "")
40
+ if corpNum.length != 10
41
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
42
+ end
43
+ if jobID.to_s == ''
44
+ raise PopbillException.new('-99999999', '작업아이디(jobID)가 입력되지 않았습니다.')
45
+ end
46
+
47
+ httpget("/HomeTax/Cashbill/#{jobID}/State", corpNum, userID)
48
+ end
49
+
50
+ def listActiveJob(corpNum, userID = "")
51
+ if corpNum.length != 10
52
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
53
+ end
54
+
55
+ httpget("/HomeTax/Cashbill/JobList", corpNum, userID)
56
+ end
57
+
58
+ def search(corpNum, jobID, tradeType, tradeUsage, page, perPage, order, userID = '')
59
+ if corpNum.length != 10
60
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
61
+ end
62
+ if jobID.length != 18
63
+ raise PopbillException.new('-99999999', '작업아이디(jobID)가 올바르지 않습니다.')
64
+ end
65
+
66
+ uri = "/HomeTax/Cashbill/#{jobID}"
67
+ uri += "?TradeType=" + tradeType.join(',')
68
+ uri += "&TradeUsage=" + tradeUsage.join(',')
69
+ uri += "&Page=" + page.to_s
70
+ uri += "&PerPage=" + perPage.to_s
71
+ uri += "&Order=" + order
72
+
73
+ httpget(URI.escape(uri), corpNum, userID)
74
+ end
75
+
76
+ def summary(corpNum, jobID, tradeType, tradeUsage, userID = '')
77
+ if corpNum.length != 10
78
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
79
+ end
80
+ if jobID.length != 18
81
+ raise PopbillException.new('-99999999', '작업아이디(jobID)가 올바르지 않습니다.')
82
+ end
83
+
84
+ uri = "/HomeTax/Cashbill/#{jobID}/Summary"
85
+ uri += "?TradeType=" + tradeType.join(',')
86
+ uri += "&TradeUsage=" + tradeUsage.join(',')
87
+
88
+ httpget(URI.escape(uri), corpNum, userID)
89
+ end
90
+
91
+ def getFlatRatePopUpURL(corpNum, userID = "")
92
+ if corpNum.length != 10
93
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
94
+ end
95
+
96
+ httpget("/HomeTax/Cashbill?TG=CHRG", corpNum, userID)['url']
97
+ end
98
+
99
+ def getCertificatePopUpURL(corpNum, userID = "")
100
+ if corpNum.length != 10
101
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
102
+ end
103
+
104
+ httpget("/HomeTax/Cashbill?TG=CERT", corpNum, userID)['url']
105
+ end
106
+
107
+ def getFlatRateState(corpNum, userID = "")
108
+ if corpNum.length != 10
109
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
110
+ end
111
+
112
+ httpget("/HomeTax/Cashbill/Contract", corpNum, userID)
113
+ end
114
+
115
+ def getCertificateExpireDate(corpNum, userID = "")
116
+ if corpNum.length != 10
117
+ raise PopbillException.new('-99999999', '사업자등록번호가 올바르지 않습니다.')
118
+ end
119
+
120
+ httpget("/HomeTax/Cashbill/CertInfo", corpNum, userID)['certificateExpiration']
121
+ end
122
+
123
+ end # end of HTCashbillService