globalpayments-api 3.0.0 → 3.1.1

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 (596) hide show
  1. package/.eslintignore +9 -0
  2. package/.eslintrc.cjs +39 -0
  3. package/.prettierrc +14 -4
  4. package/CHANGELOG.md +44 -32
  5. package/lib/src/Builders/AuthorizationBuilder.d.ts +325 -325
  6. package/lib/src/Builders/AuthorizationBuilder.js +616 -600
  7. package/lib/src/Builders/AuthorizationBuilder.js.map +1 -1
  8. package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +14 -14
  9. package/lib/src/Builders/BaseBuilder/ValidationClause.js +61 -61
  10. package/lib/src/Builders/BaseBuilder/ValidationClause.js.map +1 -1
  11. package/lib/src/Builders/BaseBuilder/ValidationTarget.d.ts +16 -16
  12. package/lib/src/Builders/BaseBuilder/ValidationTarget.js +35 -28
  13. package/lib/src/Builders/BaseBuilder/ValidationTarget.js.map +1 -1
  14. package/lib/src/Builders/BaseBuilder/Validations.d.ts +11 -11
  15. package/lib/src/Builders/BaseBuilder/Validations.js +54 -56
  16. package/lib/src/Builders/BaseBuilder/Validations.js.map +1 -1
  17. package/lib/src/Builders/BaseBuilder.d.ts +11 -11
  18. package/lib/src/Builders/BaseBuilder.js +16 -16
  19. package/lib/src/Builders/BaseBuilder.js.map +1 -1
  20. package/lib/src/Builders/ManagementBuilder.d.ts +104 -103
  21. package/lib/src/Builders/ManagementBuilder.js +207 -227
  22. package/lib/src/Builders/ManagementBuilder.js.map +1 -1
  23. package/lib/src/Builders/PayFacBuilder.d.ts +98 -96
  24. package/lib/src/Builders/PayFacBuilder.js +233 -184
  25. package/lib/src/Builders/PayFacBuilder.js.map +1 -1
  26. package/lib/src/Builders/RecurringBuilder.d.ts +13 -13
  27. package/lib/src/Builders/RecurringBuilder.js +33 -47
  28. package/lib/src/Builders/RecurringBuilder.js.map +1 -1
  29. package/lib/src/Builders/ReportBuilder.d.ts +8 -8
  30. package/lib/src/Builders/ReportBuilder.js +20 -36
  31. package/lib/src/Builders/ReportBuilder.js.map +1 -1
  32. package/lib/src/Builders/RequestBuilder/GpApi/AccessTokenRequest.d.ts +11 -0
  33. package/lib/src/Builders/RequestBuilder/GpApi/AccessTokenRequest.js +23 -0
  34. package/lib/src/Builders/RequestBuilder/GpApi/AccessTokenRequest.js.map +1 -0
  35. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.d.ts +17 -0
  36. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js +36 -0
  37. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js.map +1 -0
  38. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.d.ts +6 -0
  39. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js +49 -0
  40. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js.map +1 -0
  41. package/lib/src/Builders/RequestBuilder/GpApi/index.d.ts +3 -0
  42. package/lib/src/Builders/RequestBuilder/GpApi/index.js +20 -0
  43. package/lib/src/Builders/RequestBuilder/GpApi/index.js.map +1 -0
  44. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomAuthorizationRequestBuilder.d.ts +17 -22
  45. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomAuthorizationRequestBuilder.js +108 -159
  46. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomAuthorizationRequestBuilder.js.map +1 -1
  47. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.d.ts +11 -0
  48. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js +83 -0
  49. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js.map +1 -0
  50. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomRequestBuilder.d.ts +9 -6
  51. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomRequestBuilder.js +65 -23
  52. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomRequestBuilder.js.map +1 -1
  53. package/lib/src/Builders/RequestBuilder/GpEcom/index.d.ts +3 -2
  54. package/lib/src/Builders/RequestBuilder/GpEcom/index.js +19 -14
  55. package/lib/src/Builders/RequestBuilder/GpEcom/index.js.map +1 -1
  56. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.d.ts +7 -6
  57. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js +30 -29
  58. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js.map +1 -1
  59. package/lib/src/Builders/RequestBuilder/index.d.ts +3 -2
  60. package/lib/src/Builders/RequestBuilder/index.js +19 -14
  61. package/lib/src/Builders/RequestBuilder/index.js.map +1 -1
  62. package/lib/src/Builders/TransactionBuilder.d.ts +12 -10
  63. package/lib/src/Builders/TransactionBuilder.js +42 -46
  64. package/lib/src/Builders/TransactionBuilder.js.map +1 -1
  65. package/lib/src/Builders/TransactionReportBuilder.d.ts +15 -15
  66. package/lib/src/Builders/TransactionReportBuilder.js +64 -79
  67. package/lib/src/Builders/TransactionReportBuilder.js.map +1 -1
  68. package/lib/src/Builders/index.d.ts +8 -8
  69. package/lib/src/Builders/index.js +24 -20
  70. package/lib/src/Builders/index.js.map +1 -1
  71. package/lib/src/ConfiguredServices.d.ts +18 -22
  72. package/lib/src/ConfiguredServices.js +23 -56
  73. package/lib/src/ConfiguredServices.js.map +1 -1
  74. package/lib/src/Entities/Address.d.ts +13 -13
  75. package/lib/src/Entities/Address.js +20 -19
  76. package/lib/src/Entities/Address.js.map +1 -1
  77. package/lib/src/Entities/BatchSummary.d.ts +6 -6
  78. package/lib/src/Entities/BatchSummary.js +10 -9
  79. package/lib/src/Entities/BatchSummary.js.map +1 -1
  80. package/lib/src/Entities/Customer.d.ts +64 -64
  81. package/lib/src/Entities/Customer.js +79 -47
  82. package/lib/src/Entities/Customer.js.map +1 -1
  83. package/lib/src/Entities/CustomerDocument.d.ts +8 -0
  84. package/lib/src/Entities/CustomerDocument.js +16 -0
  85. package/lib/src/Entities/CustomerDocument.js.map +1 -0
  86. package/lib/src/Entities/DocumentUploadData.d.ts +13 -13
  87. package/lib/src/Entities/DocumentUploadData.js +80 -48
  88. package/lib/src/Entities/DocumentUploadData.js.map +1 -1
  89. package/lib/src/Entities/EcommerceInfo.d.ts +12 -12
  90. package/lib/src/Entities/EcommerceInfo.js +21 -14
  91. package/lib/src/Entities/EcommerceInfo.js.map +1 -1
  92. package/lib/src/Entities/EncryptionData.d.ts +6 -6
  93. package/lib/src/Entities/EncryptionData.js +10 -9
  94. package/lib/src/Entities/EncryptionData.js.map +1 -1
  95. package/lib/src/Entities/Enums.d.ts +428 -373
  96. package/lib/src/Entities/Enums.js +564 -497
  97. package/lib/src/Entities/Enums.js.map +1 -1
  98. package/lib/src/Entities/Errors.d.ts +23 -23
  99. package/lib/src/Entities/Errors.js +71 -106
  100. package/lib/src/Entities/Errors.js.map +1 -1
  101. package/lib/src/Entities/GpApi/AccessTokenInfo.d.ts +16 -0
  102. package/lib/src/Entities/GpApi/AccessTokenInfo.js +21 -0
  103. package/lib/src/Entities/GpApi/AccessTokenInfo.js.map +1 -0
  104. package/lib/src/Entities/GpApi/GpApiAccount.d.ts +5 -0
  105. package/lib/src/Entities/GpApi/GpApiAccount.js +13 -0
  106. package/lib/src/Entities/GpApi/GpApiAccount.js.map +1 -0
  107. package/lib/src/Entities/GpApi/GpApiRequest.d.ts +21 -0
  108. package/lib/src/Entities/GpApi/GpApiRequest.js +26 -0
  109. package/lib/src/Entities/GpApi/GpApiRequest.js.map +1 -0
  110. package/lib/src/Entities/GpApi/GpApiTokenResponse.d.ts +52 -0
  111. package/lib/src/Entities/GpApi/GpApiTokenResponse.js +115 -0
  112. package/lib/src/Entities/GpApi/GpApiTokenResponse.js.map +1 -0
  113. package/lib/src/Entities/GpApi/index.d.ts +4 -0
  114. package/lib/src/Entities/GpApi/index.js +21 -0
  115. package/lib/src/Entities/GpApi/index.js.map +1 -0
  116. package/lib/src/Entities/HostedPaymentData.d.ts +10 -10
  117. package/lib/src/Entities/HostedPaymentData.js +16 -10
  118. package/lib/src/Entities/HostedPaymentData.js.map +1 -1
  119. package/lib/src/Entities/IRequestBuilder.d.ts +6 -7
  120. package/lib/src/Entities/IRequestBuilder.js +2 -2
  121. package/lib/src/Entities/ProFac/AccountBalanceResponseData.d.ts +7 -7
  122. package/lib/src/Entities/ProFac/AccountBalanceResponseData.js +11 -9
  123. package/lib/src/Entities/ProFac/AccountBalanceResponseData.js.map +1 -1
  124. package/lib/src/Entities/ProFac/AccountPermissions.d.ts +15 -15
  125. package/lib/src/Entities/ProFac/AccountPermissions.js +18 -9
  126. package/lib/src/Entities/ProFac/AccountPermissions.js.map +1 -1
  127. package/lib/src/Entities/ProFac/BankAccountData.d.ts +10 -10
  128. package/lib/src/Entities/ProFac/BankAccountData.js +41 -9
  129. package/lib/src/Entities/ProFac/BankAccountData.js.map +1 -1
  130. package/lib/src/Entities/ProFac/BankAccountOwnershipData.d.ts +8 -8
  131. package/lib/src/Entities/ProFac/BankAccountOwnershipData.js +14 -11
  132. package/lib/src/Entities/ProFac/BankAccountOwnershipData.js.map +1 -1
  133. package/lib/src/Entities/ProFac/BeneficialOwnerData.d.ts +6 -6
  134. package/lib/src/Entities/ProFac/BeneficialOwnerData.js +11 -10
  135. package/lib/src/Entities/ProFac/BeneficialOwnerData.js.map +1 -1
  136. package/lib/src/Entities/ProFac/BeneficialOwnerDataResult.d.ts +5 -5
  137. package/lib/src/Entities/ProFac/BeneficialOwnerDataResult.js +9 -9
  138. package/lib/src/Entities/ProFac/BeneficialOwnerDataResult.js.map +1 -1
  139. package/lib/src/Entities/ProFac/BusinessData.d.ts +15 -14
  140. package/lib/src/Entities/ProFac/BusinessData.js +49 -11
  141. package/lib/src/Entities/ProFac/BusinessData.js.map +1 -1
  142. package/lib/src/Entities/ProFac/DeviceAttributeInfo.d.ts +4 -4
  143. package/lib/src/Entities/ProFac/DeviceAttributeInfo.js +16 -9
  144. package/lib/src/Entities/ProFac/DeviceAttributeInfo.js.map +1 -1
  145. package/lib/src/Entities/ProFac/DeviceData.d.ts +5 -5
  146. package/lib/src/Entities/ProFac/DeviceData.js +10 -10
  147. package/lib/src/Entities/ProFac/DeviceData.js.map +1 -1
  148. package/lib/src/Entities/ProFac/DeviceInfo.d.ts +6 -6
  149. package/lib/src/Entities/ProFac/DeviceInfo.js +18 -9
  150. package/lib/src/Entities/ProFac/DeviceInfo.js.map +1 -1
  151. package/lib/src/Entities/ProFac/FlashFundsPaymentCardData.d.ts +7 -7
  152. package/lib/src/Entities/ProFac/FlashFundsPaymentCardData.js +14 -13
  153. package/lib/src/Entities/ProFac/FlashFundsPaymentCardData.js.map +1 -1
  154. package/lib/src/Entities/ProFac/GrossBillingInformation.d.ts +8 -8
  155. package/lib/src/Entities/ProFac/GrossBillingInformation.js +9 -9
  156. package/lib/src/Entities/ProFac/GrossBillingInformation.js.map +1 -1
  157. package/lib/src/Entities/ProFac/OrderDevice.d.ts +18 -18
  158. package/lib/src/Entities/ProFac/OrderDevice.js +22 -9
  159. package/lib/src/Entities/ProFac/OrderDevice.js.map +1 -1
  160. package/lib/src/Entities/ProFac/OwnersData.d.ts +12 -12
  161. package/lib/src/Entities/ProFac/OwnersData.js +42 -11
  162. package/lib/src/Entities/ProFac/OwnersData.js.map +1 -1
  163. package/lib/src/Entities/ProFac/PayFacResponseData.d.ts +55 -55
  164. package/lib/src/Entities/ProFac/PayFacResponseData.js +61 -9
  165. package/lib/src/Entities/ProFac/PayFacResponseData.js.map +1 -1
  166. package/lib/src/Entities/ProFac/RenewAccountData.d.ts +10 -10
  167. package/lib/src/Entities/ProFac/RenewAccountData.js +37 -11
  168. package/lib/src/Entities/ProFac/RenewAccountData.js.map +1 -1
  169. package/lib/src/Entities/ProFac/SignificantOwnerData.d.ts +8 -8
  170. package/lib/src/Entities/ProFac/SignificantOwnerData.js +26 -11
  171. package/lib/src/Entities/ProFac/SignificantOwnerData.js.map +1 -1
  172. package/lib/src/Entities/ProFac/ThreatRiskData.d.ts +5 -5
  173. package/lib/src/Entities/ProFac/ThreatRiskData.js +18 -9
  174. package/lib/src/Entities/ProFac/ThreatRiskData.js.map +1 -1
  175. package/lib/src/Entities/ProFac/UserPersonalData.d.ts +26 -26
  176. package/lib/src/Entities/ProFac/UserPersonalData.js +81 -14
  177. package/lib/src/Entities/ProFac/UserPersonalData.js.map +1 -1
  178. package/lib/src/Entities/RecurringEntity.d.ts +14 -14
  179. package/lib/src/Entities/RecurringEntity.js +91 -86
  180. package/lib/src/Entities/RecurringEntity.js.map +1 -1
  181. package/lib/src/Entities/Request.d.ts +10 -9
  182. package/lib/src/Entities/Request.js +17 -14
  183. package/lib/src/Entities/Request.js.map +1 -1
  184. package/lib/src/Entities/SSORequestData.d.ts +5 -5
  185. package/lib/src/Entities/SSORequestData.js +18 -9
  186. package/lib/src/Entities/SSORequestData.js.map +1 -1
  187. package/lib/src/Entities/Schedule.d.ts +47 -47
  188. package/lib/src/Entities/Schedule.js +324 -253
  189. package/lib/src/Entities/Schedule.js.map +1 -1
  190. package/lib/src/Entities/ServiceEndpoints.d.ts +12 -4
  191. package/lib/src/Entities/ServiceEndpoints.js +16 -8
  192. package/lib/src/Entities/ServiceEndpoints.js.map +1 -1
  193. package/lib/src/Entities/Transaction.d.ts +78 -78
  194. package/lib/src/Entities/Transaction.js +126 -108
  195. package/lib/src/Entities/Transaction.js.map +1 -1
  196. package/lib/src/Entities/TransactionSummary.d.ts +61 -61
  197. package/lib/src/Entities/TransactionSummary.js +65 -9
  198. package/lib/src/Entities/TransactionSummary.js.map +1 -1
  199. package/lib/src/Entities/index.d.ts +17 -15
  200. package/lib/src/Entities/index.js +33 -27
  201. package/lib/src/Entities/index.js.map +1 -1
  202. package/lib/src/Gateways/Gateway.d.ts +12 -10
  203. package/lib/src/Gateways/Gateway.js +69 -42
  204. package/lib/src/Gateways/Gateway.js.map +1 -1
  205. package/lib/src/Gateways/GatewayResponse.d.ts +8 -0
  206. package/lib/src/Gateways/GatewayResponse.js +15 -0
  207. package/lib/src/Gateways/GatewayResponse.js.map +1 -0
  208. package/lib/src/Gateways/GpApiConnector.d.ts +41 -0
  209. package/lib/src/Gateways/GpApiConnector.js +218 -0
  210. package/lib/src/Gateways/GpApiConnector.js.map +1 -0
  211. package/lib/src/Gateways/GpEcomConnector.d.ts +36 -36
  212. package/lib/src/Gateways/GpEcomConnector.js +464 -556
  213. package/lib/src/Gateways/GpEcomConnector.js.map +1 -1
  214. package/lib/src/Gateways/IPayFacProvider.d.ts +5 -5
  215. package/lib/src/Gateways/IPayFacProvider.js +2 -2
  216. package/lib/src/Gateways/IPaymentGateway.d.ts +8 -8
  217. package/lib/src/Gateways/IPaymentGateway.js +2 -2
  218. package/lib/src/Gateways/IRecurringService.d.ts +6 -6
  219. package/lib/src/Gateways/IRecurringService.js +2 -2
  220. package/lib/src/Gateways/PayPlanConnector.d.ts +42 -42
  221. package/lib/src/Gateways/PayPlanConnector.js +531 -552
  222. package/lib/src/Gateways/PayPlanConnector.js.map +1 -1
  223. package/lib/src/Gateways/PorticoConnector.d.ts +48 -44
  224. package/lib/src/Gateways/PorticoConnector.js +1012 -1017
  225. package/lib/src/Gateways/PorticoConnector.js.map +1 -1
  226. package/lib/src/Gateways/ProPayConnector.d.ts +45 -41
  227. package/lib/src/Gateways/ProPayConnector.js +801 -694
  228. package/lib/src/Gateways/ProPayConnector.js.map +1 -1
  229. package/lib/src/Gateways/RestGateway.d.ts +8 -6
  230. package/lib/src/Gateways/RestGateway.js +48 -31
  231. package/lib/src/Gateways/RestGateway.js.map +1 -1
  232. package/lib/src/Gateways/XmlGateway.d.ts +5 -6
  233. package/lib/src/Gateways/XmlGateway.js +13 -37
  234. package/lib/src/Gateways/XmlGateway.js.map +1 -1
  235. package/lib/src/Gateways/https-wrapper.d.ts +3 -3
  236. package/lib/src/Gateways/https-wrapper.js +76 -35
  237. package/lib/src/Gateways/https-wrapper.js.map +1 -1
  238. package/lib/src/Gateways/index.d.ts +9 -8
  239. package/lib/src/Gateways/index.js +25 -20
  240. package/lib/src/Gateways/index.js.map +1 -1
  241. package/lib/src/HostedPaymentConfig.d.ts +12 -12
  242. package/lib/src/HostedPaymentConfig.js +15 -9
  243. package/lib/src/HostedPaymentConfig.js.map +1 -1
  244. package/lib/src/Mapping/GpApiMapping.d.ts +5 -0
  245. package/lib/src/Mapping/GpApiMapping.js +14 -0
  246. package/lib/src/Mapping/GpApiMapping.js.map +1 -0
  247. package/lib/src/Mapping/GpEcomMapping.d.ts +9 -9
  248. package/lib/src/Mapping/GpEcomMapping.js +84 -73
  249. package/lib/src/Mapping/GpEcomMapping.js.map +1 -1
  250. package/lib/src/Mapping/index.d.ts +2 -1
  251. package/lib/src/Mapping/index.js +18 -13
  252. package/lib/src/Mapping/index.js.map +1 -1
  253. package/lib/src/PaymentMethods/Cash.d.ts +8 -8
  254. package/lib/src/PaymentMethods/Cash.js +15 -36
  255. package/lib/src/PaymentMethods/Cash.js.map +1 -1
  256. package/lib/src/PaymentMethods/Credit.d.ts +85 -85
  257. package/lib/src/PaymentMethods/Credit.js +104 -106
  258. package/lib/src/PaymentMethods/Credit.js.map +1 -1
  259. package/lib/src/PaymentMethods/CreditCardData.d.ts +20 -20
  260. package/lib/src/PaymentMethods/CreditCardData.js +46 -57
  261. package/lib/src/PaymentMethods/CreditCardData.js.map +1 -1
  262. package/lib/src/PaymentMethods/CreditTrackData.d.ts +7 -7
  263. package/lib/src/PaymentMethods/CreditTrackData.js +9 -27
  264. package/lib/src/PaymentMethods/CreditTrackData.js.map +1 -1
  265. package/lib/src/PaymentMethods/Debit.d.ts +40 -40
  266. package/lib/src/PaymentMethods/Debit.js +51 -70
  267. package/lib/src/PaymentMethods/Debit.js.map +1 -1
  268. package/lib/src/PaymentMethods/DebitTrackData.d.ts +7 -7
  269. package/lib/src/PaymentMethods/DebitTrackData.js +9 -27
  270. package/lib/src/PaymentMethods/DebitTrackData.js.map +1 -1
  271. package/lib/src/PaymentMethods/EBT.d.ts +48 -48
  272. package/lib/src/PaymentMethods/EBT.js +67 -88
  273. package/lib/src/PaymentMethods/EBT.js.map +1 -1
  274. package/lib/src/PaymentMethods/EBTCardData.d.ts +16 -16
  275. package/lib/src/PaymentMethods/EBTCardData.js +24 -32
  276. package/lib/src/PaymentMethods/EBTCardData.js.map +1 -1
  277. package/lib/src/PaymentMethods/EBTTrackData.d.ts +8 -8
  278. package/lib/src/PaymentMethods/EBTTrackData.js +10 -27
  279. package/lib/src/PaymentMethods/EBTTrackData.js.map +1 -1
  280. package/lib/src/PaymentMethods/ECheck.d.ts +32 -32
  281. package/lib/src/PaymentMethods/ECheck.js +37 -40
  282. package/lib/src/PaymentMethods/ECheck.js.map +1 -1
  283. package/lib/src/PaymentMethods/GiftCard.d.ts +131 -131
  284. package/lib/src/PaymentMethods/GiftCard.js +188 -205
  285. package/lib/src/PaymentMethods/GiftCard.js.map +1 -1
  286. package/lib/src/PaymentMethods/Interfaces.d.ts +55 -55
  287. package/lib/src/PaymentMethods/Interfaces.js +2 -2
  288. package/lib/src/PaymentMethods/PaymentMethod.d.ts +19 -19
  289. package/lib/src/PaymentMethods/PaymentMethod.js +56 -114
  290. package/lib/src/PaymentMethods/PaymentMethod.js.map +1 -1
  291. package/lib/src/PaymentMethods/RecurringPaymentMethod.d.ts +23 -23
  292. package/lib/src/PaymentMethods/RecurringPaymentMethod.js +65 -77
  293. package/lib/src/PaymentMethods/RecurringPaymentMethod.js.map +1 -1
  294. package/lib/src/PaymentMethods/TransactionReference.d.ts +10 -10
  295. package/lib/src/PaymentMethods/TransactionReference.js +16 -12
  296. package/lib/src/PaymentMethods/TransactionReference.js.map +1 -1
  297. package/lib/src/PaymentMethods/index.d.ts +15 -15
  298. package/lib/src/PaymentMethods/index.js +31 -27
  299. package/lib/src/PaymentMethods/index.js.map +1 -1
  300. package/lib/src/ServiceConfigs/AcceptorConfig.d.ts +29 -41
  301. package/lib/src/ServiceConfigs/AcceptorConfig.js +42 -29
  302. package/lib/src/ServiceConfigs/AcceptorConfig.js.map +1 -1
  303. package/lib/src/ServiceConfigs/Configuration.d.ts +15 -15
  304. package/lib/src/ServiceConfigs/Configuration.js +19 -15
  305. package/lib/src/ServiceConfigs/Configuration.js.map +1 -1
  306. package/lib/src/ServiceConfigs/Gateways/GatewayConfig.d.ts +14 -14
  307. package/lib/src/ServiceConfigs/Gateways/GatewayConfig.js +29 -45
  308. package/lib/src/ServiceConfigs/Gateways/GatewayConfig.js.map +1 -1
  309. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +21 -0
  310. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +44 -0
  311. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -0
  312. package/lib/src/ServiceConfigs/Gateways/GpEcomConfig.d.ts +21 -27
  313. package/lib/src/ServiceConfigs/Gateways/GpEcomConfig.js +49 -60
  314. package/lib/src/ServiceConfigs/Gateways/GpEcomConfig.js.map +1 -1
  315. package/lib/src/ServiceConfigs/Gateways/PorticoConfig.d.ts +22 -0
  316. package/lib/src/ServiceConfigs/Gateways/PorticoConfig.js +116 -0
  317. package/lib/src/ServiceConfigs/Gateways/PorticoConfig.js.map +1 -0
  318. package/lib/src/ServiceConfigs/Gateways/index.d.ts +4 -2
  319. package/lib/src/ServiceConfigs/Gateways/index.js +20 -14
  320. package/lib/src/ServiceConfigs/Gateways/index.js.map +1 -1
  321. package/lib/src/ServiceConfigs/ServicesConfigs.d.ts +6 -0
  322. package/lib/src/ServiceConfigs/ServicesConfigs.js +14 -0
  323. package/lib/src/ServiceConfigs/ServicesConfigs.js.map +1 -0
  324. package/lib/src/ServiceConfigs/index.d.ts +4 -5
  325. package/lib/src/ServiceConfigs/index.js +20 -17
  326. package/lib/src/ServiceConfigs/index.js.map +1 -1
  327. package/lib/src/Services/BatchService.d.ts +4 -4
  328. package/lib/src/Services/BatchService.js +14 -17
  329. package/lib/src/Services/BatchService.js.map +1 -1
  330. package/lib/src/Services/CheckService.d.ts +7 -6
  331. package/lib/src/Services/CheckService.js +19 -20
  332. package/lib/src/Services/CheckService.js.map +1 -1
  333. package/lib/src/Services/CreditService.d.ts +13 -12
  334. package/lib/src/Services/CreditService.js +53 -54
  335. package/lib/src/Services/CreditService.js.map +1 -1
  336. package/lib/src/Services/DebitService.d.ts +8 -7
  337. package/lib/src/Services/DebitService.js +27 -28
  338. package/lib/src/Services/DebitService.js.map +1 -1
  339. package/lib/src/Services/EBTService.d.ts +9 -8
  340. package/lib/src/Services/EBTService.js +30 -32
  341. package/lib/src/Services/EBTService.js.map +1 -1
  342. package/lib/src/Services/GiftService.d.ts +17 -16
  343. package/lib/src/Services/GiftService.js +53 -54
  344. package/lib/src/Services/GiftService.js.map +1 -1
  345. package/lib/src/Services/GpApiServices.d.ts +4 -0
  346. package/lib/src/Services/GpApiServices.js +44 -0
  347. package/lib/src/Services/GpApiServices.js.map +1 -0
  348. package/lib/src/Services/HostedService.d.ts +10 -9
  349. package/lib/src/Services/HostedService.js +58 -59
  350. package/lib/src/Services/HostedService.js.map +1 -1
  351. package/lib/src/Services/PayFacService.d.ts +26 -26
  352. package/lib/src/Services/PayFacService.js +75 -77
  353. package/lib/src/Services/PayFacService.js.map +1 -1
  354. package/lib/src/Services/RecurringService.d.ts +8 -8
  355. package/lib/src/Services/RecurringService.js +23 -27
  356. package/lib/src/Services/RecurringService.js.map +1 -1
  357. package/lib/src/Services/ReportingService.d.ts +6 -6
  358. package/lib/src/Services/ReportingService.js +17 -19
  359. package/lib/src/Services/ReportingService.js.map +1 -1
  360. package/lib/src/Services/index.d.ts +10 -9
  361. package/lib/src/Services/index.js +26 -21
  362. package/lib/src/Services/index.js.map +1 -1
  363. package/lib/src/ServicesContainer.d.ts +17 -26
  364. package/lib/src/ServicesContainer.js +57 -139
  365. package/lib/src/ServicesContainer.js.map +1 -1
  366. package/lib/src/Utils/GenerationUtils.d.ts +5 -5
  367. package/lib/src/Utils/GenerationUtils.js +33 -36
  368. package/lib/src/Utils/GenerationUtils.js.map +1 -1
  369. package/lib/src/Utils/InputValidation.d.ts +12 -12
  370. package/lib/src/Utils/InputValidation.js +70 -72
  371. package/lib/src/Utils/InputValidation.js.map +1 -1
  372. package/lib/src/Utils/Sha1.d.ts +6 -6
  373. package/lib/src/Utils/Sha1.js +230 -225
  374. package/lib/src/Utils/Sha1.js.map +1 -1
  375. package/lib/src/Utils/StringUtils.d.ts +6 -6
  376. package/lib/src/Utils/StringUtils.js +50 -53
  377. package/lib/src/Utils/StringUtils.js.map +1 -1
  378. package/lib/src/Utils/index.d.ts +2 -2
  379. package/lib/src/Utils/index.js +18 -14
  380. package/lib/src/Utils/index.js.map +1 -1
  381. package/lib/src/index.d.ts +12 -12
  382. package/lib/src/index.js +32 -28
  383. package/lib/src/index.js.map +1 -1
  384. package/lib/test/Data/BaseGpApiTestConfig.d.ts +13 -0
  385. package/lib/test/Data/BaseGpApiTestConfig.js +42 -0
  386. package/lib/test/Data/BaseGpApiTestConfig.js.map +1 -0
  387. package/lib/test/Data/TestCards.d.ts +24 -24
  388. package/lib/test/Data/TestCards.js +219 -232
  389. package/lib/test/Data/TestCards.js.map +1 -1
  390. package/lib/test/Data/TestChecks.d.ts +4 -4
  391. package/lib/test/Data/TestChecks.js +26 -32
  392. package/lib/test/Data/TestChecks.js.map +1 -1
  393. package/lib/test/Data/index.d.ts +2 -2
  394. package/lib/test/Data/index.js +18 -14
  395. package/lib/test/Data/index.js.map +1 -1
  396. package/lib/test/Integration/Gateways/{ProPayConnector/Certifications/GetInformationCertificationTests.d.ts → GpApiConnector/AccessTokenTest.d.ts} +1 -1
  397. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js +102 -0
  398. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js.map +1 -0
  399. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/Certification/AuthTest.d.ts +1 -1
  400. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AuthTest.js +2446 -0
  401. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AuthTest.js.map +1 -0
  402. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/Certification/AvsTest.d.ts +1 -1
  403. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AvsTest.js +506 -0
  404. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AvsTest.js.map +1 -0
  405. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/Certification/CreditTest.d.ts +1 -1
  406. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/CreditTest.js +1296 -0
  407. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/CreditTest.js.map +1 -0
  408. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/Certification/HoldTest.d.ts +1 -1
  409. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/HoldTest.js +847 -0
  410. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/HoldTest.js.map +1 -0
  411. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/CreditTest.d.ts +1 -1
  412. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.js +214 -0
  413. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.js.map +1 -0
  414. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/HppTest.d.ts +1 -1
  415. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.js +98 -0
  416. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.js.map +1 -0
  417. package/lib/test/Integration/Gateways/{RealexConnector → GpEcomConnector}/RecurringTest.d.ts +1 -1
  418. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.js +132 -0
  419. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.js.map +1 -0
  420. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.d.ts +1 -1
  421. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js +58 -112
  422. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js.map +1 -1
  423. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.d.ts +1 -1
  424. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js +377 -483
  425. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js.map +1 -1
  426. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.d.ts +1 -1
  427. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js +85 -83
  428. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js.map +1 -1
  429. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.d.ts +1 -1
  430. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js +1722 -1720
  431. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js.map +1 -1
  432. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.d.ts +1 -1
  433. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js +85 -83
  434. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js.map +1 -1
  435. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.d.ts +1 -1
  436. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js +1759 -1757
  437. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js.map +1 -1
  438. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.d.ts +1 -1
  439. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js +419 -682
  440. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js.map +1 -1
  441. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.d.ts +1 -1
  442. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js +2220 -2218
  443. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js.map +1 -1
  444. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.d.ts +1 -1
  445. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js +391 -707
  446. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js.map +1 -1
  447. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.d.ts +1 -1
  448. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js +81 -151
  449. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js.map +1 -1
  450. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.d.ts +1 -1
  451. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js +71 -171
  452. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js.map +1 -1
  453. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.d.ts +1 -1
  454. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js +110 -192
  455. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js.map +1 -1
  456. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.d.ts +1 -1
  457. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js +146 -377
  458. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js.map +1 -1
  459. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.d.ts +1 -1
  460. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js +100 -196
  461. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js.map +1 -1
  462. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.d.ts +1 -1
  463. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js +49 -47
  464. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js.map +1 -1
  465. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayAccountCertificationTests.d.ts → GetInformationCertificationTest.d.ts} +1 -1
  466. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTest.js +44 -0
  467. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTest.js.map +1 -0
  468. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayFundCertificationTests.d.ts → ProPayAccountCertificationTest.d.ts} +1 -1
  469. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTest.js +221 -0
  470. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTest.js.map +1 -0
  471. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayInNetworkTransactionCertificationTests.d.ts → ProPayFundCertificationTest.d.ts} +1 -1
  472. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTest.js +60 -0
  473. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTest.js.map +1 -0
  474. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.d.ts +1 -0
  475. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.js +80 -0
  476. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.js.map +1 -0
  477. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/TestData/TestAccountData.d.ts +39 -39
  478. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/TestData/TestAccountData.js +392 -371
  479. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/TestData/TestAccountData.js.map +1 -1
  480. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.d.ts +1 -0
  481. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.js +44 -0
  482. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.js.map +1 -0
  483. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.d.ts +1 -0
  484. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.js +330 -0
  485. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.js.map +1 -0
  486. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.d.ts +1 -0
  487. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.js +60 -0
  488. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.js.map +1 -0
  489. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.d.ts +1 -0
  490. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.js +80 -0
  491. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.js.map +1 -0
  492. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestAccountData.d.ts +34 -33
  493. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestAccountData.js +321 -268
  494. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestAccountData.js.map +1 -1
  495. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestFundsData.d.ts +4 -4
  496. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestFundsData.js +27 -30
  497. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestFundsData.js.map +1 -1
  498. package/lib/test/Integration/Services/CheckServiceTest.d.ts +1 -1
  499. package/lib/test/Integration/Services/CheckServiceTest.js +44 -98
  500. package/lib/test/Integration/Services/CheckServiceTest.js.map +1 -1
  501. package/lib/test/Integration/Services/CreditServiceTest.d.ts +1 -1
  502. package/lib/test/Integration/Services/CreditServiceTest.js +173 -313
  503. package/lib/test/Integration/Services/CreditServiceTest.js.map +1 -1
  504. package/lib/test/Integration/Services/DebitServiceTest.d.ts +1 -1
  505. package/lib/test/Integration/Services/DebitServiceTest.js +80 -154
  506. package/lib/test/Integration/Services/DebitServiceTest.js.map +1 -1
  507. package/lib/test/Integration/Services/EBTServiceTest.d.ts +1 -1
  508. package/lib/test/Integration/Services/EBTServiceTest.js +63 -135
  509. package/lib/test/Integration/Services/EBTServiceTest.js.map +1 -1
  510. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.d.ts +1 -1
  511. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js +110 -161
  512. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js.map +1 -1
  513. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.d.ts +1 -1
  514. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js +61 -139
  515. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js.map +1 -1
  516. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.d.ts +1 -1
  517. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.js +33 -72
  518. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.js.map +1 -1
  519. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.d.ts +1 -1
  520. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js +124 -202
  521. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js.map +1 -1
  522. package/package.json +65 -58
  523. package/tsconfig.eslint.json +15 -0
  524. package/lib/src/Gateways/RealexConnector.d.ts +0 -30
  525. package/lib/src/Gateways/RealexConnector.js +0 -524
  526. package/lib/src/Gateways/RealexConnector.js.map +0 -1
  527. package/lib/src/ServiceConfigs/ServicesConfig.d.ts +0 -27
  528. package/lib/src/ServiceConfigs/ServicesConfig.js +0 -51
  529. package/lib/src/ServiceConfigs/ServicesConfig.js.map +0 -1
  530. package/lib/src/ServiceConfigs/ServicesConfigsAdded.d.ts +0 -10
  531. package/lib/src/ServiceConfigs/ServicesConfigsAdded.js +0 -27
  532. package/lib/src/ServiceConfigs/ServicesConfigsAdded.js.map +0 -1
  533. package/lib/src/ServicesConfig.d.ts +0 -27
  534. package/lib/src/ServicesConfig.js +0 -51
  535. package/lib/src/ServicesConfig.js.map +0 -1
  536. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTests.js +0 -101
  537. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTests.js.map +0 -1
  538. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTests.js +0 -353
  539. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTests.js.map +0 -1
  540. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTests.js +0 -124
  541. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTests.js.map +0 -1
  542. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTests.js +0 -143
  543. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTests.js.map +0 -1
  544. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTests.d.ts +0 -1
  545. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTests.js +0 -101
  546. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTests.js.map +0 -1
  547. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTests.d.ts +0 -1
  548. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTests.js +0 -536
  549. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTests.js.map +0 -1
  550. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTests.d.ts +0 -1
  551. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTests.js +0 -125
  552. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTests.js.map +0 -1
  553. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTests.d.ts +0 -1
  554. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTests.js +0 -145
  555. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTests.js.map +0 -1
  556. package/lib/test/Integration/Gateways/RealexConnector/Certification/AuthTest.js +0 -4374
  557. package/lib/test/Integration/Gateways/RealexConnector/Certification/AuthTest.js.map +0 -1
  558. package/lib/test/Integration/Gateways/RealexConnector/Certification/AvsTest.js +0 -759
  559. package/lib/test/Integration/Gateways/RealexConnector/Certification/AvsTest.js.map +0 -1
  560. package/lib/test/Integration/Gateways/RealexConnector/Certification/CreditTest.js +0 -2400
  561. package/lib/test/Integration/Gateways/RealexConnector/Certification/CreditTest.js.map +0 -1
  562. package/lib/test/Integration/Gateways/RealexConnector/Certification/HoldTest.js +0 -1657
  563. package/lib/test/Integration/Gateways/RealexConnector/Certification/HoldTest.js.map +0 -1
  564. package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.d.ts +0 -1
  565. package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.js +0 -5651
  566. package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.js.map +0 -1
  567. package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.d.ts +0 -1
  568. package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.js +0 -1986
  569. package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.js.map +0 -1
  570. package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.d.ts +0 -1
  571. package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.js +0 -2370
  572. package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.js.map +0 -1
  573. package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.d.ts +0 -1
  574. package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.js +0 -1704
  575. package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.js.map +0 -1
  576. package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.d.ts +0 -1
  577. package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.js +0 -2054
  578. package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.js.map +0 -1
  579. package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.d.ts +0 -1
  580. package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.js +0 -2470
  581. package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.js.map +0 -1
  582. package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.d.ts +0 -1
  583. package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.js +0 -3117
  584. package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.js.map +0 -1
  585. package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.d.ts +0 -1
  586. package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.js +0 -2032
  587. package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.js.map +0 -1
  588. package/lib/test/Integration/Gateways/RealexConnector/CreditTest.js +0 -323
  589. package/lib/test/Integration/Gateways/RealexConnector/CreditTest.js.map +0 -1
  590. package/lib/test/Integration/Gateways/RealexConnector/HppTest.js +0 -99
  591. package/lib/test/Integration/Gateways/RealexConnector/HppTest.js.map +0 -1
  592. package/lib/test/Integration/Gateways/RealexConnector/RecurringTest.js +0 -264
  593. package/lib/test/Integration/Gateways/RealexConnector/RecurringTest.js.map +0 -1
  594. package/lib/test/Unit/Gateways/RealexConnector/CreditTest.d.ts +0 -1
  595. package/lib/test/Unit/Gateways/RealexConnector/CreditTest.js +0 -71
  596. package/lib/test/Unit/Gateways/RealexConnector/CreditTest.js.map +0 -1
@@ -1,553 +1,532 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PayPlanConnector = void 0;
19
- var __1 = require("../");
20
- var RestGateway_1 = require("./RestGateway");
21
- var PayPlanConnector = /** @class */ (function (_super) {
22
- __extends(PayPlanConnector, _super);
23
- function PayPlanConnector() {
24
- var _this = _super !== null && _super.apply(this, arguments) || this;
25
- _this.supportsRetrieval = true;
26
- _this.supportsUpdatePaymentDetails = false;
27
- return _this;
28
- }
29
- Object.defineProperty(PayPlanConnector.prototype, "secretApiKey", {
30
- get: function () {
31
- return this._secretApiKey;
32
- },
33
- set: function (value) {
34
- if (!value) {
35
- return;
36
- }
37
- this._secretApiKey = value;
38
- this.setAuthorizationHeader(this.secretApiKey);
39
- },
40
- enumerable: false,
41
- configurable: true
42
- });
43
- Object.defineProperty(PayPlanConnector.prototype, "username", {
44
- get: function () {
45
- return this._username;
46
- },
47
- set: function (value) {
48
- if (!value) {
49
- return;
50
- }
51
- this._username = value;
52
- this.setAuthorizationHeader(this.username + ":" + this.password);
53
- },
54
- enumerable: false,
55
- configurable: true
56
- });
57
- Object.defineProperty(PayPlanConnector.prototype, "password", {
58
- get: function () {
59
- return this._password;
60
- },
61
- set: function (value) {
62
- if (!value) {
63
- return;
64
- }
65
- this._password = value;
66
- this.setAuthorizationHeader(this.username + ":" + this.password);
67
- },
68
- enumerable: false,
69
- configurable: true
70
- });
71
- PayPlanConnector.prototype.processRecurring = function (builder) {
72
- var _this = this;
73
- var request = new Object();
74
- // todo
75
- if (builder.transactionType === __1.TransactionType.Create ||
76
- builder.transactionType === __1.TransactionType.Edit) {
77
- if (builder.entity instanceof __1.Customer) {
78
- request = this.buildCustomer(request, builder.entity);
79
- }
80
- if (builder.entity instanceof __1.RecurringPaymentMethod) {
81
- request = this.buildPaymentMethod(request, builder.entity, builder.transactionType);
82
- }
83
- if (builder.entity instanceof __1.Schedule) {
84
- request = this.buildSchedule(request, builder.entity, builder.transactionType);
85
- }
86
- }
87
- else if (builder.transactionType === __1.TransactionType.Search) {
88
- for (var entry in builder.searchCriteria) {
89
- if (builder.searchCriteria.hasOwnProperty(entry)) {
90
- request[entry] = builder.searchCriteria[entry];
91
- }
92
- }
93
- }
94
- this.maybeSetIdentityHeader();
95
- this.maybeSetIntegrationHeader();
96
- return this.doTransaction(this.mapMethod(builder.transactionType), this.mapUrl(builder), JSON.stringify(request)).then(function (response) { return _this.mapResponse(builder, response); });
97
- };
98
- PayPlanConnector.prototype.mapResponse = function (builder, rawResponse) {
99
- var _this = this;
100
- if (!rawResponse) {
101
- return new Object();
102
- }
103
- var response = JSON.parse(rawResponse);
104
- var result;
105
- if ((builder.entity instanceof __1.Customer || builder.entity.name === 'Customer') &&
106
- builder.transactionType === __1.TransactionType.Search) {
107
- result = response.results.map(function (customer) {
108
- return _this.hydrateCustomer(customer);
109
- });
110
- }
111
- else if (builder.entity instanceof __1.Customer) {
112
- result = this.hydrateCustomer(response);
113
- }
114
- if ((builder.entity instanceof __1.RecurringPaymentMethod || builder.entity.name === 'RecurringPaymentMethod') &&
115
- builder.transactionType === __1.TransactionType.Search) {
116
- result = response.results.map(function (paymentMethod) {
117
- return _this.hydrateRecurringPaymentMethod(paymentMethod);
118
- });
119
- }
120
- else if (builder.entity instanceof __1.RecurringPaymentMethod) {
121
- result = this.hydrateRecurringPaymentMethod(response);
122
- }
123
- if ((builder.entity instanceof __1.Schedule || builder.entity.name === 'Schedule') &&
124
- builder.transactionType === __1.TransactionType.Search) {
125
- result = response.results.map(function (schedule) {
126
- return _this.hydrateSchedule(schedule);
127
- });
128
- }
129
- else if (builder.entity instanceof __1.Schedule) {
130
- result = this.hydrateSchedule(response);
131
- }
132
- return result;
133
- };
134
- PayPlanConnector.prototype.buildCustomer = function (request, entity) {
135
- if (entity) {
136
- request.customerIdentifier = entity.id;
137
- request.firstName = entity.firstName;
138
- request.lastName = entity.lastName;
139
- request.company = entity.company;
140
- request.customerStatus = entity.status;
141
- request.primaryEmail = entity.email;
142
- request.phoneDay = entity.homePhone;
143
- request.phoneEvening = entity.workPhone;
144
- request.phoneMobile = entity.mobilePhone;
145
- request.fax = entity.fax;
146
- request.title = entity.title;
147
- request.department = entity.department;
148
- request = this.buildAddress(request, entity.address);
149
- }
150
- return request;
151
- };
152
- PayPlanConnector.prototype.buildPaymentMethod = function (request, entity, transactionType) {
153
- if (entity) {
154
- request.preferredPayment = entity.preferredPayment;
155
- request.paymentMethodIdentifier = entity.id;
156
- request.customerKey = entity.customerKey;
157
- request.nameOnAccount = entity.nameOnAccount;
158
- request = this.buildAddress(request, entity.address);
159
- if (transactionType === __1.TransactionType.Create) {
160
- var _a = this.hasToken(entity.paymentMethod), hasToken = _a.hasToken, tokenValue = _a.tokenValue;
161
- var paymentInfo = {};
162
- if (entity.paymentMethod.isCardData) {
163
- var method = entity.paymentMethod;
164
- paymentInfo.type = hasToken ? "SINGLEUSETOKEN" : null;
165
- paymentInfo[hasToken ? "token" : "number"] = hasToken
166
- ? tokenValue
167
- : method.number;
168
- paymentInfo.expMon = method.expMonth;
169
- paymentInfo.expYear = method.expYear;
170
- request.cardVerificationValue = method.cvn;
171
- request[hasToken ? "alternateIdentity" : "card"] = paymentInfo;
172
- }
173
- else if (entity.paymentMethod.isTrackData) {
174
- var method = entity.paymentMethod;
175
- paymentInfo.data = method.value;
176
- paymentInfo.dataEntryMode = method.entryMethod
177
- .toString()
178
- .toUpperCase();
179
- request.track = paymentInfo;
180
- }
181
- else if (entity.paymentMethod instanceof __1.ECheck) {
182
- var check = entity.paymentMethod;
183
- request.achType = this.prepareAccountType(check.accountType);
184
- request.accountType = this.prepareCheckType(check.checkType);
185
- request.telephoneIndicator =
186
- check.secCode === __1.SecCode.CCD || check.SecCode === __1.SecCode.PPD
187
- ? false
188
- : true;
189
- request.routingNumber = check.routingNumber;
190
- request.accountNumber = check.accountNumber;
191
- request.accountHolderYob = check.birthYear.toString();
192
- request.driversLicenseState = check.driversLicenseState;
193
- request.driversLicenseNumber = check.driversLicenseNumber;
194
- request.socialSecurityNumberLast4 = check.ssnLast4;
195
- delete request.country;
196
- }
197
- if (entity.paymentMethod.isEncryptable) {
198
- var enc = entity.paymentMethod
199
- .encryptionData;
200
- if (enc) {
201
- paymentInfo.trackNumber = enc.trackNumber;
202
- paymentInfo.key = enc.ktb;
203
- paymentInfo.encryptionType = "E3";
204
- }
205
- }
206
- }
207
- else {
208
- // edit fields
209
- delete request.customerKey;
210
- request.paymentStatus = entity.status;
211
- request.cpcTaxType = entity.taxType;
212
- request.expirationDate = entity.expirationDate;
213
- }
214
- }
215
- return request;
216
- };
217
- PayPlanConnector.prototype.buildSchedule = function (request, entity, transactionType) {
218
- var mapDuration = function () {
219
- if (entity.numberOfPayments) {
220
- return "Limited Number";
221
- }
222
- else if (entity.endDate) {
223
- return "End Date";
224
- }
225
- else {
226
- return "Ongoing";
227
- }
228
- };
229
- var mapProcessingDate = function () {
230
- var frequencies = [
231
- "Monthly",
232
- "Bi-Monthly",
233
- "Quarterly",
234
- "Semi-Annually",
235
- ];
236
- if (entity.frequency &&
237
- frequencies.indexOf(entity.frequency.toString()) !== -1) {
238
- switch (entity.paymentSchedule) {
239
- case __1.PaymentSchedule.FirstDayOfTheMonth:
240
- return "First";
241
- case __1.PaymentSchedule.LastDayOfTheMonth:
242
- return "Last";
243
- default:
244
- var day = entity.startDate.getUTCDate();
245
- if (day > 28) {
246
- return "Last";
247
- }
248
- return day.toString();
249
- }
250
- }
251
- else if (entity.frequency &&
252
- entity.frequency.toString() === "Semi-Monthly") {
253
- if (entity.paymentSchedule === __1.PaymentSchedule.LastDayOfTheMonth) {
254
- return "Last";
255
- }
256
- return "First";
257
- }
258
- return null;
259
- };
260
- if (entity) {
261
- request.scheduleIdentifier = entity.id;
262
- request.scheduleName = entity.name;
263
- request.scheduleStatus = entity.status;
264
- request.paymentMethodKey = entity.paymentKey;
265
- request = this.buildAmount(request, "subtotalAmount", entity.amount, entity.currency, transactionType);
266
- request = this.buildAmount(request, "taxAmount", entity.taxAmount, entity.currency, transactionType);
267
- request.deviceId = entity.deviceId;
268
- request.processingDateInfo = mapProcessingDate();
269
- request = this.buildDate(request, "endDate", entity.endDate, transactionType === __1.TransactionType.Edit);
270
- request.reprocessingCount = entity.reprocessingCount || 3;
271
- if (entity.emailReceipt) {
272
- request.emailReceipt = entity.emailReceipt.toString();
273
- }
274
- request.emailAdvanceNotice = entity.emailNotification ? "Yes" : "No";
275
- // debt repay ind
276
- request.invoiceNbr = entity.invoiceNumber;
277
- request.poNumber = entity.poNumber;
278
- request.description = entity.description;
279
- request.numberOfPayments = entity.numberOfPayments;
280
- if (transactionType === __1.TransactionType.Create) {
281
- request.customerKey = entity.customerKey;
282
- request = this.buildDate(request, "startDate", entity.startDate);
283
- if (entity.frequency) {
284
- request.frequency = entity.frequency.toString();
285
- }
286
- request.duration = mapDuration();
287
- }
288
- else {
289
- // edit Fields
290
- if (!entity.hasStarted) {
291
- request = this.buildDate(request, "startDate", entity.startDate);
292
- if (entity.frequency) {
293
- request.frequency = entity.frequency.toString();
294
- }
295
- request.duration = mapDuration();
296
- }
297
- else {
298
- request = this.buildDate(request, "cancellationDate", entity.cancellationDate);
299
- request = this.buildDate(request, "nextProcressingDate", entity.nextProcessingDate);
300
- }
301
- }
302
- }
303
- return request;
304
- };
305
- PayPlanConnector.prototype.prepareAccountType = function (type) {
306
- switch (type) {
307
- case __1.AccountType.Savings:
308
- return "Savings";
309
- case __1.AccountType.Checking:
310
- default:
311
- return "Checking";
312
- }
313
- };
314
- PayPlanConnector.prototype.prepareCheckType = function (type) {
315
- switch (type) {
316
- case __1.CheckType.Business:
317
- return "Business";
318
- case __1.CheckType.Payroll:
319
- return "Payroll";
320
- case __1.CheckType.Personal:
321
- default:
322
- return "Personal";
323
- }
324
- };
325
- PayPlanConnector.prototype.buildAddress = function (request, address) {
326
- if (address) {
327
- request.addressLine1 = address.streetAddress1;
328
- request.addressLine2 = address.streetAddress2;
329
- request.city = address.city;
330
- request.country = address.country;
331
- request.stateProvince = address.state;
332
- request.zipPostalCode = address.postalCode;
333
- }
334
- return request;
335
- };
336
- PayPlanConnector.prototype.buildAmount = function (request, name, amount, currency, transactionType) {
337
- if (amount) {
338
- request[name] = {
339
- value: parseFloat(amount.toString()) * 100,
340
- };
341
- if (transactionType === __1.TransactionType.Create) {
342
- request[name].currency = currency;
343
- }
344
- }
345
- return request;
346
- };
347
- PayPlanConnector.prototype.buildDate = function (request, name, date, force) {
348
- if (force === void 0) { force = false; }
349
- var getDateValue = function (d) {
350
- if (typeof (date) === 'string' && date.length === 8) {
351
- return d;
352
- }
353
- var day = __1.StringUtils.leftPad(d.getUTCDate().toString(), 2, "0");
354
- var month = __1.StringUtils.leftPad((d.getUTCMonth() + 1).toString(), 2, "0");
355
- var year = __1.StringUtils.leftPad(d.getUTCFullYear().toString(), 4, "0");
356
- return month + day + year;
357
- };
358
- if (date || force) {
359
- var value = date ? getDateValue(date) : null;
360
- request[name] = value;
361
- }
362
- return request;
363
- };
364
- PayPlanConnector.prototype.mapMethod = function (transactionType) {
365
- switch (transactionType) {
366
- case __1.TransactionType.Create:
367
- case __1.TransactionType.Search:
368
- return "POST";
369
- case __1.TransactionType.Edit:
370
- return "PUT";
371
- case __1.TransactionType.Delete:
372
- return "DELETE";
373
- default:
374
- return "GET";
375
- }
376
- };
377
- PayPlanConnector.prototype.mapUrl = function (builder) {
378
- var suffix = "";
379
- if (builder.transactionType === __1.TransactionType.Fetch ||
380
- builder.transactionType === __1.TransactionType.Delete ||
381
- builder.transactionType === __1.TransactionType.Edit) {
382
- suffix = "/" + builder.entity.key;
383
- }
384
- if (builder.entity instanceof __1.Customer || builder.entity.name === 'Customer') {
385
- return ((builder.transactionType === __1.TransactionType.Search
386
- ? "searchCustomers"
387
- : "customers") + suffix);
388
- }
389
- if (builder.entity instanceof __1.RecurringPaymentMethod || builder.entity.name === 'RecurringPaymentMethod') {
390
- var paymentMethod = "";
391
- if (builder.transactionType === __1.TransactionType.Create) {
392
- paymentMethod =
393
- builder.entity.paymentMethod instanceof __1.Credit ? "CreditCard" : "ACH";
394
- }
395
- else if (builder.transactionType === __1.TransactionType.Edit) {
396
- paymentMethod = builder.entity.paymentType.replace(" ", "");
397
- }
398
- return ((builder.transactionType === __1.TransactionType.Search
399
- ? "searchPaymentMethods"
400
- : "paymentMethods") +
401
- paymentMethod +
402
- suffix);
403
- }
404
- if (builder.entity instanceof __1.Schedule || builder.entity.name === 'Schedule') {
405
- return ((builder.transactionType === __1.TransactionType.Search
406
- ? "searchSchedules"
407
- : "schedules") + suffix);
408
- }
409
- throw new __1.UnsupportedTransactionError();
410
- };
411
- PayPlanConnector.prototype.hydrateCustomer = function (response) {
412
- var customer = new __1.Customer();
413
- customer.key = response.customerKey;
414
- customer.id = response.customerIdentifier;
415
- customer.firstName = response.firstName;
416
- customer.lastName = response.lastName;
417
- customer.company = response.company;
418
- customer.status = response.customerStatus;
419
- customer.title = response.title;
420
- customer.department = response.department;
421
- customer.email = response.primaryEmail;
422
- customer.homePhone = response.phoneDay;
423
- customer.workPhone = response.phoneEvening;
424
- customer.mobilePhone = response.phoneMobile;
425
- customer.fax = response.fax;
426
- customer.address = new __1.Address();
427
- customer.address.streetAddress1 = response.addressLine1;
428
- customer.address.streetAddress2 = response.addressLine2;
429
- customer.address.city = response.city;
430
- customer.address.province = response.stateProvince;
431
- customer.address.postalCode = response.zipPostalCode;
432
- customer.address.country = response.country;
433
- return customer;
434
- };
435
- PayPlanConnector.prototype.hydrateRecurringPaymentMethod = function (response) {
436
- var paymentMethod = new __1.RecurringPaymentMethod();
437
- paymentMethod.key = response.paymentMethodKey;
438
- paymentMethod.paymentType = response.paymentMethodType;
439
- paymentMethod.preferredPayment = response.preferredPayment;
440
- paymentMethod.status = response.paymentStatus;
441
- paymentMethod.id = response.paymentMethodIdentifier;
442
- paymentMethod.customerKey = response.customerKey;
443
- paymentMethod.nameOnAccount = response.nameOnAccount;
444
- paymentMethod.commercialIndicator = response.cpcInd;
445
- paymentMethod.taxType = response.cpcTaxType;
446
- paymentMethod.expirationDate = response.expirationDate;
447
- paymentMethod.address = new __1.Address();
448
- paymentMethod.address.streetAddress1 = response.addressLine1;
449
- paymentMethod.address.streetAddress2 = response.addressLine2;
450
- paymentMethod.address.city = response.city;
451
- paymentMethod.address.state = response.stateProvince;
452
- paymentMethod.address.postalCode = response.zipPostalCode;
453
- paymentMethod.address.country = response.country;
454
- return paymentMethod;
455
- };
456
- PayPlanConnector.prototype.hydrateSchedule = function (response) {
457
- var schedule = new __1.Schedule();
458
- schedule.key = response.scheduleKey;
459
- schedule.id = response.scheduleIdentifier;
460
- schedule.customerKey = response.customerKey;
461
- schedule.name = response.scheduleName;
462
- schedule.status = response.scheduleStatus;
463
- schedule.paymentKey = response.paymentMethodKey;
464
- if (response.subtotalAmount) {
465
- var subtotal = response.subtotalAmount;
466
- schedule.amount = subtotal.value.slice(0, -2) + '.' + subtotal.value.slice(-2); // add the decimal back in
467
- schedule.currency = subtotal.currency;
468
- }
469
- if (response.taxAmount) {
470
- var taxAmount = response.taxAmount;
471
- schedule.taxAmount = taxAmount.value.slice(0, -2) + '.' + taxAmount.value.slice(-2); // add the decimal back in
472
- }
473
- schedule.deviceId = response.deviceId;
474
- schedule.startDate = response.startDate === "" ? null : response.startDate;
475
- schedule.paymentSchedule = (function (value) {
476
- switch (value) {
477
- case "Last":
478
- return __1.PaymentSchedule.LastDayOfTheMonth;
479
- case "First":
480
- return __1.PaymentSchedule.FirstDayOfTheMonth;
481
- default:
482
- return __1.PaymentSchedule.Dynamic;
483
- }
484
- })(response.processingDateInfo);
485
- schedule.frequency = response.frequency;
486
- schedule.endDate = response.endDate === "" ? null : response.endDate;
487
- schedule.reprocessingCount = response.reprocessingCount;
488
- schedule.emailReceipt = response.emailReceipt;
489
- schedule.emailNotification = (function (value) {
490
- if (!value) {
491
- return false;
492
- }
493
- return value === "No" ? false : true;
494
- })(response.emailNotification);
495
- // dept repay indicator
496
- schedule.invoiceNumber = response.invoiceNbr;
497
- schedule.poNumber = response.poNumber;
498
- schedule.description = response.description;
499
- // statusSetDate
500
- schedule.nextProcessingDate = response.nextProcessingDate === "" ? null : response.nextProcessingDate;
501
- // previousProcessingDate
502
- // approvedTransactionCount
503
- // failureCount
504
- // totalApprovedAmountToDate
505
- // numberOfPaymentsRemaining
506
- schedule.cancellationDate = response.cancellationDate === "" ? null : response.cancellationDate;
507
- // creationDate
508
- // lastChangeDate
509
- schedule.hasStarted = response.scheduleStarted;
510
- return schedule;
511
- };
512
- PayPlanConnector.prototype.hasToken = function (paymentMethod) {
513
- var tokenizable = paymentMethod;
514
- if (tokenizable.token) {
515
- return {
516
- hasToken: true,
517
- tokenValue: tokenizable.token,
518
- };
519
- }
520
- return {
521
- hasToken: false,
522
- tokenValue: "",
523
- };
524
- };
525
- PayPlanConnector.prototype.setAuthorizationHeader = function (value) {
526
- var buffer = (Buffer.from ? Buffer.from(value) : new Buffer(value));
527
- var auth = "Basic " + buffer.toString("base64");
528
- this.headers[RestGateway_1.RestGateway.AUTHORIZATION_HEADER] = auth;
529
- };
530
- PayPlanConnector.prototype.maybeSetIdentityHeader = function () {
531
- var identity = [];
532
- if (this.siteId) {
533
- identity.push("SiteID=" + this.siteId);
534
- }
535
- if (this.deviceId) {
536
- identity.push("DeviceID=" + this.deviceId);
537
- }
538
- if (this.licenseId) {
539
- identity.push("LicenseID=" + this.licenseId);
540
- }
541
- if (identity.length > 0) {
542
- this.headers['HPS-Identity'] = identity.join(',');
543
- }
544
- };
545
- PayPlanConnector.prototype.maybeSetIntegrationHeader = function () {
546
- if (this.versionNumber || this.developerId) {
547
- this.headers['HPS-Integration'] = "DeveloperId=" + this.developerId + ",VersionNbr=" + this.versionNumber;
548
- }
549
- };
550
- return PayPlanConnector;
551
- }(RestGateway_1.RestGateway));
552
- exports.PayPlanConnector = PayPlanConnector;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayPlanConnector = void 0;
4
+ const __1 = require("../");
5
+ const RestGateway_1 = require("./RestGateway");
6
+ class PayPlanConnector extends RestGateway_1.RestGateway {
7
+ supportsRetrieval = true;
8
+ supportsUpdatePaymentDetails = false;
9
+ _secretApiKey;
10
+ siteId;
11
+ licenseId;
12
+ deviceId;
13
+ _username;
14
+ _password;
15
+ developerId;
16
+ versionNumber;
17
+ get secretApiKey() {
18
+ return this._secretApiKey;
19
+ }
20
+ set secretApiKey(value) {
21
+ if (!value) {
22
+ return;
23
+ }
24
+ this._secretApiKey = value;
25
+ this.setAuthorizationHeader(this.secretApiKey);
26
+ }
27
+ get username() {
28
+ return this._username;
29
+ }
30
+ set username(value) {
31
+ if (!value) {
32
+ return;
33
+ }
34
+ this._username = value;
35
+ this.setAuthorizationHeader(`${this.username}:${this.password}`);
36
+ }
37
+ get password() {
38
+ return this._password;
39
+ }
40
+ set password(value) {
41
+ if (!value) {
42
+ return;
43
+ }
44
+ this._password = value;
45
+ this.setAuthorizationHeader(`${this.username}:${this.password}`);
46
+ }
47
+ processRecurring(builder) {
48
+ let request = new Object();
49
+ // todo
50
+ if (builder.transactionType === __1.TransactionType.Create ||
51
+ builder.transactionType === __1.TransactionType.Edit) {
52
+ if (builder.entity instanceof __1.Customer) {
53
+ request = this.buildCustomer(request, builder.entity);
54
+ }
55
+ if (builder.entity instanceof __1.RecurringPaymentMethod) {
56
+ request = this.buildPaymentMethod(request, builder.entity, builder.transactionType);
57
+ }
58
+ if (builder.entity instanceof __1.Schedule) {
59
+ request = this.buildSchedule(request, builder.entity, builder.transactionType);
60
+ }
61
+ }
62
+ else if (builder.transactionType === __1.TransactionType.Search) {
63
+ for (const entry in builder.searchCriteria) {
64
+ if (builder.searchCriteria.hasOwnProperty(entry)) {
65
+ request[entry] = builder.searchCriteria[entry];
66
+ }
67
+ }
68
+ }
69
+ this.maybeSetIdentityHeader();
70
+ this.maybeSetIntegrationHeader();
71
+ return this.doTransaction(this.mapMethod(builder.transactionType), this.mapUrl(builder), JSON.stringify(request)).then((response) => this.mapResponse(builder, response));
72
+ }
73
+ mapResponse(builder, rawResponse) {
74
+ if (!rawResponse) {
75
+ return new Object();
76
+ }
77
+ const response = JSON.parse(rawResponse);
78
+ let result;
79
+ if ((builder.entity instanceof __1.Customer ||
80
+ builder.entity.name === "Customer") &&
81
+ builder.transactionType === __1.TransactionType.Search) {
82
+ result = response.results.map((customer) => this.hydrateCustomer(customer));
83
+ }
84
+ else if (builder.entity instanceof __1.Customer) {
85
+ result = this.hydrateCustomer(response);
86
+ }
87
+ if ((builder.entity instanceof __1.RecurringPaymentMethod ||
88
+ builder.entity.name ===
89
+ "RecurringPaymentMethod") &&
90
+ builder.transactionType === __1.TransactionType.Search) {
91
+ result = response.results.map((paymentMethod) => this.hydrateRecurringPaymentMethod(paymentMethod));
92
+ }
93
+ else if (builder.entity instanceof __1.RecurringPaymentMethod) {
94
+ result = this.hydrateRecurringPaymentMethod(response);
95
+ }
96
+ if ((builder.entity instanceof __1.Schedule ||
97
+ builder.entity.name === "Schedule") &&
98
+ builder.transactionType === __1.TransactionType.Search) {
99
+ result = response.results.map((schedule) => this.hydrateSchedule(schedule));
100
+ }
101
+ else if (builder.entity instanceof __1.Schedule) {
102
+ result = this.hydrateSchedule(response);
103
+ }
104
+ return result;
105
+ }
106
+ buildCustomer(request, entity) {
107
+ if (entity) {
108
+ request.customerIdentifier = entity.id;
109
+ request.firstName = entity.firstName;
110
+ request.lastName = entity.lastName;
111
+ request.company = entity.company;
112
+ request.customerStatus = entity.status;
113
+ request.primaryEmail = entity.email;
114
+ request.phoneDay = entity.homePhone;
115
+ request.phoneEvening = entity.workPhone;
116
+ request.phoneMobile = entity.mobilePhone;
117
+ request.fax = entity.fax;
118
+ request.title = entity.title;
119
+ request.department = entity.department;
120
+ request = this.buildAddress(request, entity.address);
121
+ }
122
+ return request;
123
+ }
124
+ buildPaymentMethod(request, entity, transactionType) {
125
+ if (entity) {
126
+ request.preferredPayment = entity.preferredPayment;
127
+ request.paymentMethodIdentifier = entity.id;
128
+ request.customerKey = entity.customerKey;
129
+ request.nameOnAccount = entity.nameOnAccount;
130
+ request = this.buildAddress(request, entity.address);
131
+ if (transactionType === __1.TransactionType.Create) {
132
+ const { hasToken, tokenValue } = this.hasToken(entity.paymentMethod);
133
+ const paymentInfo = {};
134
+ if (entity.paymentMethod.isCardData) {
135
+ const method = entity.paymentMethod;
136
+ paymentInfo.type = hasToken ? "SINGLEUSETOKEN" : null;
137
+ paymentInfo[hasToken ? "token" : "number"] = hasToken
138
+ ? tokenValue
139
+ : method.number;
140
+ paymentInfo.expMon = method.expMonth;
141
+ paymentInfo.expYear = method.expYear;
142
+ request.cardVerificationValue = method.cvn;
143
+ request[hasToken ? "alternateIdentity" : "card"] = paymentInfo;
144
+ }
145
+ else if (entity.paymentMethod.isTrackData) {
146
+ const method = entity.paymentMethod;
147
+ paymentInfo.data = method.value;
148
+ paymentInfo.dataEntryMode = method.entryMethod
149
+ .toString()
150
+ .toUpperCase();
151
+ request.track = paymentInfo;
152
+ }
153
+ else if (entity.paymentMethod instanceof __1.ECheck) {
154
+ const check = entity.paymentMethod;
155
+ request.achType = this.prepareAccountType(check.accountType);
156
+ request.accountType = this.prepareCheckType(check.checkType);
157
+ request.telephoneIndicator =
158
+ check.secCode === __1.SecCode.CCD || check.SecCode === __1.SecCode.PPD
159
+ ? false
160
+ : true;
161
+ request.routingNumber = check.routingNumber;
162
+ request.accountNumber = check.accountNumber;
163
+ request.accountHolderYob = check.birthYear.toString();
164
+ request.driversLicenseState = check.driversLicenseState;
165
+ request.driversLicenseNumber = check.driversLicenseNumber;
166
+ request.socialSecurityNumberLast4 = check.ssnLast4;
167
+ delete request.country;
168
+ }
169
+ if (entity.paymentMethod.isEncryptable) {
170
+ const enc = entity.paymentMethod
171
+ .encryptionData;
172
+ if (enc) {
173
+ paymentInfo.trackNumber = enc.trackNumber;
174
+ paymentInfo.key = enc.ktb;
175
+ paymentInfo.encryptionType = "E3";
176
+ }
177
+ }
178
+ }
179
+ else {
180
+ // edit fields
181
+ delete request.customerKey;
182
+ request.paymentStatus = entity.status;
183
+ request.cpcTaxType = entity.taxType;
184
+ request.expirationDate = entity.expirationDate;
185
+ }
186
+ }
187
+ return request;
188
+ }
189
+ buildSchedule(request, entity, transactionType) {
190
+ const mapDuration = () => {
191
+ if (entity.numberOfPayments) {
192
+ return "Limited Number";
193
+ }
194
+ else if (entity.endDate) {
195
+ return "End Date";
196
+ }
197
+ else {
198
+ return "Ongoing";
199
+ }
200
+ };
201
+ const mapProcessingDate = () => {
202
+ const frequencies = [
203
+ "Monthly",
204
+ "Bi-Monthly",
205
+ "Quarterly",
206
+ "Semi-Annually",
207
+ ];
208
+ if (entity.frequency &&
209
+ frequencies.indexOf(entity.frequency.toString()) !== -1) {
210
+ switch (entity.paymentSchedule) {
211
+ case __1.PaymentSchedule.FirstDayOfTheMonth:
212
+ return "First";
213
+ case __1.PaymentSchedule.LastDayOfTheMonth:
214
+ return "Last";
215
+ default:
216
+ const day = entity.startDate.getUTCDate();
217
+ if (day > 28) {
218
+ return "Last";
219
+ }
220
+ return day.toString();
221
+ }
222
+ }
223
+ else if (entity.frequency &&
224
+ entity.frequency.toString() === "Semi-Monthly") {
225
+ if (entity.paymentSchedule === __1.PaymentSchedule.LastDayOfTheMonth) {
226
+ return "Last";
227
+ }
228
+ return "First";
229
+ }
230
+ return null;
231
+ };
232
+ if (entity) {
233
+ request.scheduleIdentifier = entity.id;
234
+ request.scheduleName = entity.name;
235
+ request.scheduleStatus = entity.status;
236
+ request.paymentMethodKey = entity.paymentKey;
237
+ request = this.buildAmount(request, "subtotalAmount", entity.amount, entity.currency, transactionType);
238
+ request = this.buildAmount(request, "taxAmount", entity.taxAmount, entity.currency, transactionType);
239
+ request.deviceId = entity.deviceId;
240
+ request.processingDateInfo = mapProcessingDate();
241
+ request = this.buildDate(request, "endDate", entity.endDate, transactionType === __1.TransactionType.Edit);
242
+ request.reprocessingCount = entity.reprocessingCount || 3;
243
+ if (entity.emailReceipt) {
244
+ request.emailReceipt = entity.emailReceipt.toString();
245
+ }
246
+ request.emailAdvanceNotice = entity.emailNotification ? "Yes" : "No";
247
+ // debt repay ind
248
+ request.invoiceNbr = entity.invoiceNumber;
249
+ request.poNumber = entity.poNumber;
250
+ request.description = entity.description;
251
+ request.numberOfPayments = entity.numberOfPayments;
252
+ if (transactionType === __1.TransactionType.Create) {
253
+ request.customerKey = entity.customerKey;
254
+ request = this.buildDate(request, "startDate", entity.startDate);
255
+ if (entity.frequency) {
256
+ request.frequency = entity.frequency.toString();
257
+ }
258
+ request.duration = mapDuration();
259
+ }
260
+ else {
261
+ // edit Fields
262
+ if (!entity.hasStarted) {
263
+ request = this.buildDate(request, "startDate", entity.startDate);
264
+ if (entity.frequency) {
265
+ request.frequency = entity.frequency.toString();
266
+ }
267
+ request.duration = mapDuration();
268
+ }
269
+ else {
270
+ request = this.buildDate(request, "cancellationDate", entity.cancellationDate);
271
+ request = this.buildDate(request, "nextProcressingDate", entity.nextProcessingDate);
272
+ }
273
+ }
274
+ }
275
+ return request;
276
+ }
277
+ prepareAccountType(type) {
278
+ switch (type) {
279
+ case __1.AccountType.Savings:
280
+ return "Savings";
281
+ case __1.AccountType.Checking:
282
+ default:
283
+ return "Checking";
284
+ }
285
+ }
286
+ prepareCheckType(type) {
287
+ switch (type) {
288
+ case __1.CheckType.Business:
289
+ return "Business";
290
+ case __1.CheckType.Payroll:
291
+ return "Payroll";
292
+ case __1.CheckType.Personal:
293
+ default:
294
+ return "Personal";
295
+ }
296
+ }
297
+ buildAddress(request, address) {
298
+ if (address) {
299
+ request.addressLine1 = address.streetAddress1;
300
+ request.addressLine2 = address.streetAddress2;
301
+ request.city = address.city;
302
+ request.country = address.country;
303
+ request.stateProvince = address.state;
304
+ request.zipPostalCode = address.postalCode;
305
+ }
306
+ return request;
307
+ }
308
+ buildAmount(request, name, amount, currency, transactionType) {
309
+ if (amount) {
310
+ request[name] = {
311
+ value: parseFloat(amount.toString()) * 100,
312
+ };
313
+ if (transactionType === __1.TransactionType.Create) {
314
+ request[name].currency = currency;
315
+ }
316
+ }
317
+ return request;
318
+ }
319
+ buildDate(request, name, date, force = false) {
320
+ const getDateValue = (d) => {
321
+ if (typeof date === "string" && date.length === 8) {
322
+ return d;
323
+ }
324
+ const day = __1.StringUtils.leftPad(d.getUTCDate().toString(), 2, "0");
325
+ const month = __1.StringUtils.leftPad((d.getUTCMonth() + 1).toString(), 2, "0");
326
+ const year = __1.StringUtils.leftPad(d.getUTCFullYear().toString(), 4, "0");
327
+ return month + day + year;
328
+ };
329
+ if (date || force) {
330
+ const value = date ? getDateValue(date) : null;
331
+ request[name] = value;
332
+ }
333
+ return request;
334
+ }
335
+ mapMethod(transactionType) {
336
+ switch (transactionType) {
337
+ case __1.TransactionType.Create:
338
+ case __1.TransactionType.Search:
339
+ return "POST";
340
+ case __1.TransactionType.Edit:
341
+ return "PUT";
342
+ case __1.TransactionType.Delete:
343
+ return "DELETE";
344
+ default:
345
+ return "GET";
346
+ }
347
+ }
348
+ mapUrl(builder) {
349
+ let suffix = "";
350
+ if (builder.transactionType === __1.TransactionType.Fetch ||
351
+ builder.transactionType === __1.TransactionType.Delete ||
352
+ builder.transactionType === __1.TransactionType.Edit) {
353
+ suffix = "/" + builder.entity.key;
354
+ }
355
+ if (builder.entity instanceof __1.Customer ||
356
+ builder.entity.name === "Customer") {
357
+ return ((builder.transactionType === __1.TransactionType.Search
358
+ ? "searchCustomers"
359
+ : "customers") + suffix);
360
+ }
361
+ if (builder.entity instanceof __1.RecurringPaymentMethod ||
362
+ builder.entity.name === "RecurringPaymentMethod") {
363
+ let paymentMethod = "";
364
+ if (builder.transactionType === __1.TransactionType.Create) {
365
+ paymentMethod =
366
+ builder.entity.paymentMethod instanceof __1.Credit
367
+ ? "CreditCard"
368
+ : "ACH";
369
+ }
370
+ else if (builder.transactionType === __1.TransactionType.Edit) {
371
+ paymentMethod = builder.entity.paymentType.replace(" ", "");
372
+ }
373
+ return ((builder.transactionType === __1.TransactionType.Search
374
+ ? "searchPaymentMethods"
375
+ : "paymentMethods") +
376
+ paymentMethod +
377
+ suffix);
378
+ }
379
+ if (builder.entity instanceof __1.Schedule ||
380
+ builder.entity.name === "Schedule") {
381
+ return ((builder.transactionType === __1.TransactionType.Search
382
+ ? "searchSchedules"
383
+ : "schedules") + suffix);
384
+ }
385
+ throw new __1.UnsupportedTransactionError();
386
+ }
387
+ hydrateCustomer(response) {
388
+ const customer = new __1.Customer();
389
+ customer.key = response.customerKey;
390
+ customer.id = response.customerIdentifier;
391
+ customer.firstName = response.firstName;
392
+ customer.lastName = response.lastName;
393
+ customer.company = response.company;
394
+ customer.status = response.customerStatus;
395
+ customer.title = response.title;
396
+ customer.department = response.department;
397
+ customer.email = response.primaryEmail;
398
+ customer.homePhone = response.phoneDay;
399
+ customer.workPhone = response.phoneEvening;
400
+ customer.mobilePhone = response.phoneMobile;
401
+ customer.fax = response.fax;
402
+ customer.address = new __1.Address();
403
+ customer.address.streetAddress1 = response.addressLine1;
404
+ customer.address.streetAddress2 = response.addressLine2;
405
+ customer.address.city = response.city;
406
+ customer.address.province = response.stateProvince;
407
+ customer.address.postalCode = response.zipPostalCode;
408
+ customer.address.country = response.country;
409
+ return customer;
410
+ }
411
+ hydrateRecurringPaymentMethod(response) {
412
+ const paymentMethod = new __1.RecurringPaymentMethod();
413
+ paymentMethod.key = response.paymentMethodKey;
414
+ paymentMethod.paymentType = response.paymentMethodType;
415
+ paymentMethod.preferredPayment = response.preferredPayment;
416
+ paymentMethod.status = response.paymentStatus;
417
+ paymentMethod.id = response.paymentMethodIdentifier;
418
+ paymentMethod.customerKey = response.customerKey;
419
+ paymentMethod.nameOnAccount = response.nameOnAccount;
420
+ paymentMethod.commercialIndicator = response.cpcInd;
421
+ paymentMethod.taxType = response.cpcTaxType;
422
+ paymentMethod.expirationDate = response.expirationDate;
423
+ paymentMethod.address = new __1.Address();
424
+ paymentMethod.address.streetAddress1 = response.addressLine1;
425
+ paymentMethod.address.streetAddress2 = response.addressLine2;
426
+ paymentMethod.address.city = response.city;
427
+ paymentMethod.address.state = response.stateProvince;
428
+ paymentMethod.address.postalCode = response.zipPostalCode;
429
+ paymentMethod.address.country = response.country;
430
+ return paymentMethod;
431
+ }
432
+ hydrateSchedule(response) {
433
+ const schedule = new __1.Schedule();
434
+ schedule.key = response.scheduleKey;
435
+ schedule.id = response.scheduleIdentifier;
436
+ schedule.customerKey = response.customerKey;
437
+ schedule.name = response.scheduleName;
438
+ schedule.status = response.scheduleStatus;
439
+ schedule.paymentKey = response.paymentMethodKey;
440
+ if (response.subtotalAmount) {
441
+ const subtotal = response.subtotalAmount;
442
+ schedule.amount =
443
+ subtotal.value.slice(0, -2) + "." + subtotal.value.slice(-2); // add the decimal back in
444
+ schedule.currency = subtotal.currency;
445
+ }
446
+ if (response.taxAmount) {
447
+ const taxAmount = response.taxAmount;
448
+ schedule.taxAmount =
449
+ taxAmount.value.slice(0, -2) + "." + taxAmount.value.slice(-2); // add the decimal back in
450
+ }
451
+ schedule.deviceId = response.deviceId;
452
+ schedule.startDate = response.startDate === "" ? null : response.startDate;
453
+ schedule.paymentSchedule = ((value) => {
454
+ switch (value) {
455
+ case "Last":
456
+ return __1.PaymentSchedule.LastDayOfTheMonth;
457
+ case "First":
458
+ return __1.PaymentSchedule.FirstDayOfTheMonth;
459
+ default:
460
+ return __1.PaymentSchedule.Dynamic;
461
+ }
462
+ })(response.processingDateInfo);
463
+ schedule.frequency = response.frequency;
464
+ schedule.endDate = response.endDate === "" ? null : response.endDate;
465
+ schedule.reprocessingCount = response.reprocessingCount;
466
+ schedule.emailReceipt = response.emailReceipt;
467
+ schedule.emailNotification = ((value) => {
468
+ if (!value) {
469
+ return false;
470
+ }
471
+ return value === "No" ? false : true;
472
+ })(response.emailNotification);
473
+ // dept repay indicator
474
+ schedule.invoiceNumber = response.invoiceNbr;
475
+ schedule.poNumber = response.poNumber;
476
+ schedule.description = response.description;
477
+ // statusSetDate
478
+ schedule.nextProcessingDate =
479
+ response.nextProcessingDate === "" ? null : response.nextProcessingDate;
480
+ // previousProcessingDate
481
+ // approvedTransactionCount
482
+ // failureCount
483
+ // totalApprovedAmountToDate
484
+ // numberOfPaymentsRemaining
485
+ schedule.cancellationDate =
486
+ response.cancellationDate === "" ? null : response.cancellationDate;
487
+ // creationDate
488
+ // lastChangeDate
489
+ schedule.hasStarted = response.scheduleStarted;
490
+ return schedule;
491
+ }
492
+ hasToken(paymentMethod) {
493
+ const tokenizable = paymentMethod;
494
+ if (tokenizable.token) {
495
+ return {
496
+ hasToken: true,
497
+ tokenValue: tokenizable.token,
498
+ };
499
+ }
500
+ return {
501
+ hasToken: false,
502
+ tokenValue: "",
503
+ };
504
+ }
505
+ setAuthorizationHeader(value) {
506
+ const buffer = Buffer.from ? Buffer.from(value) : new Buffer(value);
507
+ const auth = `Basic ${buffer.toString("base64")}`;
508
+ this.headers[RestGateway_1.RestGateway.AUTHORIZATION_HEADER] = auth;
509
+ }
510
+ maybeSetIdentityHeader() {
511
+ const identity = [];
512
+ if (this.siteId) {
513
+ identity.push(`SiteID=${this.siteId}`);
514
+ }
515
+ if (this.deviceId) {
516
+ identity.push(`DeviceID=${this.deviceId}`);
517
+ }
518
+ if (this.licenseId) {
519
+ identity.push(`LicenseID=${this.licenseId}`);
520
+ }
521
+ if (identity.length > 0) {
522
+ this.headers["HPS-Identity"] = identity.join(",");
523
+ }
524
+ }
525
+ maybeSetIntegrationHeader() {
526
+ if (this.versionNumber || this.developerId) {
527
+ this.headers["HPS-Integration"] = `DeveloperId=${this.developerId},VersionNbr=${this.versionNumber}`;
528
+ }
529
+ }
530
+ }
531
+ exports.PayPlanConnector = PayPlanConnector;
553
532
  //# sourceMappingURL=PayPlanConnector.js.map