@trusted-solutions/sdit.models 0.22.13 → 0.24.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.
Files changed (403) hide show
  1. package/base-data.d.ts +15 -15
  2. package/base-data.js +2 -2
  3. package/constants/client-endpoints.d.ts +7 -7
  4. package/constants/client-endpoints.js +10 -10
  5. package/constants/district-zip.taiwan.d.ts +7 -7
  6. package/constants/district-zip.taiwan.js +499 -499
  7. package/constants/index.d.ts +3 -3
  8. package/constants/index.js +6 -6
  9. package/constants/industry.d.ts +4 -4
  10. package/constants/industry.js +27 -27
  11. package/data-service/config.d.ts +62 -62
  12. package/data-service/config.js +895 -895
  13. package/data-service/enum.d.ts +82 -82
  14. package/data-service/enum.js +101 -101
  15. package/data-service/index.d.ts +4 -4
  16. package/data-service/index.js +7 -7
  17. package/data-service/lambda.d.ts +92 -92
  18. package/data-service/lambda.js +3 -3
  19. package/data-service/model.d.ts +79 -79
  20. package/data-service/model.js +190 -190
  21. package/enums/analysis.d.ts +201 -201
  22. package/enums/analysis.js +213 -213
  23. package/enums/block-storage.d.ts +4 -4
  24. package/enums/block-storage.js +8 -8
  25. package/enums/close-type.d.ts +4 -4
  26. package/enums/close-type.js +8 -8
  27. package/enums/cognito-filter-key.d.ts +14 -14
  28. package/enums/cognito-filter-key.js +19 -19
  29. package/enums/cognito-operator.d.ts +4 -4
  30. package/enums/cognito-operator.js +8 -8
  31. package/enums/company.d.ts +4 -4
  32. package/enums/company.js +8 -8
  33. package/enums/customer.d.ts +23 -23
  34. package/enums/customer.js +29 -29
  35. package/enums/discount-module.d.ts +18 -18
  36. package/enums/discount-module.js +27 -27
  37. package/enums/dynamodb-operator.d.ts +66 -66
  38. package/enums/dynamodb-operator.js +77 -77
  39. package/enums/error-type.d.ts +109 -109
  40. package/enums/error-type.js +145 -145
  41. package/enums/event.d.ts +29 -29
  42. package/enums/event.js +36 -36
  43. package/enums/external.d.ts +3 -3
  44. package/enums/external.js +7 -7
  45. package/enums/filter-keys.d.ts +9 -9
  46. package/enums/filter-keys.js +15 -15
  47. package/enums/import-data.d.ts +3 -3
  48. package/enums/import-data.js +7 -7
  49. package/enums/index.d.ts +41 -41
  50. package/enums/index.js +44 -44
  51. package/enums/inventory.d.ts +7 -7
  52. package/enums/inventory.js +11 -11
  53. package/enums/invoice-carrier-type.d.ts +5 -5
  54. package/enums/invoice-carrier-type.js +9 -9
  55. package/enums/invoice-error-name.d.ts +4 -4
  56. package/enums/invoice-error-name.js +8 -8
  57. package/enums/invoice-provider.d.ts +5 -5
  58. package/enums/invoice-provider.js +9 -9
  59. package/enums/invoice-status-type.d.ts +4 -4
  60. package/enums/invoice-status-type.js +8 -8
  61. package/enums/invoice-type.d.ts +6 -6
  62. package/enums/invoice-type.js +10 -10
  63. package/enums/language.d.ts +4 -4
  64. package/enums/language.js +8 -8
  65. package/enums/number-of-customers-group-type.d.ts +12 -12
  66. package/enums/number-of-customers-group-type.js +16 -16
  67. package/enums/offline-sync-type.d.ts +7 -7
  68. package/enums/offline-sync-type.js +11 -11
  69. package/enums/order-action-name.d.ts +4 -4
  70. package/enums/order-action-name.js +8 -8
  71. package/enums/order-item.d.ts +13 -13
  72. package/enums/order-item.js +18 -18
  73. package/enums/order-source-type.d.ts +5 -5
  74. package/enums/order-source-type.js +9 -9
  75. package/enums/order-status.d.ts +18 -18
  76. package/enums/order-status.js +22 -22
  77. package/enums/payment-parameters.d.ts +18 -18
  78. package/enums/payment-parameters.js +25 -25
  79. package/enums/payment-service-provider.d.ts +28 -28
  80. package/enums/payment-service-provider.js +32 -32
  81. package/enums/payment-type.d.ts +35 -35
  82. package/enums/payment-type.js +39 -39
  83. package/enums/permission-name.d.ts +30 -30
  84. package/enums/permission-name.js +34 -34
  85. package/enums/printer.d.ts +57 -57
  86. package/enums/printer.js +68 -68
  87. package/enums/real-time-switch-type.d.ts +8 -8
  88. package/enums/real-time-switch-type.js +12 -12
  89. package/enums/receipt.d.ts +4 -4
  90. package/enums/receipt.js +8 -8
  91. package/enums/serve-type.d.ts +6 -6
  92. package/enums/serve-type.js +10 -10
  93. package/enums/server-error.d.ts +4 -4
  94. package/enums/server-error.js +8 -8
  95. package/enums/store.d.ts +15 -15
  96. package/enums/store.js +21 -21
  97. package/enums/table-index.d.ts +24 -24
  98. package/enums/table-index.js +31 -31
  99. package/enums/table.d.ts +6 -6
  100. package/enums/table.js +10 -10
  101. package/enums/tax-type.d.ts +5 -5
  102. package/enums/tax-type.js +9 -9
  103. package/enums/user.d.ts +8 -8
  104. package/enums/user.js +13 -13
  105. package/lambda/contract.d.ts +87 -87
  106. package/lambda/contract.js +2 -2
  107. package/lambda/error/create-order-when-item-sold-out.d.ts +6 -6
  108. package/lambda/error/create-order-when-item-sold-out.js +2 -2
  109. package/lambda/error/index.d.ts +1 -1
  110. package/lambda/error/index.js +4 -4
  111. package/lambda/index.d.ts +9 -9
  112. package/lambda/index.js +12 -12
  113. package/lambda/line-notify.d.ts +8 -8
  114. package/lambda/line-notify.js +4 -4
  115. package/lambda/online-integration.d.ts +110 -110
  116. package/lambda/online-integration.js +2 -2
  117. package/lambda/online-ordering.d.ts +230 -230
  118. package/lambda/online-ordering.js +2 -2
  119. package/lambda/override.d.ts +23 -23
  120. package/lambda/override.js +2 -2
  121. package/lambda/pos-integration.d.ts +19 -19
  122. package/lambda/pos-integration.js +2 -2
  123. package/lambda/request/analysis.d.ts +4 -4
  124. package/lambda/request/analysis.js +2 -2
  125. package/lambda/request/chain.d.ts +30 -30
  126. package/lambda/request/chain.js +2 -2
  127. package/lambda/request/closing.d.ts +64 -64
  128. package/lambda/request/closing.js +2 -2
  129. package/lambda/request/common.d.ts +19 -19
  130. package/lambda/request/common.js +2 -2
  131. package/lambda/request/custom-analysis-group.d.ts +19 -19
  132. package/lambda/request/custom-analysis-group.js +2 -2
  133. package/lambda/request/customer.d.ts +19 -19
  134. package/lambda/request/customer.js +2 -2
  135. package/lambda/request/discount-module.d.ts +50 -50
  136. package/lambda/request/discount-module.js +2 -2
  137. package/lambda/request/event.d.ts +9 -9
  138. package/lambda/request/event.js +2 -2
  139. package/lambda/request/import-data.d.ts +15 -15
  140. package/lambda/request/import-data.js +2 -2
  141. package/lambda/request/index.d.ts +20 -20
  142. package/lambda/request/index.js +23 -23
  143. package/lambda/request/invoice.d.ts +93 -93
  144. package/lambda/request/invoice.js +2 -2
  145. package/lambda/request/kiosk.d.ts +15 -15
  146. package/lambda/request/kiosk.js +2 -2
  147. package/lambda/request/menu.d.ts +88 -88
  148. package/lambda/request/menu.js +2 -2
  149. package/lambda/request/offline-sync.d.ts +33 -33
  150. package/lambda/request/offline-sync.js +2 -2
  151. package/lambda/request/order.d.ts +49 -49
  152. package/lambda/request/order.js +2 -2
  153. package/lambda/request/payment.d.ts +19 -19
  154. package/lambda/request/payment.js +2 -2
  155. package/lambda/request/printer.d.ts +42 -42
  156. package/lambda/request/printer.js +2 -2
  157. package/lambda/request/real-time-switch.d.ts +33 -33
  158. package/lambda/request/real-time-switch.js +2 -2
  159. package/lambda/request/receipt.d.ts +5 -5
  160. package/lambda/request/receipt.js +2 -2
  161. package/lambda/request/store.d.ts +77 -77
  162. package/lambda/request/store.js +2 -2
  163. package/lambda/request/user.d.ts +29 -29
  164. package/lambda/request/user.js +2 -2
  165. package/lambda/response/analysis.d.ts +4 -4
  166. package/lambda/response/analysis.js +2 -2
  167. package/lambda/response/chain.d.ts +14 -14
  168. package/lambda/response/chain.js +2 -2
  169. package/lambda/response/closing.d.ts +14 -14
  170. package/lambda/response/closing.js +3 -3
  171. package/lambda/response/common.d.ts +15 -15
  172. package/lambda/response/common.js +2 -2
  173. package/lambda/response/custom-analysis-group.d.ts +14 -14
  174. package/lambda/response/custom-analysis-group.js +7 -7
  175. package/lambda/response/customer.d.ts +12 -12
  176. package/lambda/response/customer.js +2 -2
  177. package/lambda/response/discount-module.d.ts +28 -28
  178. package/lambda/response/discount-module.js +2 -2
  179. package/lambda/response/event.d.ts +4 -4
  180. package/lambda/response/event.js +2 -2
  181. package/lambda/response/index.d.ts +17 -17
  182. package/lambda/response/index.js +20 -20
  183. package/lambda/response/invoice.d.ts +34 -34
  184. package/lambda/response/invoice.js +2 -2
  185. package/lambda/response/kiosk.d.ts +12 -12
  186. package/lambda/response/kiosk.js +2 -2
  187. package/lambda/response/menu.d.ts +54 -54
  188. package/lambda/response/menu.js +2 -2
  189. package/lambda/response/order.d.ts +20 -20
  190. package/lambda/response/order.js +2 -2
  191. package/lambda/response/payment.d.ts +199 -199
  192. package/lambda/response/payment.js +2 -2
  193. package/lambda/response/printer.d.ts +22 -22
  194. package/lambda/response/printer.js +2 -2
  195. package/lambda/response/receipt.d.ts +4 -4
  196. package/lambda/response/receipt.js +2 -2
  197. package/lambda/response/store.d.ts +38 -38
  198. package/lambda/response/store.js +2 -2
  199. package/lambda/response/user.d.ts +17 -17
  200. package/lambda/response/user.js +2 -2
  201. package/models/analysis-summary.d.ts +23 -23
  202. package/models/analysis-summary.js +2 -2
  203. package/models/analysis.d.ts +56 -56
  204. package/models/analysis.js +2 -2
  205. package/models/appointment.d.ts +18 -18
  206. package/models/appointment.js +2 -2
  207. package/models/array-mutations.d.ts +8 -8
  208. package/models/array-mutations.js +2 -2
  209. package/models/chain.d.ts +5 -5
  210. package/models/chain.js +2 -2
  211. package/models/cognito-filters.d.ts +21 -21
  212. package/models/cognito-filters.js +2 -2
  213. package/models/contract.d.ts +32 -32
  214. package/models/contract.js +2 -2
  215. package/models/csv/customer.d.ts +18 -18
  216. package/models/csv/customer.js +2 -2
  217. package/models/csv/index.d.ts +1 -1
  218. package/models/csv/index.js +4 -4
  219. package/models/custom-analysis-group.d.ts +5 -5
  220. package/models/custom-analysis-group.js +2 -2
  221. package/models/customer.d.ts +32 -32
  222. package/models/customer.js +2 -2
  223. package/models/discount-module/bundle-discount-module.d.ts +9 -9
  224. package/models/discount-module/bundle-discount-module.js +2 -2
  225. package/models/discount-module/discount-module.d.ts +92 -92
  226. package/models/discount-module/discount-module.js +2 -2
  227. package/models/discount-module/entire-order-discount-module.d.ts +6 -6
  228. package/models/discount-module/entire-order-discount-module.js +2 -2
  229. package/models/discount-module/index.d.ts +3 -3
  230. package/models/discount-module/index.js +6 -6
  231. package/models/discount-module/selected-item-discount-module.d.ts +9 -9
  232. package/models/discount-module/selected-item-discount-module.js +2 -2
  233. package/models/dynamodb-filters.d.ts +37 -37
  234. package/models/dynamodb-filters.js +2 -2
  235. package/models/dynamodb-index.d.ts +19 -19
  236. package/models/dynamodb-index.js +2 -2
  237. package/models/error/index.d.ts +11 -11
  238. package/models/error/index.js +6 -6
  239. package/models/error/invoice.d.ts +3 -3
  240. package/models/error/invoice.js +11 -11
  241. package/models/error/order.d.ts +17 -17
  242. package/models/error/order.js +42 -42
  243. package/models/error/store.d.ts +6 -6
  244. package/models/error/store.js +18 -18
  245. package/models/event.d.ts +13 -13
  246. package/models/event.js +2 -2
  247. package/models/external-config.d.ts +10 -10
  248. package/models/external-config.js +2 -2
  249. package/models/filter-request.d.ts +13 -13
  250. package/models/filter-request.js +2 -2
  251. package/models/index.d.ts +40 -40
  252. package/models/index.js +43 -43
  253. package/models/inventory/index.d.ts +5 -5
  254. package/models/inventory/index.js +8 -8
  255. package/models/inventory/inventory-item-record.d.ts +52 -52
  256. package/models/inventory/inventory-item-record.js +2 -2
  257. package/models/inventory/inventory-item.d.ts +38 -38
  258. package/models/inventory/inventory-item.js +2 -2
  259. package/models/inventory/inventory-record.d.ts +40 -40
  260. package/models/inventory/inventory-record.js +2 -2
  261. package/models/inventory/inventory.d.ts +23 -23
  262. package/models/inventory/inventory.js +2 -2
  263. package/models/inventory/relation.d.ts +17 -17
  264. package/models/inventory/relation.js +2 -2
  265. package/models/invoice-config.d.ts +14 -14
  266. package/models/invoice-config.js +2 -2
  267. package/models/invoice.d.ts +83 -83
  268. package/models/invoice.js +2 -2
  269. package/models/json/base-json.d.ts +3 -3
  270. package/models/json/base-json.js +2 -2
  271. package/models/json/index.d.ts +2 -2
  272. package/models/json/index.js +5 -5
  273. package/models/json/product-json.d.ts +16 -16
  274. package/models/json/product-json.js +2 -2
  275. package/models/kiosk.d.ts +4 -4
  276. package/models/kiosk.js +2 -2
  277. package/models/language.d.ts +8 -8
  278. package/models/language.js +2 -2
  279. package/models/menu.d.ts +111 -111
  280. package/models/menu.js +10 -10
  281. package/models/online-integration.d.ts +88 -88
  282. package/models/online-integration.js +59 -59
  283. package/models/online-ordering.d.ts +230 -230
  284. package/models/online-ordering.js +37 -37
  285. package/models/order-action.d.ts +11 -11
  286. package/models/order-action.js +2 -2
  287. package/models/order.d.ts +445 -445
  288. package/models/order.js +2 -2
  289. package/models/override.d.ts +28 -28
  290. package/models/override.js +14 -14
  291. package/models/payment-config.d.ts +69 -69
  292. package/models/payment-config.js +2 -2
  293. package/models/payment-parameters.d.ts +116 -116
  294. package/models/payment-parameters.js +3 -3
  295. package/models/payment.d.ts +42 -42
  296. package/models/payment.js +2 -2
  297. package/models/permission/index.d.ts +4 -4
  298. package/models/permission/index.js +7 -7
  299. package/models/permission/store-permission.d.ts +9 -9
  300. package/models/permission/store-permission.js +2 -2
  301. package/models/permission/store-role-store-permission.d.ts +5 -5
  302. package/models/permission/store-role-store-permission.js +2 -2
  303. package/models/permission/store-role-store-user.d.ts +5 -5
  304. package/models/permission/store-role-store-user.js +2 -2
  305. package/models/permission/store-role.d.ts +5 -5
  306. package/models/permission/store-role.js +2 -2
  307. package/models/plugin/index.d.ts +5 -5
  308. package/models/plugin/index.js +8 -8
  309. package/models/plugin/intent-handler/index.d.ts +2 -2
  310. package/models/plugin/intent-handler/index.js +5 -5
  311. package/models/plugin/intent-handler/intent-handler-request.d.ts +14 -14
  312. package/models/plugin/intent-handler/intent-handler-request.js +2 -2
  313. package/models/plugin/intent-handler/intent-handler-response.d.ts +7 -7
  314. package/models/plugin/intent-handler/intent-handler-response.js +2 -2
  315. package/models/plugin/payment-machine/index.d.ts +3 -3
  316. package/models/plugin/payment-machine/index.js +6 -6
  317. package/models/plugin/payment-machine/models/fixed-string.model.d.ts +14 -14
  318. package/models/plugin/payment-machine/models/fixed-string.model.js +52 -52
  319. package/models/plugin/payment-machine/models/index.d.ts +5 -5
  320. package/models/plugin/payment-machine/models/index.js +8 -8
  321. package/models/plugin/payment-machine/models/nccc/index.d.ts +3 -3
  322. package/models/plugin/payment-machine/models/nccc/index.js +6 -6
  323. package/models/plugin/payment-machine/models/nccc/payment-machine-d200.model.d.ts +41 -41
  324. package/models/plugin/payment-machine/models/nccc/payment-machine-d200.model.js +140 -140
  325. package/models/plugin/payment-machine/models/nccc/payment-machine-v3p.model.d.ts +42 -42
  326. package/models/plugin/payment-machine/models/nccc/payment-machine-v3p.model.js +621 -621
  327. package/models/plugin/payment-machine/models/nccc/payment-machine-vx520.model.d.ts +21 -21
  328. package/models/plugin/payment-machine/models/nccc/payment-machine-vx520.model.js +28 -28
  329. package/models/plugin/payment-machine/models/payment-machine-minimum.model.d.ts +38 -38
  330. package/models/plugin/payment-machine/models/payment-machine-minimum.model.js +27 -27
  331. package/models/plugin/payment-machine/models/payment-machine-union.model.d.ts +123 -123
  332. package/models/plugin/payment-machine/models/payment-machine-union.model.js +376 -376
  333. package/models/plugin/payment-machine/models/tsb/index.d.ts +1 -1
  334. package/models/plugin/payment-machine/models/tsb/index.js +4 -4
  335. package/models/plugin/payment-machine/models/tsb/payment-machine-d220.model.d.ts +20 -20
  336. package/models/plugin/payment-machine/models/tsb/payment-machine-d220.model.js +27 -27
  337. package/models/plugin/payment-machine/payment-machine-request.d.ts +8 -8
  338. package/models/plugin/payment-machine/payment-machine-request.js +2 -2
  339. package/models/plugin/payment-machine/payment-machine.d.ts +43 -43
  340. package/models/plugin/payment-machine/payment-machine.js +50 -50
  341. package/models/plugin/peripheral.model.d.ts +53 -53
  342. package/models/plugin/peripheral.model.js +38 -38
  343. package/models/plugin/printer/index.d.ts +2 -2
  344. package/models/plugin/printer/index.js +5 -5
  345. package/models/plugin/printer/printer-request.d.ts +20 -20
  346. package/models/plugin/printer/printer-request.js +2 -2
  347. package/models/plugin/printer/printer.d.ts +92 -92
  348. package/models/plugin/printer/printer.js +11 -11
  349. package/models/plugin/serial-port/index.d.ts +2 -2
  350. package/models/plugin/serial-port/index.js +5 -5
  351. package/models/plugin/serial-port/serial-port-request.d.ts +11 -11
  352. package/models/plugin/serial-port/serial-port-request.js +2 -2
  353. package/models/plugin/serial-port/serial-port.d.ts +17 -17
  354. package/models/plugin/serial-port/serial-port.js +22 -22
  355. package/models/printer.d.ts +70 -70
  356. package/models/printer.js +2 -2
  357. package/models/receipt.d.ts +61 -61
  358. package/models/receipt.js +2 -2
  359. package/models/store.d.ts +223 -223
  360. package/models/store.js +3 -3
  361. package/models/table.d.ts +34 -34
  362. package/models/table.js +9 -9
  363. package/models/template-interface/index.d.ts +1 -1
  364. package/models/template-interface/index.js +4 -4
  365. package/models/template-interface/list.d.ts +10 -10
  366. package/models/template-interface/list.js +2 -2
  367. package/models/user.d.ts +31 -31
  368. package/models/user.js +2 -2
  369. package/models/utils/index.d.ts +1 -1
  370. package/models/utils/index.js +4 -4
  371. package/models/utils/utils-data.d.ts +4 -4
  372. package/models/utils/utils-data.js +2 -2
  373. package/package.json +25 -25
  374. package/public-api.d.ts +5 -5
  375. package/public-api.js +8 -8
  376. package/third-party-api/uber-eats/enums/ub-menu.d.ts +24 -24
  377. package/third-party-api/uber-eats/enums/ub-menu.js +32 -32
  378. package/third-party-api/uber-eats/enums/ub-order.d.ts +55 -55
  379. package/third-party-api/uber-eats/enums/ub-order.js +66 -66
  380. package/third-party-api/uber-eats/enums/ub-utils.d.ts +34 -34
  381. package/third-party-api/uber-eats/enums/ub-utils.js +40 -40
  382. package/third-party-api/uber-eats/index.d.ts +13 -13
  383. package/third-party-api/uber-eats/index.js +16 -16
  384. package/third-party-api/uber-eats/models/ub-cancel-order.d.ts +28 -28
  385. package/third-party-api/uber-eats/models/ub-cancel-order.js +17 -17
  386. package/third-party-api/uber-eats/models/ub-cart.d.ts +84 -84
  387. package/third-party-api/uber-eats/models/ub-cart.js +2 -2
  388. package/third-party-api/uber-eats/models/ub-menu-config.d.ts +40 -40
  389. package/third-party-api/uber-eats/models/ub-menu-config.js +2 -2
  390. package/third-party-api/uber-eats/models/ub-menu-item.d.ts +112 -112
  391. package/third-party-api/uber-eats/models/ub-menu-item.js +2 -2
  392. package/third-party-api/uber-eats/models/ub-order.d.ts +59 -59
  393. package/third-party-api/uber-eats/models/ub-order.js +2 -2
  394. package/third-party-api/uber-eats/models/ub-payment.d.ts +59 -59
  395. package/third-party-api/uber-eats/models/ub-payment.js +2 -2
  396. package/third-party-api/uber-eats/models/ub-pos-accept-order.d.ts +39 -39
  397. package/third-party-api/uber-eats/models/ub-pos-accept-order.js +2 -2
  398. package/third-party-api/uber-eats/models/ub-pos-deny-order.d.ts +29 -29
  399. package/third-party-api/uber-eats/models/ub-pos-deny-order.js +17 -17
  400. package/third-party-api/uber-eats/models/ub-quantity-constraint-rules.d.ts +48 -48
  401. package/third-party-api/uber-eats/models/ub-quantity-constraint-rules.js +2 -2
  402. package/third-party-api/uber-eats/models/ub-utils.d.ts +41 -41
  403. package/third-party-api/uber-eats/models/ub-utils.js +2 -2
@@ -1,377 +1,377 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PaymentMachineCommunicationModel = void 0;
4
- const tslib_1 = require("tslib");
5
- const moment_1 = tslib_1.__importDefault(require("moment"));
6
- const payment_machine_1 = require("../payment-machine");
7
- // payment-machine-union.model.ts
8
- const __1 = require("..");
9
- /**
10
- * @Deprecated - Please import from HAL
11
- */
12
- class PaymentMachineCommunicationModel {
13
- //#endregion
14
- //#endregion
15
- constructor() {
16
- this.CreatePaymentCardTypeString();
17
- PaymentMachineCommunicationModel.CreateTradeTypeString();
18
- }
19
- CreatePaymentCardTypeString() {
20
- this.paymentCardTypeString = [];
21
- for (let i = 0; i < __1.PaymentCardTypeEnum.count; i++) {
22
- this.paymentCardTypeString.push('');
23
- }
24
- this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard] = 'creditCard'; // 'N', '03'
25
- this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay] = 'chinaUnionPay'; // 'C', '03' 註:結帳時 'N', '03'
26
- this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade] = 'dCCTrade'; // 'N', '04'
27
- this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket] = 'eTicket'; // 'E', '06'
28
- this.paymentCardTypeString[__1.PaymentCardTypeEnum.unknown] = 'unknown';
29
- }
30
- StringToPaymentCardType(cUPSmartPayESVCIndicator, hostId) {
31
- switch (cUPSmartPayESVCIndicator) {
32
- case 'N':
33
- switch (hostId) {
34
- case '03':
35
- this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard];
36
- break;
37
- case '04':
38
- this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade];
39
- break;
40
- }
41
- break;
42
- case 'C':
43
- this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay];
44
- break;
45
- case 'E':
46
- this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket];
47
- break;
48
- }
49
- }
50
- PaymentCardTypeToStrings(isSettlement) {
51
- let cUPSmartPayESVCIndicator;
52
- let hostId;
53
- if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard]) {
54
- cUPSmartPayESVCIndicator = 'N';
55
- hostId = '03';
56
- }
57
- else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay]) {
58
- // 欄位定義詳見說明文件 P17。
59
- // 註:回傳資料的欄位中並無銀聯卡專用欄位
60
- cUPSmartPayESVCIndicator = isSettlement ? 'N' : 'C';
61
- hostId = '03';
62
- }
63
- else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade]) {
64
- cUPSmartPayESVCIndicator = 'N';
65
- hostId = '04';
66
- }
67
- else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket]) {
68
- cUPSmartPayESVCIndicator = 'E';
69
- hostId = '06';
70
- }
71
- else if (this.paymentCardType === null || this.paymentCardType === undefined) {
72
- cUPSmartPayESVCIndicator = ' ';
73
- hostId = ' ';
74
- }
75
- else {
76
- throw new Error('Unknown card type.');
77
- }
78
- return { cUPSmartPayESVCIndicator, hostId };
79
- }
80
- // tslint:disable-next-line:member-ordering
81
- static CreateTradeTypeString() {
82
- this.tradeTypeString = [];
83
- for (let i = 0; i < payment_machine_1.PaymentMachineActionEnum.count; i++) {
84
- this.tradeTypeString.push('');
85
- }
86
- this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay] = 'pay';
87
- this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund] = 'refund';
88
- this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement] = 'settlement';
89
- this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry] = 'retry';
90
- }
91
- StringToTradeType(transType) {
92
- switch (transType) {
93
- case '01':
94
- this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay];
95
- break;
96
- case '02':
97
- this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund];
98
- break;
99
- case '50':
100
- this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement];
101
- break;
102
- case '62':
103
- this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry];
104
- break;
105
- }
106
- }
107
- TradeTypeToString() {
108
- if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay]) {
109
- return '01';
110
- }
111
- else if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund]) {
112
- return '02';
113
- }
114
- else if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement]) {
115
- return '50';
116
- }
117
- else if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry]) {
118
- return '62';
119
- }
120
- else {
121
- throw new Error('Unknown trade type.');
122
- }
123
- }
124
- // tslint:disable-next-line:member-ordering
125
- static GetTradeTypeString(paymentMachineAction) {
126
- this.CreateTradeTypeString();
127
- return PaymentMachineCommunicationModel.tradeTypeString[paymentMachineAction];
128
- }
129
- //#endregion
130
- //#region Unix time stamp: currentTradeUnixTime, targetTradeUnixTime
131
- StringToCurrentTradeUnixTime(date, time) {
132
- const dateTime = moment_1.default(date + time, 'YYMMDDHHmmss');
133
- if (dateTime.isValid()) {
134
- this.currentTradeUnixTime = dateTime.unix();
135
- }
136
- else {
137
- this.currentTradeUnixTime = undefined;
138
- }
139
- }
140
- StringToTargetTradeUnixTime(date) {
141
- try {
142
- let isSpaces = true;
143
- for (let i = 0; i < date.length; i++) {
144
- if (date.charAt(i) !== ' ') {
145
- isSpaces = false;
146
- break;
147
- }
148
- }
149
- if (isSpaces) {
150
- this.targetTradeUnixTime = 0;
151
- return;
152
- }
153
- const tempDate = moment_1.default(date, 'YYYYMMDD');
154
- this.targetTradeUnixTime = tempDate.unix();
155
- }
156
- catch (_a) {
157
- this.targetTradeUnixTime = 0;
158
- }
159
- }
160
- // tslint:disable-next-line:member-ordering
161
- static ToDateTime(unixTime) {
162
- if (unixTime === 0) {
163
- return { date: null, time: null };
164
- }
165
- const localDateTimeOffset = moment_1.default.unix(unixTime);
166
- const dateTimeString = localDateTimeOffset.format('YYMMDDHHmmss');
167
- return { date: dateTimeString.slice(0, 6), time: dateTimeString.slice(6, 12) };
168
- }
169
- // tslint:disable-next-line:member-ordering
170
- static ToDate(unixTime) {
171
- if (unixTime === 0 || unixTime === undefined) {
172
- return null;
173
- }
174
- const localDateTimeOffset = moment_1.default.unix(unixTime);
175
- const dateString = localDateTimeOffset.format('YYYYMMDD');
176
- return dateString;
177
- }
178
- StringToTransactionId(creditCardApprovalNo, aTSETicketTransactionId) {
179
- if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard] ||
180
- this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay] ||
181
- this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade]) {
182
- this.transactionId = creditCardApprovalNo;
183
- }
184
- else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket]) {
185
- this.transactionId = aTSETicketTransactionId;
186
- }
187
- }
188
- TransactionIdToStrings() {
189
- let creditCardApprovalNo;
190
- let aTSETicketTransactionId;
191
- if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard] ||
192
- this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay] ||
193
- this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade]) {
194
- creditCardApprovalNo = this.transactionId;
195
- }
196
- else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket]) {
197
- aTSETicketTransactionId = this.transactionId;
198
- }
199
- else {
200
- throw new Error('Unknown card type.');
201
- }
202
- return { creditCardApprovalNo, aTSETicketTransactionId };
203
- }
204
- StringToRetryTradeType(transType) {
205
- switch (transType) {
206
- case '01':
207
- this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay];
208
- break;
209
- case '02':
210
- this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund];
211
- break;
212
- case '50':
213
- this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement];
214
- break;
215
- case '62':
216
- this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry];
217
- break;
218
- }
219
- }
220
- RetryTradeTypeToString() {
221
- if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay]) {
222
- return '01';
223
- }
224
- else if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund]) {
225
- return '02';
226
- }
227
- else if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement]) {
228
- return '50';
229
- }
230
- else if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry]) {
231
- return '62';
232
- }
233
- else {
234
- throw new Error('Unknown trade type.');
235
- }
236
- }
237
- StringToPaymentCardDetailedType(cardType) {
238
- switch (cardType) {
239
- case '01':
240
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.twin;
241
- break;
242
- case '02':
243
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.visa;
244
- break;
245
- case '03':
246
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.master;
247
- break;
248
- case '04':
249
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.jcb;
250
- break;
251
- case '05':
252
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.amex;
253
- break;
254
- case '06':
255
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.cup;
256
- break;
257
- case '07':
258
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.discover;
259
- break;
260
- case '08':
261
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.smartPay;
262
- break;
263
- case '11':
264
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.easyCard;
265
- break;
266
- case '12':
267
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.iPass;
268
- break;
269
- case '13':
270
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.iCash;
271
- break;
272
- case '14':
273
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.happyCash;
274
- break;
275
- case '15':
276
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.other;
277
- break;
278
- default:
279
- this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.other;
280
- break;
281
- }
282
- }
283
- GetNCCCV3PResponseMessage(eCRResponseCode) {
284
- this.retry = false;
285
- this.isSuccess = false;
286
- switch (eCRResponseCode) {
287
- case '0000':
288
- this.responseMessage = '交易成功';
289
- this.isSuccess = true;
290
- break;
291
- case '0001':
292
- this.responseMessage = '交易失敗(主機拒絕或是卡片拒絕)';
293
- break;
294
- case '0002':
295
- this.responseMessage = '請連絡銀行';
296
- break;
297
- case '0003':
298
- this.responseMessage = '交易逾時';
299
- break;
300
- case '0004':
301
- this.responseMessage = '操作錯誤';
302
- break;
303
- case 'responseMessage =':
304
- this.responseMessage = '通訊失敗';
305
- break;
306
- case '0006':
307
- this.responseMessage = '使用者終止交易';
308
- break;
309
- case '0009':
310
- this.responseMessage = '非參加機構卡片';
311
- break;
312
- case '0010':
313
- this.responseMessage = '電文錯誤';
314
- break;
315
- case '0011':
316
- this.responseMessage = '非聯名卡';
317
- break;
318
- case '0012':
319
- this.responseMessage = '電票金額超過上限';
320
- break;
321
- case '0013':
322
- this.responseMessage = '票卡已鎖';
323
- break;
324
- case '0014':
325
- this.responseMessage = '無法比對原始電票交易';
326
- break;
327
- case '0015':
328
- this.responseMessage = '票卡未開啟自動加值';
329
- break;
330
- case '0016':
331
- this.responseMessage = '電票餘額不足';
332
- break;
333
- case '0017':
334
- this.responseMessage = '多張票卡讀取失敗';
335
- break;
336
- case '0018':
337
- this.retry = true;
338
- // TODO: 408 timeout exception(printer & scanner), 601 timeout exception(PaymentMachine only)
339
- this.responseMessage = '請重新感應卡片';
340
- break;
341
- case '1001':
342
- this.responseMessage = '信用卡及電票皆結帳失敗';
343
- break;
344
- case '1002':
345
- this.responseMessage = '信用卡結帳成功,電票結帳失敗';
346
- break;
347
- case '1003':
348
- this.responseMessage = '信用卡結帳失敗,電票結帳成功';
349
- break;
350
- case '2001':
351
- this.responseMessage = '優惠券已被使用';
352
- break;
353
- case '2002':
354
- this.responseMessage = '優惠券不存在';
355
- break;
356
- case '2003':
357
- this.responseMessage = '不符合優惠規則';
358
- break;
359
- case '2004':
360
- this.responseMessage = '優惠活動已結束';
361
- break;
362
- case '2005':
363
- this.responseMessage = '優惠券已過期';
364
- break;
365
- case '2006':
366
- this.responseMessage = '無法辨識的 QR CODE';
367
- break;
368
- default:
369
- this.responseMessage = '未知的 ECR Response Code';
370
- break;
371
- }
372
- }
373
- }
374
- exports.PaymentMachineCommunicationModel = PaymentMachineCommunicationModel;
375
- // tslint:disable-next-line:member-ordering
376
- PaymentMachineCommunicationModel.tradeTypeString = [];
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentMachineCommunicationModel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const moment_1 = tslib_1.__importDefault(require("moment"));
6
+ const payment_machine_1 = require("../payment-machine");
7
+ // payment-machine-union.model.ts
8
+ const __1 = require("..");
9
+ /**
10
+ * @Deprecated - Please import from HAL
11
+ */
12
+ class PaymentMachineCommunicationModel {
13
+ //#endregion
14
+ //#endregion
15
+ constructor() {
16
+ this.CreatePaymentCardTypeString();
17
+ PaymentMachineCommunicationModel.CreateTradeTypeString();
18
+ }
19
+ CreatePaymentCardTypeString() {
20
+ this.paymentCardTypeString = [];
21
+ for (let i = 0; i < __1.PaymentCardTypeEnum.count; i++) {
22
+ this.paymentCardTypeString.push('');
23
+ }
24
+ this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard] = 'creditCard'; // 'N', '03'
25
+ this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay] = 'chinaUnionPay'; // 'C', '03' 註:結帳時 'N', '03'
26
+ this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade] = 'dCCTrade'; // 'N', '04'
27
+ this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket] = 'eTicket'; // 'E', '06'
28
+ this.paymentCardTypeString[__1.PaymentCardTypeEnum.unknown] = 'unknown';
29
+ }
30
+ StringToPaymentCardType(cUPSmartPayESVCIndicator, hostId) {
31
+ switch (cUPSmartPayESVCIndicator) {
32
+ case 'N':
33
+ switch (hostId) {
34
+ case '03':
35
+ this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard];
36
+ break;
37
+ case '04':
38
+ this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade];
39
+ break;
40
+ }
41
+ break;
42
+ case 'C':
43
+ this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay];
44
+ break;
45
+ case 'E':
46
+ this.paymentCardType = this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket];
47
+ break;
48
+ }
49
+ }
50
+ PaymentCardTypeToStrings(isSettlement) {
51
+ let cUPSmartPayESVCIndicator;
52
+ let hostId;
53
+ if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard]) {
54
+ cUPSmartPayESVCIndicator = 'N';
55
+ hostId = '03';
56
+ }
57
+ else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay]) {
58
+ // 欄位定義詳見說明文件 P17。
59
+ // 註:回傳資料的欄位中並無銀聯卡專用欄位
60
+ cUPSmartPayESVCIndicator = isSettlement ? 'N' : 'C';
61
+ hostId = '03';
62
+ }
63
+ else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade]) {
64
+ cUPSmartPayESVCIndicator = 'N';
65
+ hostId = '04';
66
+ }
67
+ else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket]) {
68
+ cUPSmartPayESVCIndicator = 'E';
69
+ hostId = '06';
70
+ }
71
+ else if (this.paymentCardType === null || this.paymentCardType === undefined) {
72
+ cUPSmartPayESVCIndicator = ' ';
73
+ hostId = ' ';
74
+ }
75
+ else {
76
+ throw new Error('Unknown card type.');
77
+ }
78
+ return { cUPSmartPayESVCIndicator, hostId };
79
+ }
80
+ // tslint:disable-next-line:member-ordering
81
+ static CreateTradeTypeString() {
82
+ this.tradeTypeString = [];
83
+ for (let i = 0; i < payment_machine_1.PaymentMachineActionEnum.count; i++) {
84
+ this.tradeTypeString.push('');
85
+ }
86
+ this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay] = 'pay';
87
+ this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund] = 'refund';
88
+ this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement] = 'settlement';
89
+ this.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry] = 'retry';
90
+ }
91
+ StringToTradeType(transType) {
92
+ switch (transType) {
93
+ case '01':
94
+ this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay];
95
+ break;
96
+ case '02':
97
+ this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund];
98
+ break;
99
+ case '50':
100
+ this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement];
101
+ break;
102
+ case '62':
103
+ this.tradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry];
104
+ break;
105
+ }
106
+ }
107
+ TradeTypeToString() {
108
+ if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay]) {
109
+ return '01';
110
+ }
111
+ else if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund]) {
112
+ return '02';
113
+ }
114
+ else if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement]) {
115
+ return '50';
116
+ }
117
+ else if (this.tradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry]) {
118
+ return '62';
119
+ }
120
+ else {
121
+ throw new Error('Unknown trade type.');
122
+ }
123
+ }
124
+ // tslint:disable-next-line:member-ordering
125
+ static GetTradeTypeString(paymentMachineAction) {
126
+ this.CreateTradeTypeString();
127
+ return PaymentMachineCommunicationModel.tradeTypeString[paymentMachineAction];
128
+ }
129
+ //#endregion
130
+ //#region Unix time stamp: currentTradeUnixTime, targetTradeUnixTime
131
+ StringToCurrentTradeUnixTime(date, time) {
132
+ const dateTime = moment_1.default(date + time, 'YYMMDDHHmmss');
133
+ if (dateTime.isValid()) {
134
+ this.currentTradeUnixTime = dateTime.unix();
135
+ }
136
+ else {
137
+ this.currentTradeUnixTime = undefined;
138
+ }
139
+ }
140
+ StringToTargetTradeUnixTime(date) {
141
+ try {
142
+ let isSpaces = true;
143
+ for (let i = 0; i < date.length; i++) {
144
+ if (date.charAt(i) !== ' ') {
145
+ isSpaces = false;
146
+ break;
147
+ }
148
+ }
149
+ if (isSpaces) {
150
+ this.targetTradeUnixTime = 0;
151
+ return;
152
+ }
153
+ const tempDate = moment_1.default(date, 'YYYYMMDD');
154
+ this.targetTradeUnixTime = tempDate.unix();
155
+ }
156
+ catch (_a) {
157
+ this.targetTradeUnixTime = 0;
158
+ }
159
+ }
160
+ // tslint:disable-next-line:member-ordering
161
+ static ToDateTime(unixTime) {
162
+ if (unixTime === 0) {
163
+ return { date: null, time: null };
164
+ }
165
+ const localDateTimeOffset = moment_1.default.unix(unixTime);
166
+ const dateTimeString = localDateTimeOffset.format('YYMMDDHHmmss');
167
+ return { date: dateTimeString.slice(0, 6), time: dateTimeString.slice(6, 12) };
168
+ }
169
+ // tslint:disable-next-line:member-ordering
170
+ static ToDate(unixTime) {
171
+ if (unixTime === 0 || unixTime === undefined) {
172
+ return null;
173
+ }
174
+ const localDateTimeOffset = moment_1.default.unix(unixTime);
175
+ const dateString = localDateTimeOffset.format('YYYYMMDD');
176
+ return dateString;
177
+ }
178
+ StringToTransactionId(creditCardApprovalNo, aTSETicketTransactionId) {
179
+ if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard] ||
180
+ this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay] ||
181
+ this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade]) {
182
+ this.transactionId = creditCardApprovalNo;
183
+ }
184
+ else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket]) {
185
+ this.transactionId = aTSETicketTransactionId;
186
+ }
187
+ }
188
+ TransactionIdToStrings() {
189
+ let creditCardApprovalNo;
190
+ let aTSETicketTransactionId;
191
+ if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.creditCard] ||
192
+ this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.chinaUnionPay] ||
193
+ this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.dCCTrade]) {
194
+ creditCardApprovalNo = this.transactionId;
195
+ }
196
+ else if (this.paymentCardType === this.paymentCardTypeString[__1.PaymentCardTypeEnum.eTicket]) {
197
+ aTSETicketTransactionId = this.transactionId;
198
+ }
199
+ else {
200
+ throw new Error('Unknown card type.');
201
+ }
202
+ return { creditCardApprovalNo, aTSETicketTransactionId };
203
+ }
204
+ StringToRetryTradeType(transType) {
205
+ switch (transType) {
206
+ case '01':
207
+ this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay];
208
+ break;
209
+ case '02':
210
+ this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund];
211
+ break;
212
+ case '50':
213
+ this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement];
214
+ break;
215
+ case '62':
216
+ this.retryTradeType = PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry];
217
+ break;
218
+ }
219
+ }
220
+ RetryTradeTypeToString() {
221
+ if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.pay]) {
222
+ return '01';
223
+ }
224
+ else if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.refund]) {
225
+ return '02';
226
+ }
227
+ else if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.settlement]) {
228
+ return '50';
229
+ }
230
+ else if (this.retryTradeType === PaymentMachineCommunicationModel.tradeTypeString[payment_machine_1.PaymentMachineActionEnum.retry]) {
231
+ return '62';
232
+ }
233
+ else {
234
+ throw new Error('Unknown trade type.');
235
+ }
236
+ }
237
+ StringToPaymentCardDetailedType(cardType) {
238
+ switch (cardType) {
239
+ case '01':
240
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.twin;
241
+ break;
242
+ case '02':
243
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.visa;
244
+ break;
245
+ case '03':
246
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.master;
247
+ break;
248
+ case '04':
249
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.jcb;
250
+ break;
251
+ case '05':
252
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.amex;
253
+ break;
254
+ case '06':
255
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.cup;
256
+ break;
257
+ case '07':
258
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.discover;
259
+ break;
260
+ case '08':
261
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.smartPay;
262
+ break;
263
+ case '11':
264
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.easyCard;
265
+ break;
266
+ case '12':
267
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.iPass;
268
+ break;
269
+ case '13':
270
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.iCash;
271
+ break;
272
+ case '14':
273
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.happyCash;
274
+ break;
275
+ case '15':
276
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.other;
277
+ break;
278
+ default:
279
+ this.paymentCardDetailedType = __1.PaymentCardDetailedTypeEnum.other;
280
+ break;
281
+ }
282
+ }
283
+ GetNCCCV3PResponseMessage(eCRResponseCode) {
284
+ this.retry = false;
285
+ this.isSuccess = false;
286
+ switch (eCRResponseCode) {
287
+ case '0000':
288
+ this.responseMessage = '交易成功';
289
+ this.isSuccess = true;
290
+ break;
291
+ case '0001':
292
+ this.responseMessage = '交易失敗(主機拒絕或是卡片拒絕)';
293
+ break;
294
+ case '0002':
295
+ this.responseMessage = '請連絡銀行';
296
+ break;
297
+ case '0003':
298
+ this.responseMessage = '交易逾時';
299
+ break;
300
+ case '0004':
301
+ this.responseMessage = '操作錯誤';
302
+ break;
303
+ case 'responseMessage =':
304
+ this.responseMessage = '通訊失敗';
305
+ break;
306
+ case '0006':
307
+ this.responseMessage = '使用者終止交易';
308
+ break;
309
+ case '0009':
310
+ this.responseMessage = '非參加機構卡片';
311
+ break;
312
+ case '0010':
313
+ this.responseMessage = '電文錯誤';
314
+ break;
315
+ case '0011':
316
+ this.responseMessage = '非聯名卡';
317
+ break;
318
+ case '0012':
319
+ this.responseMessage = '電票金額超過上限';
320
+ break;
321
+ case '0013':
322
+ this.responseMessage = '票卡已鎖';
323
+ break;
324
+ case '0014':
325
+ this.responseMessage = '無法比對原始電票交易';
326
+ break;
327
+ case '0015':
328
+ this.responseMessage = '票卡未開啟自動加值';
329
+ break;
330
+ case '0016':
331
+ this.responseMessage = '電票餘額不足';
332
+ break;
333
+ case '0017':
334
+ this.responseMessage = '多張票卡讀取失敗';
335
+ break;
336
+ case '0018':
337
+ this.retry = true;
338
+ // TODO: 408 timeout exception(printer & scanner), 601 timeout exception(PaymentMachine only)
339
+ this.responseMessage = '請重新感應卡片';
340
+ break;
341
+ case '1001':
342
+ this.responseMessage = '信用卡及電票皆結帳失敗';
343
+ break;
344
+ case '1002':
345
+ this.responseMessage = '信用卡結帳成功,電票結帳失敗';
346
+ break;
347
+ case '1003':
348
+ this.responseMessage = '信用卡結帳失敗,電票結帳成功';
349
+ break;
350
+ case '2001':
351
+ this.responseMessage = '優惠券已被使用';
352
+ break;
353
+ case '2002':
354
+ this.responseMessage = '優惠券不存在';
355
+ break;
356
+ case '2003':
357
+ this.responseMessage = '不符合優惠規則';
358
+ break;
359
+ case '2004':
360
+ this.responseMessage = '優惠活動已結束';
361
+ break;
362
+ case '2005':
363
+ this.responseMessage = '優惠券已過期';
364
+ break;
365
+ case '2006':
366
+ this.responseMessage = '無法辨識的 QR CODE';
367
+ break;
368
+ default:
369
+ this.responseMessage = '未知的 ECR Response Code';
370
+ break;
371
+ }
372
+ }
373
+ }
374
+ exports.PaymentMachineCommunicationModel = PaymentMachineCommunicationModel;
375
+ // tslint:disable-next-line:member-ordering
376
+ PaymentMachineCommunicationModel.tradeTypeString = [];
377
377
  //# sourceMappingURL=payment-machine-union.model.js.map