globalpayments-api 3.7.0 → 3.8.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 (311) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/LICENSE.md +257 -257
  3. package/README.md +141 -141
  4. package/lib/src/Builders/BaseBuilder/Validations.js +1 -1
  5. package/lib/src/Builders/BaseBuilder/Validations.js.map +1 -1
  6. package/lib/src/Builders/ManagementBuilder.d.ts +26 -6
  7. package/lib/src/Builders/ManagementBuilder.js +66 -34
  8. package/lib/src/Builders/ManagementBuilder.js.map +1 -1
  9. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js +19 -0
  10. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js.map +1 -1
  11. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.d.ts +2 -0
  12. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.js +86 -0
  13. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.js.map +1 -1
  14. package/lib/src/Builders/TransactionReportBuilder.d.ts +5 -2
  15. package/lib/src/Builders/TransactionReportBuilder.js +19 -0
  16. package/lib/src/Builders/TransactionReportBuilder.js.map +1 -1
  17. package/lib/src/Entities/AdditionalTaxDetails.d.ts +5 -0
  18. package/lib/src/Entities/AdditionalTaxDetails.js +10 -0
  19. package/lib/src/Entities/AdditionalTaxDetails.js.map +1 -0
  20. package/lib/src/Entities/CommercialData.d.ts +26 -0
  21. package/lib/src/Entities/CommercialData.js +36 -0
  22. package/lib/src/Entities/CommercialData.js.map +1 -0
  23. package/lib/src/Entities/CommercialLineItem.d.ts +21 -0
  24. package/lib/src/Entities/CommercialLineItem.js +24 -0
  25. package/lib/src/Entities/CommercialLineItem.js.map +1 -0
  26. package/lib/src/Entities/DiscountDetails.d.ts +8 -0
  27. package/lib/src/Entities/DiscountDetails.js +13 -0
  28. package/lib/src/Entities/DiscountDetails.js.map +1 -0
  29. package/lib/src/Entities/DisputeDocument.d.ts +5 -0
  30. package/lib/src/Entities/DisputeDocument.js +10 -0
  31. package/lib/src/Entities/DisputeDocument.js.map +1 -0
  32. package/lib/src/Entities/Document.d.ts +10 -0
  33. package/lib/src/Entities/Document.js +13 -0
  34. package/lib/src/Entities/Document.js.map +1 -0
  35. package/lib/src/Entities/Enums/DisputeSortProperty.d.ts +12 -0
  36. package/lib/src/Entities/Enums/DisputeSortProperty.js +17 -0
  37. package/lib/src/Entities/Enums/DisputeSortProperty.js.map +1 -0
  38. package/lib/src/Entities/Enums/DisputeStage.d.ts +11 -0
  39. package/lib/src/Entities/Enums/DisputeStage.js +16 -0
  40. package/lib/src/Entities/Enums/DisputeStage.js.map +1 -0
  41. package/lib/src/Entities/Enums/DisputeStatus.d.ts +7 -0
  42. package/lib/src/Entities/Enums/DisputeStatus.js +12 -0
  43. package/lib/src/Entities/Enums/DisputeStatus.js.map +1 -0
  44. package/lib/src/Entities/Enums/DocumentCategory.d.ts +5 -0
  45. package/lib/src/Entities/Enums/DocumentCategory.js +10 -0
  46. package/lib/src/Entities/Enums/DocumentCategory.js.map +1 -0
  47. package/lib/src/Entities/Enums/FileType.d.ts +11 -0
  48. package/lib/src/Entities/Enums/FileType.js +16 -0
  49. package/lib/src/Entities/Enums/FileType.js.map +1 -0
  50. package/lib/src/Entities/Enums.d.ts +17 -1
  51. package/lib/src/Entities/Enums.js +20 -2
  52. package/lib/src/Entities/Enums.js.map +1 -1
  53. package/lib/src/Entities/HostedPaymentData.d.ts +3 -0
  54. package/lib/src/Entities/HostedPaymentData.js +3 -0
  55. package/lib/src/Entities/HostedPaymentData.js.map +1 -1
  56. package/lib/src/Entities/Reporting/DisputeSummary.d.ts +53 -0
  57. package/lib/src/Entities/Reporting/DisputeSummary.js +64 -0
  58. package/lib/src/Entities/Reporting/DisputeSummary.js.map +1 -0
  59. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.d.ts +4 -2
  60. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.js +2 -0
  61. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.js.map +1 -1
  62. package/lib/src/Entities/Reporting/index.d.ts +1 -0
  63. package/lib/src/Entities/Reporting/index.js +1 -0
  64. package/lib/src/Entities/Reporting/index.js.map +1 -1
  65. package/lib/src/Entities/Transaction.js +3 -0
  66. package/lib/src/Entities/Transaction.js.map +1 -1
  67. package/lib/src/Entities/TransactionSummary.d.ts +1 -0
  68. package/lib/src/Entities/TransactionSummary.js +1 -0
  69. package/lib/src/Entities/TransactionSummary.js.map +1 -1
  70. package/lib/src/Entities/index.d.ts +7 -0
  71. package/lib/src/Entities/index.js +7 -0
  72. package/lib/src/Entities/index.js.map +1 -1
  73. package/lib/src/Gateways/GpApiConnector.js +3 -0
  74. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  75. package/lib/src/Gateways/GpEcomConnector.js +9 -0
  76. package/lib/src/Gateways/GpEcomConnector.js.map +1 -1
  77. package/lib/src/Gateways/PayPlanConnector.d.ts +1 -1
  78. package/lib/src/Gateways/PorticoConnector.d.ts +3 -3
  79. package/lib/src/Gateways/PorticoConnector.js +117 -4
  80. package/lib/src/Gateways/PorticoConnector.js.map +1 -1
  81. package/lib/src/Mapping/GpApiMapping.d.ts +2 -1
  82. package/lib/src/Mapping/GpApiMapping.js +75 -2
  83. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  84. package/lib/src/Services/ReportingService.d.ts +6 -1
  85. package/lib/src/Services/ReportingService.js +15 -0
  86. package/lib/src/Services/ReportingService.js.map +1 -1
  87. package/lib/test/Integration/Gateways/GpApiConnector/{3DS2Test.js → 3DS2.test.js} +338 -341
  88. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js.map +1 -0
  89. package/lib/test/Integration/Gateways/GpApiConnector/{3DSecureTest.js → 3DSecure.test.js} +167 -173
  90. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js.map +1 -0
  91. package/lib/test/Integration/Gateways/GpApiConnector/AccessToken.test.js +130 -0
  92. package/lib/test/Integration/Gateways/GpApiConnector/AccessToken.test.js.map +1 -0
  93. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresent.test.js +1070 -0
  94. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresent.test.js.map +1 -0
  95. package/lib/test/Integration/Gateways/GpApiConnector/{DebitCardTest.js → DebitCard.test.js} +27 -33
  96. package/lib/test/Integration/Gateways/GpApiConnector/DebitCard.test.js.map +1 -0
  97. package/lib/test/Integration/Gateways/GpApiConnector/{GpApiCertificationTest.js → GpApiCertification.test.js} +211 -208
  98. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCertification.test.js.map +1 -0
  99. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagement.test.js +151 -0
  100. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagement.test.js.map +1 -0
  101. package/lib/test/Integration/Gateways/GpApiConnector/{ReportingDepositsTest.js → ReportingDeposits.test.js} +103 -103
  102. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDeposits.test.js.map +1 -0
  103. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDisputes.test.js +571 -0
  104. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDisputes.test.js.map +1 -0
  105. package/lib/test/Integration/Gateways/GpApiConnector/{ReportingSettlementTransactionsTest.js → ReportingSettlementTransactions.test.js} +104 -108
  106. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactions.test.js.map +1 -0
  107. package/lib/test/Integration/Gateways/GpApiConnector/{ReportingStoredPaymentMethodsTest.js → ReportingStoredPaymentMethods.test.js} +75 -76
  108. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethods.test.js.map +1 -0
  109. package/lib/test/Integration/Gateways/GpApiConnector/{ReportingTransactionsTest.js → ReportingTransactions.test.js} +97 -95
  110. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactions.test.js.map +1 -0
  111. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{AuthTest.js → Auth.test.js} +441 -461
  112. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Auth.test.js.map +1 -0
  113. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{AvsTest.js → Avs.test.js} +274 -218
  114. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Avs.test.js.map +1 -0
  115. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{CreditTest.js → Credit.test.js} +317 -321
  116. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Credit.test.js.map +1 -0
  117. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{HoldTest.js → Hold.test.js} +290 -257
  118. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Hold.test.js.map +1 -0
  119. package/lib/test/Integration/Gateways/GpEcomConnector/{CreditTest.js → Credit.test.js} +76 -84
  120. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js.map +1 -0
  121. package/lib/test/Integration/Gateways/GpEcomConnector/Hpp.test.js +137 -0
  122. package/lib/test/Integration/Gateways/GpEcomConnector/Hpp.test.js.map +1 -0
  123. package/lib/test/Integration/Gateways/GpEcomConnector/Recurring.test.js +124 -0
  124. package/lib/test/Integration/Gateways/GpEcomConnector/Recurring.test.js.map +1 -0
  125. package/lib/test/Integration/Gateways/PorticoConnector/Ach.test.js +54 -0
  126. package/lib/test/Integration/Gateways/PorticoConnector/Ach.test.js.map +1 -0
  127. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Check.test.js +357 -0
  128. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Check.test.js.map +1 -0
  129. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{EcommerceTest.js → Ecommerce.test.js} +403 -459
  130. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Ecommerce.test.js.map +1 -0
  131. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{EcommerceCheckTest.js → EcommerceCheck.test.js} +17 -23
  132. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheck.test.js.map +1 -0
  133. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{MotoTest.js → Moto.test.js} +377 -650
  134. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Moto.test.js.map +1 -0
  135. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{MotoCheckTest.js → MotoCheck.test.js} +16 -22
  136. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheck.test.js.map +1 -0
  137. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Recurring.test.js +393 -0
  138. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Recurring.test.js.map +1 -0
  139. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{RetailTest.js → Retail.test.js} +481 -600
  140. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Retail.test.js.map +1 -0
  141. package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.js +433 -0
  142. package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.js.map +1 -0
  143. package/lib/test/Integration/Gateways/PorticoConnector/{DebitTest.js → Debit.test.js} +32 -37
  144. package/lib/test/Integration/Gateways/PorticoConnector/Debit.test.js.map +1 -0
  145. package/lib/test/Integration/Gateways/PorticoConnector/{EbtTest.js → Ebt.test.js} +30 -39
  146. package/lib/test/Integration/Gateways/PorticoConnector/Ebt.test.js.map +1 -0
  147. package/lib/test/Integration/Gateways/PorticoConnector/{EcommerceTest.js → Ecommerce.test.js} +38 -45
  148. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js.map +1 -0
  149. package/lib/test/Integration/Gateways/PorticoConnector/Gift.test.js +121 -0
  150. package/lib/test/Integration/Gateways/PorticoConnector/Gift.test.js.map +1 -0
  151. package/lib/test/Integration/Gateways/PorticoConnector/{PorticoManagementTokenTest.js → PorticoManagementToken.test.js} +8 -16
  152. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementToken.test.js.map +1 -0
  153. package/lib/test/Integration/Gateways/PorticoConnector/Recurring.test.js +87 -0
  154. package/lib/test/Integration/Gateways/PorticoConnector/Recurring.test.js.map +1 -0
  155. package/lib/test/Integration/Gateways/PorticoConnector/{ReportingTest.js → Reporting.test.js} +12 -18
  156. package/lib/test/Integration/Gateways/PorticoConnector/Reporting.test.js.map +1 -0
  157. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{GetInformationCertificationTest.js → GetInformationCertification.test.js} +12 -18
  158. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertification.test.js.map +1 -0
  159. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayAccountCertificationTest.js → ProPayAccountCertification.test.js} +49 -64
  160. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertification.test.js.map +1 -0
  161. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayFundCertificationTest.js → ProPayFundCertification.test.js} +14 -22
  162. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertification.test.js.map +1 -0
  163. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayInNetworkTransactionCertificationTest.js → ProPayInNetworkTransactionCertification.test.js} +18 -26
  164. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertification.test.js.map +1 -0
  165. package/lib/test/Integration/Gateways/ProPayConnector/{GetInformationTest.js → GetInformation.test.js} +11 -18
  166. package/lib/test/Integration/Gateways/ProPayConnector/GetInformation.test.js.map +1 -0
  167. package/lib/test/Integration/Gateways/ProPayConnector/{ProPayAccountTest.js → ProPayAccount.test.js} +63 -83
  168. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccount.test.js.map +1 -0
  169. package/lib/test/Integration/Gateways/ProPayConnector/{ProPayFundsTest.js → ProPayFunds.test.js} +15 -22
  170. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFunds.test.js.map +1 -0
  171. package/lib/test/Integration/Gateways/ProPayConnector/{ProPayInNetworkTransactionTest.js → ProPayInNetworkTransaction.test.js} +17 -25
  172. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransaction.test.js.map +1 -0
  173. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMic.test.js +165 -0
  174. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMic.test.js.map +1 -0
  175. package/lib/test/Integration/Services/{CheckServiceTest.js → CheckService.test.js} +11 -18
  176. package/lib/test/Integration/Services/CheckService.test.js.map +1 -0
  177. package/lib/test/Integration/Services/{CreditServiceTest.js → CreditService.test.js} +48 -64
  178. package/lib/test/Integration/Services/CreditService.test.js.map +1 -0
  179. package/lib/test/Integration/Services/{DebitServiceTest.js → DebitService.test.js} +28 -32
  180. package/lib/test/Integration/Services/DebitService.test.js.map +1 -0
  181. package/lib/test/Integration/Services/{EBTServiceTest.js → EBTService.test.js} +16 -26
  182. package/lib/test/Integration/Services/EBTService.test.js.map +1 -0
  183. package/lib/test/Unit/Builders/AuthorizationBuilder/Validation.test.js +122 -0
  184. package/lib/test/Unit/Builders/AuthorizationBuilder/Validation.test.js.map +1 -0
  185. package/lib/test/Unit/Builders/ReportBuilder/Validation.test.js +66 -0
  186. package/lib/test/Unit/Builders/ReportBuilder/Validation.test.js.map +1 -0
  187. package/lib/test/Unit/Gateways/GpEcomConnector/{CreditTest.js → Credit.test.js} +13 -15
  188. package/lib/test/Unit/Gateways/GpEcomConnector/Credit.test.js.map +1 -0
  189. package/lib/test/Unit/Gateways/PorticoConnector/InputValidation.test.js +128 -0
  190. package/lib/test/Unit/Gateways/PorticoConnector/InputValidation.test.js.map +1 -0
  191. package/package.json +7 -17
  192. package/lib/test/Integration/Gateways/GpApiConnector/3DS2Test.js.map +0 -1
  193. package/lib/test/Integration/Gateways/GpApiConnector/3DSecureTest.js.map +0 -1
  194. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js +0 -109
  195. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js.map +0 -1
  196. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.js +0 -1025
  197. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.js.map +0 -1
  198. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardPresentTest.js +0 -439
  199. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardPresentTest.js.map +0 -1
  200. package/lib/test/Integration/Gateways/GpApiConnector/DebitCardTest.js.map +0 -1
  201. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCertificationTest.js.map +0 -1
  202. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagementTest.js +0 -149
  203. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagementTest.js.map +0 -1
  204. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDepositsTest.js.map +0 -1
  205. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactionsTest.js.map +0 -1
  206. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.js.map +0 -1
  207. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactionsTest.js.map +0 -1
  208. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AuthTest.js.map +0 -1
  209. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AvsTest.js.map +0 -1
  210. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/CreditTest.js.map +0 -1
  211. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/HoldTest.js.map +0 -1
  212. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.js.map +0 -1
  213. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.js +0 -99
  214. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.js.map +0 -1
  215. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.js +0 -133
  216. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.js.map +0 -1
  217. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js +0 -59
  218. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js.map +0 -1
  219. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js +0 -378
  220. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js.map +0 -1
  221. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js.map +0 -1
  222. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js.map +0 -1
  223. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js.map +0 -1
  224. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js.map +0 -1
  225. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js +0 -420
  226. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js.map +0 -1
  227. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js.map +0 -1
  228. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js +0 -392
  229. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js.map +0 -1
  230. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js.map +0 -1
  231. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js.map +0 -1
  232. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js.map +0 -1
  233. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js +0 -147
  234. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js.map +0 -1
  235. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementTokenTest.js.map +0 -1
  236. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js +0 -101
  237. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js.map +0 -1
  238. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js.map +0 -1
  239. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTest.js.map +0 -1
  240. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTest.js.map +0 -1
  241. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTest.js.map +0 -1
  242. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.js.map +0 -1
  243. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.js.map +0 -1
  244. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.js.map +0 -1
  245. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.js.map +0 -1
  246. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.js.map +0 -1
  247. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.js +0 -149
  248. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.js.map +0 -1
  249. package/lib/test/Integration/Services/CheckServiceTest.js.map +0 -1
  250. package/lib/test/Integration/Services/CreditServiceTest.js.map +0 -1
  251. package/lib/test/Integration/Services/DebitServiceTest.js.map +0 -1
  252. package/lib/test/Integration/Services/EBTServiceTest.js.map +0 -1
  253. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js +0 -111
  254. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js.map +0 -1
  255. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js +0 -62
  256. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js.map +0 -1
  257. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.js.map +0 -1
  258. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js +0 -125
  259. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js.map +0 -1
  260. /package/lib/test/Integration/Gateways/GpApiConnector/{3DS2Test.d.ts → 3DS2.test.d.ts} +0 -0
  261. /package/lib/test/Integration/Gateways/GpApiConnector/{3DSecureTest.d.ts → 3DSecure.test.d.ts} +0 -0
  262. /package/lib/test/Integration/Gateways/GpApiConnector/{AccessTokenTest.d.ts → AccessToken.test.d.ts} +0 -0
  263. /package/lib/test/Integration/Gateways/GpApiConnector/{CreditCardNotPresentTest.d.ts → CreditCardNotPresent.test.d.ts} +0 -0
  264. /package/lib/test/Integration/Gateways/GpApiConnector/{CreditCardPresentTest.d.ts → DebitCard.test.d.ts} +0 -0
  265. /package/lib/test/Integration/Gateways/GpApiConnector/{DebitCardTest.d.ts → GpApiCertification.test.d.ts} +0 -0
  266. /package/lib/test/Integration/Gateways/GpApiConnector/{GpApiCertificationTest.d.ts → GpApiTokenManagement.test.d.ts} +0 -0
  267. /package/lib/test/Integration/Gateways/GpApiConnector/{GpApiTokenManagementTest.d.ts → ReportingDeposits.test.d.ts} +0 -0
  268. /package/lib/test/Integration/Gateways/GpApiConnector/{ReportingDepositsTest.d.ts → ReportingDisputes.test.d.ts} +0 -0
  269. /package/lib/test/Integration/Gateways/GpApiConnector/{ReportingSettlementTransactionsTest.d.ts → ReportingSettlementTransactions.test.d.ts} +0 -0
  270. /package/lib/test/Integration/Gateways/GpApiConnector/{ReportingStoredPaymentMethodsTest.d.ts → ReportingStoredPaymentMethods.test.d.ts} +0 -0
  271. /package/lib/test/Integration/Gateways/GpApiConnector/{ReportingTransactionsTest.d.ts → ReportingTransactions.test.d.ts} +0 -0
  272. /package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{AuthTest.d.ts → Auth.test.d.ts} +0 -0
  273. /package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{AvsTest.d.ts → Avs.test.d.ts} +0 -0
  274. /package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{CreditTest.d.ts → Credit.test.d.ts} +0 -0
  275. /package/lib/test/Integration/Gateways/GpEcomConnector/Certification/{HoldTest.d.ts → Hold.test.d.ts} +0 -0
  276. /package/lib/test/Integration/Gateways/GpEcomConnector/{CreditTest.d.ts → Credit.test.d.ts} +0 -0
  277. /package/lib/test/Integration/Gateways/GpEcomConnector/{HppTest.d.ts → Hpp.test.d.ts} +0 -0
  278. /package/lib/test/Integration/Gateways/GpEcomConnector/{RecurringTest.d.ts → Recurring.test.d.ts} +0 -0
  279. /package/lib/test/Integration/Gateways/PorticoConnector/{AchTest.d.ts → Ach.test.d.ts} +0 -0
  280. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{CheckTest.d.ts → Check.test.d.ts} +0 -0
  281. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{EcommerceCheckTest.d.ts → Ecommerce.test.d.ts} +0 -0
  282. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{EcommerceTest.d.ts → EcommerceCheck.test.d.ts} +0 -0
  283. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{MotoCheckTest.d.ts → Moto.test.d.ts} +0 -0
  284. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{MotoTest.d.ts → MotoCheck.test.d.ts} +0 -0
  285. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{RecurringTest.d.ts → Recurring.test.d.ts} +0 -0
  286. /package/lib/test/Integration/Gateways/PorticoConnector/Certifications/{RetailTest.d.ts → Retail.test.d.ts} +0 -0
  287. /package/lib/test/Integration/Gateways/PorticoConnector/{CreditTest.d.ts → Credit.test.d.ts} +0 -0
  288. /package/lib/test/Integration/Gateways/PorticoConnector/{DebitTest.d.ts → Debit.test.d.ts} +0 -0
  289. /package/lib/test/Integration/Gateways/PorticoConnector/{EbtTest.d.ts → Ebt.test.d.ts} +0 -0
  290. /package/lib/test/Integration/Gateways/PorticoConnector/{EcommerceTest.d.ts → Ecommerce.test.d.ts} +0 -0
  291. /package/lib/test/Integration/Gateways/PorticoConnector/{GiftTest.d.ts → Gift.test.d.ts} +0 -0
  292. /package/lib/test/Integration/Gateways/PorticoConnector/{PorticoManagementTokenTest.d.ts → PorticoManagementToken.test.d.ts} +0 -0
  293. /package/lib/test/Integration/Gateways/PorticoConnector/{RecurringTest.d.ts → Recurring.test.d.ts} +0 -0
  294. /package/lib/test/Integration/Gateways/PorticoConnector/{ReportingTest.d.ts → Reporting.test.d.ts} +0 -0
  295. /package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{GetInformationCertificationTest.d.ts → GetInformationCertification.test.d.ts} +0 -0
  296. /package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayAccountCertificationTest.d.ts → ProPayAccountCertification.test.d.ts} +0 -0
  297. /package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayFundCertificationTest.d.ts → ProPayFundCertification.test.d.ts} +0 -0
  298. /package/lib/test/Integration/Gateways/ProPayConnector/Certifications/{ProPayInNetworkTransactionCertificationTest.d.ts → ProPayInNetworkTransactionCertification.test.d.ts} +0 -0
  299. /package/lib/test/Integration/Gateways/ProPayConnector/{GetInformationTest.d.ts → GetInformation.test.d.ts} +0 -0
  300. /package/lib/test/Integration/Gateways/ProPayConnector/{ProPayAccountTest.d.ts → ProPayAccount.test.d.ts} +0 -0
  301. /package/lib/test/Integration/Gateways/ProPayConnector/{ProPayFundsTest.d.ts → ProPayFunds.test.d.ts} +0 -0
  302. /package/lib/test/Integration/Gateways/ProPayConnector/{ProPayInNetworkTransactionTest.d.ts → ProPayInNetworkTransaction.test.d.ts} +0 -0
  303. /package/lib/test/Integration/Gateways/Terminals/UPA/{UpaMicTest.d.ts → UpaMic.test.d.ts} +0 -0
  304. /package/lib/test/Integration/Services/{CheckServiceTest.d.ts → CheckService.test.d.ts} +0 -0
  305. /package/lib/test/Integration/Services/{CreditServiceTest.d.ts → CreditService.test.d.ts} +0 -0
  306. /package/lib/test/Integration/Services/{DebitServiceTest.d.ts → DebitService.test.d.ts} +0 -0
  307. /package/lib/test/Integration/Services/{EBTServiceTest.d.ts → EBTService.test.d.ts} +0 -0
  308. /package/lib/test/Unit/Builders/AuthorizationBuilder/{ValidationTest.d.ts → Validation.test.d.ts} +0 -0
  309. /package/lib/test/Unit/Builders/ReportBuilder/{ValidationTest.d.ts → Validation.test.d.ts} +0 -0
  310. /package/lib/test/Unit/Gateways/GpEcomConnector/{CreditTest.d.ts → Credit.test.d.ts} +0 -0
  311. /package/lib/test/Unit/Gateways/PorticoConnector/{InputValidationTest.d.ts → InputValidation.test.d.ts} +0 -0
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const ServiceConfigs_1 = require("../../../../src/ServiceConfigs");
5
+ const config = new ServiceConfigs_1.GpEcomConfig();
6
+ config.merchantId = "heartlandgpsandbox";
7
+ config.accountId = "api";
8
+ config.sharedSecret = "secret";
9
+ config.rebatePassword = "rebate";
10
+ config.refundPassword = "refund";
11
+ config.requestLogger = new src_1.SampleRequestLogger(new src_1.Logger("logs"));
12
+ const card = new src_1.CreditCardData();
13
+ card.number = "4263970000005262";
14
+ card.expMonth = "5";
15
+ card.expYear = "2019";
16
+ card.cardHolderName = "James Mason";
17
+ const customerId = `${src_1.GenerationUtils.generateTimestamp()}-Realex`;
18
+ const paymentId = (t) => `${src_1.GenerationUtils.generateTimestamp()}-Realex-${t}`;
19
+ const customer = new src_1.Customer();
20
+ customer.key = customerId;
21
+ customer.title = "Mr.";
22
+ customer.firstName = "James";
23
+ customer.lastName = "Mason";
24
+ customer.company = "Realex Payments";
25
+ customer.address = new src_1.Address();
26
+ customer.address.streetAddress1 = "Flat 123";
27
+ customer.address.streetAddress2 = "House 456";
28
+ customer.address.streetAddress3 = "The Cul-De-Sac";
29
+ customer.address.city = "Halifax";
30
+ customer.address.province = "West Yorkshire";
31
+ customer.address.postalCode = "W6 9HR";
32
+ customer.address.country = "United Kingdom";
33
+ customer.homePhone = "+35312345678";
34
+ customer.workPhone = "+3531987654321";
35
+ customer.fax = "+124546871258";
36
+ customer.mobilePhone = "+25544778544";
37
+ customer.email = "text@example.com";
38
+ customer.comments = "Campaign Ref E7373G";
39
+ beforeAll(() => {
40
+ src_1.ServicesContainer.configureService(config);
41
+ });
42
+ describe("Recurring Test", () => {
43
+ test("001a - create customer", async () => {
44
+ try {
45
+ const newCustomer = await customer.create();
46
+ expect(newCustomer).toBeTruthy();
47
+ }
48
+ catch (e) {
49
+ console.log(e);
50
+ if (e.responseCode !== "520") {
51
+ fail(e.message);
52
+ }
53
+ }
54
+ });
55
+ test("001b - create payment method", async () => {
56
+ try {
57
+ const paymentMethod = await customer.addPaymentMethod(paymentId("Credit"), card);
58
+ expect(paymentMethod).toBeTruthy();
59
+ }
60
+ catch (e) {
61
+ if (e.responseCode !== "520") {
62
+ fail(e.message);
63
+ }
64
+ }
65
+ });
66
+ test("002a - edit customer from id", async () => {
67
+ const editCustomer = new src_1.Customer();
68
+ editCustomer.key = customerId;
69
+ await customer.saveChanges();
70
+ });
71
+ test.skip("002b - edit payment method from id", async () => {
72
+ const newCard = new src_1.CreditCardData();
73
+ newCard.number = "5425230000004415";
74
+ newCard.expMonth = "10";
75
+ newCard.expYear = "2020";
76
+ newCard.cardHolderName = "Philip Marlowe";
77
+ const paymentMethod = new src_1.RecurringPaymentMethod(customerId, paymentId("Credit"));
78
+ paymentMethod.paymentMethod = newCard;
79
+ await paymentMethod.saveChanges();
80
+ });
81
+ test.skip("003 - find", async () => {
82
+ await src_1.Customer.find(customerId);
83
+ });
84
+ test.skip("004a - charge stored card", async () => {
85
+ const paymentMethod = new src_1.RecurringPaymentMethod(customerId, paymentId("Credit"));
86
+ const response = await paymentMethod
87
+ .charge(10)
88
+ .withCurrency("USD")
89
+ .withCvn("123")
90
+ .execute();
91
+ expect(response).toBeTruthy();
92
+ expect(response.responseCode).toBe("00");
93
+ });
94
+ test.skip("004b - verify stored card", async () => {
95
+ const paymentMethod = new src_1.RecurringPaymentMethod(customerId, paymentId("Credit"));
96
+ const response = await paymentMethod.verify().withCvn("123").execute();
97
+ expect(response).toBeTruthy();
98
+ expect(response.responseCode).toBe("00");
99
+ });
100
+ test.skip("004c - refund stored card", async () => {
101
+ const paymentMethod = new src_1.RecurringPaymentMethod(customerId, paymentId("Credit"));
102
+ const response = await paymentMethod
103
+ .refund(10.01)
104
+ .withCurrency("USD")
105
+ .execute();
106
+ expect(response).toBeTruthy();
107
+ expect(response.responseCode).toBe("00");
108
+ });
109
+ test.skip("005 - delete payment method", async () => {
110
+ const paymentMethod = new src_1.RecurringPaymentMethod(customerId, paymentId("Credit"));
111
+ await paymentMethod.delete();
112
+ });
113
+ test.skip("006 - recurring payment", async () => {
114
+ const paymentMethod = new src_1.RecurringPaymentMethod(customerId, paymentId("Credit"));
115
+ const response = await paymentMethod
116
+ .charge(12)
117
+ .withRecurringInfo(src_1.RecurringType.Fixed, src_1.RecurringSequence.First)
118
+ .withCurrency("USD")
119
+ .execute();
120
+ expect(response).toBeTruthy();
121
+ expect(response.responseCode).toBe("00");
122
+ });
123
+ });
124
+ //# sourceMappingURL=Recurring.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Recurring.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpEcomConnector/Recurring.test.ts"],"names":[],"mappings":";;AAAA,yCAWyB;AACzB,mEAA8D;AAE9D,MAAM,MAAM,GAAG,IAAI,6BAAY,EAAE,CAAC;AAClC,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC;AACzC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;AACzB,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,aAAa,GAAG,IAAI,yBAAmB,CAAC,IAAI,YAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnE,MAAM,IAAI,GAAG,IAAI,oBAAc,EAAE,CAAC;AAClC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC;AACjC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AAEpC,MAAM,UAAU,GAAG,GAAG,qBAAe,CAAC,iBAAiB,EAAE,SAAS,CAAC;AACnE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAC9B,GAAG,qBAAe,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,CAAC;AAEvD,MAAM,QAAQ,GAAG,IAAI,cAAQ,EAAE,CAAC;AAChC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;AAC1B,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;AAC7B,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC5B,QAAQ,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACrC,QAAQ,CAAC,OAAO,GAAG,IAAI,aAAO,EAAE,CAAC;AACjC,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC;AAC7C,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC;AAC9C,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAAC;AACnD,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;AAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;AAC7C,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;AACvC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAC5C,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;AACpC,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC;AACtC,QAAQ,CAAC,GAAG,GAAG,eAAe,CAAC;AAC/B,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC;AACtC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAC;AACpC,QAAQ,CAAC,QAAQ,GAAG,qBAAqB,CAAC;AAE1C,SAAS,CAAC,GAAG,EAAE;IACb,uBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;SAClC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,CAAC,YAAY,KAAK,KAAK,EAAE;gBAC5B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aACjB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CACnD,SAAS,CAAC,QAAQ,CAAC,EACnB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,CAAC,YAAY,KAAK,KAAK,EAAE;gBAC5B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aACjB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,YAAY,GAAG,IAAI,cAAQ,EAAE,CAAC;QACpC,YAAY,CAAC,GAAG,GAAG,UAAU,CAAC;QAC9B,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,OAAO,GAAG,IAAI,oBAAc,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;QACzB,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAAC;QAE1C,MAAM,aAAa,GAAG,IAAI,4BAAsB,CAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,CACpB,CAAC;QACF,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC;QACtC,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,cAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,aAAa,GAAG,IAAI,4BAAsB,CAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa;aACjC,MAAM,CAAC,EAAE,CAAC;aACV,YAAY,CAAC,KAAK,CAAC;aACnB,OAAO,CAAC,KAAK,CAAC;aACd,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,aAAa,GAAG,IAAI,4BAAsB,CAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAEvE,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,aAAa,GAAG,IAAI,4BAAsB,CAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa;aACjC,MAAM,CAAC,KAAK,CAAC;aACb,YAAY,CAAC,KAAK,CAAC;aACnB,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,aAAa,GAAG,IAAI,4BAAsB,CAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,CACpB,CAAC;QACF,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,aAAa,GAAG,IAAI,4BAAsB,CAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa;aACjC,MAAM,CAAC,EAAE,CAAC;aACV,iBAAiB,CAAC,mBAAa,CAAC,KAAK,EAAE,uBAAiB,CAAC,KAAK,CAAC;aAC/D,YAAY,CAAC,KAAK,CAAC;aACnB,OAAO,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const address = new src_1.Address();
5
+ const check = new src_1.ECheck();
6
+ const config = new src_1.PorticoConfig();
7
+ beforeAll(() => {
8
+ address.streetAddress1 = "123 Main St.";
9
+ address.city = "Downtown";
10
+ address.province = "NJ";
11
+ address.postalCode = "12345";
12
+ check.accountNumber = "1357902468";
13
+ check.routingNumber = "122000030";
14
+ check.checkType = src_1.CheckType.Personal;
15
+ check.secCode = src_1.SecCode.PPD;
16
+ check.accountType = src_1.AccountType.Checking;
17
+ check.entryMode = src_1.EntryMethod.Manual;
18
+ check.checkHolderName = "John Doe";
19
+ check.driversLicenseNumber = "09876543210";
20
+ check.driversLicenseState = "TX";
21
+ check.phoneNumber = "8003214567";
22
+ check.birthYear = "1997";
23
+ check.ssnLast4 = "4321";
24
+ check.checkName = "Genysis Chamber";
25
+ });
26
+ beforeEach(() => {
27
+ config.secretApiKey = "skapi_cert_MTyMAQBiHVEAewvIzXVFcmUd2UcyBge_eCpaASUp0A";
28
+ config.serviceUrl = "https://cert.api2.heartlandportico.com";
29
+ src_1.ServicesContainer.configureService(config);
30
+ });
31
+ test("check sale", async () => {
32
+ const response = await check
33
+ .charge(11)
34
+ .withCurrency("USD")
35
+ .withAddress(address)
36
+ .execute();
37
+ expect(response).toBeTruthy();
38
+ expect(response.responseCode).toBe("00");
39
+ });
40
+ test("check void from transaction id", async () => {
41
+ const response = await check
42
+ .charge(10)
43
+ .withCurrency("USD")
44
+ .withAddress(address)
45
+ .execute();
46
+ expect(response).toBeTruthy();
47
+ expect(response.responseCode).toBe("00");
48
+ const voidResponse = await src_1.Transaction.fromId(response.transactionId, src_1.PaymentMethodType.ACH)
49
+ .void()
50
+ .execute();
51
+ expect(voidResponse).toBeTruthy();
52
+ expect(voidResponse.responseCode).toBe("00");
53
+ });
54
+ //# sourceMappingURL=Ach.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ach.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/PorticoConnector/Ach.test.ts"],"names":[],"mappings":";;AAAA,yCAWyB;AAEzB,MAAM,OAAO,GAAG,IAAI,aAAO,EAAE,CAAC;AAC9B,MAAM,KAAK,GAAG,IAAI,YAAM,EAAE,CAAC;AAC3B,MAAM,MAAM,GAAG,IAAI,mBAAa,EAAE,CAAC;AAEnC,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;IACxC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;IAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;IAE7B,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC;IACnC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC;IAClC,KAAK,CAAC,SAAS,GAAG,eAAS,CAAC,QAAQ,CAAC;IACrC,KAAK,CAAC,OAAO,GAAG,aAAO,CAAC,GAAG,CAAC;IAC5B,KAAK,CAAC,WAAW,GAAG,iBAAW,CAAC,QAAQ,CAAC;IACzC,KAAK,CAAC,SAAS,GAAG,iBAAW,CAAC,MAAM,CAAC;IACrC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;IACnC,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC;IAC3C,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC;IACjC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,SAAS,GAAG,iBAAiB,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,CAAC,YAAY,GAAG,uDAAuD,CAAC;IAC9E,MAAM,CAAC,UAAU,GAAG,wCAAwC,CAAC;IAC7D,uBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK;SACzB,MAAM,CAAC,EAAE,CAAC;SACV,YAAY,CAAC,KAAK,CAAC;SACnB,WAAW,CAAC,OAAO,CAAC;SACpB,OAAO,EAAE,CAAC;IAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAChD,MAAM,QAAQ,GAAG,MAAM,KAAK;SACzB,MAAM,CAAC,EAAE,CAAC;SACV,YAAY,CAAC,KAAK,CAAC;SACnB,WAAW,CAAC,OAAO,CAAC;SACpB,OAAO,EAAE,CAAC;IAEb,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG,MAAM,iBAAW,CAAC,MAAM,CAC3C,QAAQ,CAAC,aAAa,EACtB,uBAAiB,CAAC,GAAG,CACtB;SACE,IAAI,EAAE;SACN,OAAO,EAAE,CAAC;IAEb,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../../src");
4
+ const Data_1 = require("../../../../Data");
5
+ const config = new src_1.PorticoConfig();
6
+ const address = new src_1.Address();
7
+ // Some tests are failing
8
+ beforeAll(() => {
9
+ config.secretApiKey = "skapi_cert_MXDMBQDwa3IAA4GV7NGMqQA_wFR3_TNeamFWoNUu_Q";
10
+ src_1.ServicesContainer.configureService(config);
11
+ address.streetAddress1 = "123 Main St.";
12
+ address.city = "Downtown";
13
+ address.province = "NJ";
14
+ address.postalCode = "12345";
15
+ });
16
+ /// ACH Debit - Consumer
17
+ describe("Check Test Suite", () => {
18
+ test("001 - consumer personal checking", () => {
19
+ const check = Data_1.TestChecks.certification(src_1.SecCode.PPD, src_1.CheckType.Personal, src_1.AccountType.Checking, "Megatron");
20
+ return new Promise((resolve, reject) => {
21
+ check
22
+ .charge(11.0)
23
+ .withCurrency("USD")
24
+ .withAddress(address)
25
+ .withAllowDuplicates(true)
26
+ .execute()
27
+ .then((response) => {
28
+ expect(response).toBeTruthy();
29
+ expect(response.responseCode).toBe("00");
30
+ return response;
31
+ })
32
+ .then((response) => {
33
+ // test case 25
34
+ response
35
+ .void()
36
+ .execute()
37
+ .then((voidResponse) => {
38
+ expect(voidResponse).toBeTruthy();
39
+ expect(voidResponse.responseCode).toBe("00");
40
+ resolve();
41
+ })
42
+ .catch(reject);
43
+ })
44
+ .catch(reject);
45
+ });
46
+ });
47
+ test("002 - consumer business checking", () => {
48
+ const check = Data_1.TestChecks.certification(src_1.SecCode.PPD, src_1.CheckType.Business, src_1.AccountType.Checking);
49
+ return new Promise((resolve, reject) => {
50
+ check
51
+ .charge(12.0)
52
+ .withCurrency("USD")
53
+ .withAddress(address)
54
+ .withAllowDuplicates(true)
55
+ .execute()
56
+ .then((response) => {
57
+ expect(response).toBeTruthy();
58
+ expect(response.responseCode).toBe("00");
59
+ resolve();
60
+ })
61
+ .catch(reject);
62
+ });
63
+ });
64
+ test("003 - consumer personal savings", () => {
65
+ const check = Data_1.TestChecks.certification(src_1.SecCode.PPD, src_1.CheckType.Personal, src_1.AccountType.Savings);
66
+ return new Promise((resolve, reject) => {
67
+ check
68
+ .charge(13.0)
69
+ .withCurrency("USD")
70
+ .withAddress(address)
71
+ .withAllowDuplicates(true)
72
+ .execute()
73
+ .then((response) => {
74
+ expect(response).toBeTruthy();
75
+ expect(response.responseCode).toBe("00");
76
+ resolve();
77
+ })
78
+ .catch(reject);
79
+ });
80
+ });
81
+ test("004 - consumer business savings", () => {
82
+ const check = Data_1.TestChecks.certification(src_1.SecCode.PPD, src_1.CheckType.Business, src_1.AccountType.Savings);
83
+ return new Promise((resolve, reject) => {
84
+ check
85
+ .charge(14.0)
86
+ .withCurrency("USD")
87
+ .withAddress(address)
88
+ .withAllowDuplicates(true)
89
+ .execute()
90
+ .then((response) => {
91
+ expect(response).toBeTruthy();
92
+ expect(response.responseCode).toBe("00");
93
+ resolve();
94
+ })
95
+ .catch(reject);
96
+ });
97
+ });
98
+ test("005 - corporate personal checking", () => {
99
+ const check = Data_1.TestChecks.certification(src_1.SecCode.CCD, src_1.CheckType.Personal, src_1.AccountType.Checking, "Heartland Pays");
100
+ return new Promise((resolve, reject) => {
101
+ check
102
+ .charge(15.0)
103
+ .withCurrency("USD")
104
+ .withAddress(address)
105
+ .withAllowDuplicates(true)
106
+ .execute()
107
+ .then((response) => {
108
+ expect(response).toBeTruthy();
109
+ expect(response.responseCode).toBe("00");
110
+ return response;
111
+ })
112
+ .then((response) => {
113
+ // test case 26
114
+ response
115
+ .void()
116
+ .execute()
117
+ .then((voidResponse) => {
118
+ expect(voidResponse).toBeTruthy();
119
+ expect(voidResponse.responseCode).toBe("00");
120
+ resolve();
121
+ })
122
+ .catch(reject);
123
+ })
124
+ .catch(reject);
125
+ });
126
+ });
127
+ test("006 - corporate business checking", () => {
128
+ const check = Data_1.TestChecks.certification(src_1.SecCode.CCD, src_1.CheckType.Business, src_1.AccountType.Checking, "Heartland Pays");
129
+ return new Promise((resolve, reject) => {
130
+ check
131
+ .charge(16.0)
132
+ .withCurrency("USD")
133
+ .withAddress(address)
134
+ .withAllowDuplicates(true)
135
+ .execute()
136
+ .then((response) => {
137
+ expect(response).toBeTruthy();
138
+ expect(response.responseCode).toBe("00");
139
+ resolve();
140
+ })
141
+ .catch(reject);
142
+ });
143
+ });
144
+ test("007 - corporate personal savings", () => {
145
+ const check = Data_1.TestChecks.certification(src_1.SecCode.CCD, src_1.CheckType.Personal, src_1.AccountType.Savings, "Heartland Pays");
146
+ return new Promise((resolve, reject) => {
147
+ check
148
+ .charge(17.0)
149
+ .withCurrency("USD")
150
+ .withAddress(address)
151
+ .withAllowDuplicates(true)
152
+ .execute()
153
+ .then((response) => {
154
+ expect(response).toBeTruthy();
155
+ expect(response.responseCode).toBe("00");
156
+ resolve();
157
+ })
158
+ .catch(reject);
159
+ });
160
+ });
161
+ test("008 - corporate business savings", () => {
162
+ const check = Data_1.TestChecks.certification(src_1.SecCode.CCD, src_1.CheckType.Business, src_1.AccountType.Savings, "Heartland Pays");
163
+ return new Promise((resolve, reject) => {
164
+ check
165
+ .charge(18.0)
166
+ .withCurrency("USD")
167
+ .withAddress(address)
168
+ .withAllowDuplicates(true)
169
+ .execute()
170
+ .then((response) => {
171
+ expect(response).toBeTruthy();
172
+ expect(response.responseCode).toBe("00");
173
+ resolve();
174
+ })
175
+ .catch(reject);
176
+ });
177
+ });
178
+ test("010 - egold business checking", () => {
179
+ const check = Data_1.TestChecks.certification(src_1.SecCode.CCD, src_1.CheckType.Business, src_1.AccountType.Checking);
180
+ return new Promise((resolve, reject) => {
181
+ check
182
+ .charge(12.0)
183
+ .withCurrency("USD")
184
+ .withAddress(address)
185
+ .withAllowDuplicates(true)
186
+ .execute()
187
+ .then((response) => {
188
+ expect(response).toBeTruthy();
189
+ expect(response.responseCode).toBe("00");
190
+ resolve();
191
+ })
192
+ .catch(reject);
193
+ });
194
+ });
195
+ test("014 - esilver business checking", () => {
196
+ const check = Data_1.TestChecks.certification(src_1.SecCode.CCD, src_1.CheckType.Business, src_1.AccountType.Checking);
197
+ return new Promise((resolve, reject) => {
198
+ check
199
+ .charge(16.0)
200
+ .withCurrency("USD")
201
+ .withAddress(address)
202
+ .withAllowDuplicates(true)
203
+ .execute()
204
+ .then((response) => {
205
+ expect(response).toBeTruthy();
206
+ expect(response.responseCode).toBe("00");
207
+ resolve();
208
+ })
209
+ .catch(reject);
210
+ });
211
+ });
212
+ test("017 - ebronze personal checking", () => {
213
+ const check = Data_1.TestChecks.certification(src_1.SecCode.EBronze, src_1.CheckType.Personal, src_1.AccountType.Checking);
214
+ return new Promise((resolve, reject) => {
215
+ check
216
+ .charge(19.0)
217
+ .withCurrency("USD")
218
+ .withAddress(address)
219
+ .withAllowDuplicates(true)
220
+ .execute()
221
+ .then((response) => {
222
+ expect(response).toBeTruthy();
223
+ expect(response.responseCode).toBe("00");
224
+ reject();
225
+ })
226
+ .catch((error) => {
227
+ expect(-1 !== error?.message.indexOf("Processor Configuration error")).toBe(true);
228
+ resolve();
229
+ });
230
+ });
231
+ });
232
+ test("018 - ebronze business checking", () => {
233
+ const check = Data_1.TestChecks.certification(src_1.SecCode.EBronze, src_1.CheckType.Business, src_1.AccountType.Checking);
234
+ return new Promise((resolve, reject) => {
235
+ check
236
+ .charge(20.0)
237
+ .withCurrency("USD")
238
+ .withAddress(address)
239
+ .withAllowDuplicates(true)
240
+ .execute()
241
+ .then((response) => {
242
+ expect(response).toBeTruthy();
243
+ expect(response.responseCode).toBe("00");
244
+ reject();
245
+ })
246
+ .catch((error) => {
247
+ expect(-1 !== error?.message.indexOf("Processor Configuration error")).toBe(true);
248
+ resolve();
249
+ });
250
+ });
251
+ });
252
+ test("019 - ebronze personal savings", () => {
253
+ const check = Data_1.TestChecks.certification(src_1.SecCode.EBronze, src_1.CheckType.Personal, src_1.AccountType.Savings);
254
+ return new Promise((resolve, reject) => {
255
+ check
256
+ .charge(21.0)
257
+ .withCurrency("USD")
258
+ .withAddress(address)
259
+ .withAllowDuplicates(true)
260
+ .execute()
261
+ .then((response) => {
262
+ expect(response).toBeTruthy();
263
+ expect(response.responseCode).toBe("00");
264
+ reject();
265
+ })
266
+ .catch((error) => {
267
+ expect(-1 !== error?.message.indexOf("Processor Configuration error")).toBe(true);
268
+ resolve();
269
+ });
270
+ });
271
+ });
272
+ test("020 - ebronze business savings", () => {
273
+ const check = Data_1.TestChecks.certification(src_1.SecCode.EBronze, src_1.CheckType.Business, src_1.AccountType.Savings);
274
+ return new Promise((resolve, reject) => {
275
+ check
276
+ .charge(22.0)
277
+ .withCurrency("USD")
278
+ .withAddress(address)
279
+ .withAllowDuplicates(true)
280
+ .execute()
281
+ .then((response) => {
282
+ expect(response).toBeTruthy();
283
+ expect(response.responseCode).toBe("00");
284
+ reject();
285
+ })
286
+ .catch((error) => {
287
+ expect(-1 !== error?.message.indexOf("Processor Configuration error")).toBe(true);
288
+ resolve();
289
+ });
290
+ });
291
+ });
292
+ test("021 - web personal checking", () => {
293
+ const check = Data_1.TestChecks.certification(src_1.SecCode.WEB, src_1.CheckType.Personal, src_1.AccountType.Checking);
294
+ return new Promise((resolve, reject) => {
295
+ check
296
+ .charge(23.0)
297
+ .withCurrency("USD")
298
+ .withAddress(address)
299
+ .execute()
300
+ .then((response) => {
301
+ expect(response).toBeTruthy();
302
+ expect(response.responseCode).toBe("00");
303
+ resolve();
304
+ })
305
+ .catch(reject);
306
+ });
307
+ });
308
+ test("022 - web business checking", () => {
309
+ const check = Data_1.TestChecks.certification(src_1.SecCode.WEB, src_1.CheckType.Business, src_1.AccountType.Checking);
310
+ return new Promise((resolve, reject) => {
311
+ check
312
+ .charge(24.0)
313
+ .withCurrency("USD")
314
+ .withAddress(address)
315
+ .execute()
316
+ .then((response) => {
317
+ expect(response).toBeTruthy();
318
+ expect(response.responseCode).toBe("00");
319
+ resolve();
320
+ })
321
+ .catch(reject);
322
+ });
323
+ });
324
+ test("023 - web personal savings", () => {
325
+ const check = Data_1.TestChecks.certification(src_1.SecCode.WEB, src_1.CheckType.Personal, src_1.AccountType.Savings);
326
+ return new Promise((resolve, reject) => {
327
+ check
328
+ .charge(25.0)
329
+ .withCurrency("USD")
330
+ .withAddress(address)
331
+ .execute()
332
+ .then((response) => {
333
+ expect(response).toBeTruthy();
334
+ expect(response.responseCode).toBe("00");
335
+ resolve();
336
+ })
337
+ .catch(reject);
338
+ });
339
+ });
340
+ test("024 - web business savings", () => {
341
+ const check = Data_1.TestChecks.certification(src_1.SecCode.WEB, src_1.CheckType.Business, src_1.AccountType.Savings);
342
+ return new Promise((resolve, reject) => {
343
+ check
344
+ .charge(5.0)
345
+ .withCurrency("USD")
346
+ .withAddress(address)
347
+ .execute()
348
+ .then((response) => {
349
+ expect(response).toBeTruthy();
350
+ expect(response.responseCode).toBe("00");
351
+ resolve();
352
+ })
353
+ .catch(reject);
354
+ });
355
+ });
356
+ });
357
+ //# sourceMappingURL=Check.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Check.test.js","sourceRoot":"","sources":["../../../../../../test/Integration/Gateways/PorticoConnector/Certifications/Check.test.ts"],"names":[],"mappings":"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"}