globalpayments-api 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/lib/src/Builders/BaseBuilder/Validations.js +1 -1
  3. package/lib/src/Builders/BaseBuilder/Validations.js.map +1 -1
  4. package/lib/src/Builders/ManagementBuilder.d.ts +17 -1
  5. package/lib/src/Builders/ManagementBuilder.js +22 -0
  6. package/lib/src/Builders/ManagementBuilder.js.map +1 -1
  7. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js +19 -0
  8. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js.map +1 -1
  9. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.d.ts +2 -0
  10. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.js +86 -0
  11. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.js.map +1 -1
  12. package/lib/src/Builders/TransactionReportBuilder.d.ts +5 -2
  13. package/lib/src/Builders/TransactionReportBuilder.js +19 -0
  14. package/lib/src/Builders/TransactionReportBuilder.js.map +1 -1
  15. package/lib/src/Entities/DisputeDocument.d.ts +5 -0
  16. package/lib/src/Entities/DisputeDocument.js +10 -0
  17. package/lib/src/Entities/DisputeDocument.js.map +1 -0
  18. package/lib/src/Entities/Document.d.ts +10 -0
  19. package/lib/src/Entities/Document.js +13 -0
  20. package/lib/src/Entities/Document.js.map +1 -0
  21. package/lib/src/Entities/Enums/DisputeSortProperty.d.ts +12 -0
  22. package/lib/src/Entities/Enums/DisputeSortProperty.js +17 -0
  23. package/lib/src/Entities/Enums/DisputeSortProperty.js.map +1 -0
  24. package/lib/src/Entities/Enums/DisputeStage.d.ts +11 -0
  25. package/lib/src/Entities/Enums/DisputeStage.js +16 -0
  26. package/lib/src/Entities/Enums/DisputeStage.js.map +1 -0
  27. package/lib/src/Entities/Enums/DisputeStatus.d.ts +7 -0
  28. package/lib/src/Entities/Enums/DisputeStatus.js +12 -0
  29. package/lib/src/Entities/Enums/DisputeStatus.js.map +1 -0
  30. package/lib/src/Entities/Enums/DocumentCategory.d.ts +5 -0
  31. package/lib/src/Entities/Enums/DocumentCategory.js +10 -0
  32. package/lib/src/Entities/Enums/DocumentCategory.js.map +1 -0
  33. package/lib/src/Entities/Enums/FileType.d.ts +11 -0
  34. package/lib/src/Entities/Enums/FileType.js +16 -0
  35. package/lib/src/Entities/Enums/FileType.js.map +1 -0
  36. package/lib/src/Entities/Enums.d.ts +7 -0
  37. package/lib/src/Entities/Enums.js +7 -0
  38. package/lib/src/Entities/Enums.js.map +1 -1
  39. package/lib/src/Entities/HostedPaymentData.d.ts +3 -0
  40. package/lib/src/Entities/HostedPaymentData.js +3 -0
  41. package/lib/src/Entities/HostedPaymentData.js.map +1 -1
  42. package/lib/src/Entities/Reporting/DisputeSummary.d.ts +53 -0
  43. package/lib/src/Entities/Reporting/DisputeSummary.js +64 -0
  44. package/lib/src/Entities/Reporting/DisputeSummary.js.map +1 -0
  45. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.d.ts +4 -2
  46. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.js +2 -0
  47. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.js.map +1 -1
  48. package/lib/src/Entities/Reporting/index.d.ts +1 -0
  49. package/lib/src/Entities/Reporting/index.js +1 -0
  50. package/lib/src/Entities/Reporting/index.js.map +1 -1
  51. package/lib/src/Entities/index.d.ts +7 -0
  52. package/lib/src/Entities/index.js +7 -0
  53. package/lib/src/Entities/index.js.map +1 -1
  54. package/lib/src/Gateways/GpApiConnector.js +3 -0
  55. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  56. package/lib/src/Gateways/GpEcomConnector.js +9 -0
  57. package/lib/src/Gateways/GpEcomConnector.js.map +1 -1
  58. package/lib/src/Mapping/GpApiMapping.d.ts +2 -1
  59. package/lib/src/Mapping/GpApiMapping.js +75 -2
  60. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  61. package/lib/src/Services/ReportingService.d.ts +6 -1
  62. package/lib/src/Services/ReportingService.js +15 -0
  63. package/lib/src/Services/ReportingService.js.map +1 -1
  64. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.d.ts +1 -0
  65. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js +1026 -0
  66. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js.map +1 -0
  67. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.d.ts +1 -0
  68. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js +643 -0
  69. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js.map +1 -0
  70. package/lib/test/Integration/Gateways/GpApiConnector/AccessToken.test.d.ts +1 -0
  71. package/lib/test/Integration/Gateways/GpApiConnector/AccessToken.test.js +130 -0
  72. package/lib/test/Integration/Gateways/GpApiConnector/AccessToken.test.js.map +1 -0
  73. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresent.test.d.ts +1 -0
  74. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresent.test.js +1070 -0
  75. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresent.test.js.map +1 -0
  76. package/lib/test/Integration/Gateways/GpApiConnector/DebitCard.test.d.ts +1 -0
  77. package/lib/test/Integration/Gateways/GpApiConnector/DebitCard.test.js +137 -0
  78. package/lib/test/Integration/Gateways/GpApiConnector/DebitCard.test.js.map +1 -0
  79. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCertification.test.d.ts +1 -0
  80. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCertification.test.js +642 -0
  81. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCertification.test.js.map +1 -0
  82. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagement.test.d.ts +1 -0
  83. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagement.test.js +151 -0
  84. package/lib/test/Integration/Gateways/GpApiConnector/GpApiTokenManagement.test.js.map +1 -0
  85. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDeposits.test.d.ts +1 -0
  86. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDeposits.test.js +226 -0
  87. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDeposits.test.js.map +1 -0
  88. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDisputes.test.d.ts +1 -0
  89. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDisputes.test.js +571 -0
  90. package/lib/test/Integration/Gateways/GpApiConnector/ReportingDisputes.test.js.map +1 -0
  91. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactions.test.d.ts +1 -0
  92. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactions.test.js +430 -0
  93. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactions.test.js.map +1 -0
  94. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethods.test.d.ts +1 -0
  95. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethods.test.js +216 -0
  96. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethods.test.js.map +1 -0
  97. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactions.test.d.ts +1 -0
  98. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactions.test.js +340 -0
  99. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactions.test.js.map +1 -0
  100. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Auth.test.d.ts +1 -0
  101. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Auth.test.js +2426 -0
  102. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Auth.test.js.map +1 -0
  103. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Avs.test.d.ts +1 -0
  104. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Avs.test.js +562 -0
  105. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Avs.test.js.map +1 -0
  106. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Credit.test.d.ts +1 -0
  107. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Credit.test.js +1292 -0
  108. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Credit.test.js.map +1 -0
  109. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Hold.test.d.ts +1 -0
  110. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Hold.test.js +880 -0
  111. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/Hold.test.js.map +1 -0
  112. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.d.ts +1 -0
  113. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js +207 -0
  114. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js.map +1 -0
  115. package/lib/test/Integration/Gateways/GpEcomConnector/Hpp.test.d.ts +1 -0
  116. package/lib/test/Integration/Gateways/GpEcomConnector/Hpp.test.js +137 -0
  117. package/lib/test/Integration/Gateways/GpEcomConnector/Hpp.test.js.map +1 -0
  118. package/lib/test/Integration/Gateways/GpEcomConnector/Recurring.test.d.ts +1 -0
  119. package/lib/test/Integration/Gateways/GpEcomConnector/Recurring.test.js +124 -0
  120. package/lib/test/Integration/Gateways/GpEcomConnector/Recurring.test.js.map +1 -0
  121. package/lib/test/Integration/Gateways/PorticoConnector/Ach.test.d.ts +1 -0
  122. package/lib/test/Integration/Gateways/PorticoConnector/Ach.test.js +54 -0
  123. package/lib/test/Integration/Gateways/PorticoConnector/Ach.test.js.map +1 -0
  124. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Check.test.d.ts +1 -0
  125. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Check.test.js +357 -0
  126. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Check.test.js.map +1 -0
  127. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Ecommerce.test.d.ts +1 -0
  128. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Ecommerce.test.js +1667 -0
  129. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Ecommerce.test.js.map +1 -0
  130. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheck.test.d.ts +1 -0
  131. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheck.test.js +80 -0
  132. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheck.test.js.map +1 -0
  133. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Moto.test.d.ts +1 -0
  134. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Moto.test.js +1487 -0
  135. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Moto.test.js.map +1 -0
  136. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheck.test.d.ts +1 -0
  137. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheck.test.js +80 -0
  138. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheck.test.js.map +1 -0
  139. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Recurring.test.d.ts +1 -0
  140. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Recurring.test.js +393 -0
  141. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Recurring.test.js.map +1 -0
  142. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Retail.test.d.ts +1 -0
  143. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Retail.test.js +2102 -0
  144. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/Retail.test.js.map +1 -0
  145. package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.d.ts +1 -0
  146. package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.js +367 -0
  147. package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.js.map +1 -0
  148. package/lib/test/Integration/Gateways/PorticoConnector/Debit.test.d.ts +1 -0
  149. package/lib/test/Integration/Gateways/PorticoConnector/Debit.test.js +83 -0
  150. package/lib/test/Integration/Gateways/PorticoConnector/Debit.test.js.map +1 -0
  151. package/lib/test/Integration/Gateways/PorticoConnector/Ebt.test.d.ts +1 -0
  152. package/lib/test/Integration/Gateways/PorticoConnector/Ebt.test.js +63 -0
  153. package/lib/test/Integration/Gateways/PorticoConnector/Ebt.test.js.map +1 -0
  154. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.d.ts +1 -0
  155. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js +136 -0
  156. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js.map +1 -0
  157. package/lib/test/Integration/Gateways/PorticoConnector/Gift.test.d.ts +1 -0
  158. package/lib/test/Integration/Gateways/PorticoConnector/Gift.test.js +121 -0
  159. package/lib/test/Integration/Gateways/PorticoConnector/Gift.test.js.map +1 -0
  160. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementToken.test.d.ts +1 -0
  161. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementToken.test.js +40 -0
  162. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementToken.test.js.map +1 -0
  163. package/lib/test/Integration/Gateways/PorticoConnector/Recurring.test.d.ts +1 -0
  164. package/lib/test/Integration/Gateways/PorticoConnector/Recurring.test.js +87 -0
  165. package/lib/test/Integration/Gateways/PorticoConnector/Recurring.test.js.map +1 -0
  166. package/lib/test/Integration/Gateways/PorticoConnector/Reporting.test.d.ts +1 -0
  167. package/lib/test/Integration/Gateways/PorticoConnector/Reporting.test.js +44 -0
  168. package/lib/test/Integration/Gateways/PorticoConnector/Reporting.test.js.map +1 -0
  169. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertification.test.d.ts +1 -0
  170. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertification.test.js +38 -0
  171. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertification.test.js.map +1 -0
  172. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertification.test.d.ts +1 -0
  173. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertification.test.js +206 -0
  174. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertification.test.js.map +1 -0
  175. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertification.test.d.ts +1 -0
  176. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertification.test.js +52 -0
  177. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertification.test.js.map +1 -0
  178. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertification.test.d.ts +1 -0
  179. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertification.test.js +72 -0
  180. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertification.test.js.map +1 -0
  181. package/lib/test/Integration/Gateways/ProPayConnector/GetInformation.test.d.ts +1 -0
  182. package/lib/test/Integration/Gateways/ProPayConnector/GetInformation.test.js +37 -0
  183. package/lib/test/Integration/Gateways/ProPayConnector/GetInformation.test.js.map +1 -0
  184. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccount.test.d.ts +1 -0
  185. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccount.test.js +310 -0
  186. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccount.test.js.map +1 -0
  187. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFunds.test.d.ts +1 -0
  188. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFunds.test.js +53 -0
  189. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFunds.test.js.map +1 -0
  190. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransaction.test.d.ts +1 -0
  191. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransaction.test.js +72 -0
  192. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransaction.test.js.map +1 -0
  193. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMic.test.d.ts +1 -0
  194. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMic.test.js +165 -0
  195. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMic.test.js.map +1 -0
  196. package/lib/test/Integration/Services/CheckService.test.d.ts +1 -0
  197. package/lib/test/Integration/Services/CheckService.test.js +38 -0
  198. package/lib/test/Integration/Services/CheckService.test.js.map +1 -0
  199. package/lib/test/Integration/Services/CreditService.test.d.ts +1 -0
  200. package/lib/test/Integration/Services/CreditService.test.js +158 -0
  201. package/lib/test/Integration/Services/CreditService.test.js.map +1 -0
  202. package/lib/test/Integration/Services/DebitService.test.d.ts +1 -0
  203. package/lib/test/Integration/Services/DebitService.test.js +77 -0
  204. package/lib/test/Integration/Services/DebitService.test.js.map +1 -0
  205. package/lib/test/Integration/Services/EBTService.test.d.ts +1 -0
  206. package/lib/test/Integration/Services/EBTService.test.js +54 -0
  207. package/lib/test/Integration/Services/EBTService.test.js.map +1 -0
  208. package/lib/test/Unit/Builders/AuthorizationBuilder/Validation.test.d.ts +1 -0
  209. package/lib/test/Unit/Builders/AuthorizationBuilder/Validation.test.js +122 -0
  210. package/lib/test/Unit/Builders/AuthorizationBuilder/Validation.test.js.map +1 -0
  211. package/lib/test/Unit/Builders/ReportBuilder/Validation.test.d.ts +1 -0
  212. package/lib/test/Unit/Builders/ReportBuilder/Validation.test.js +66 -0
  213. package/lib/test/Unit/Builders/ReportBuilder/Validation.test.js.map +1 -0
  214. package/lib/test/Unit/Gateways/GpEcomConnector/Credit.test.d.ts +1 -0
  215. package/lib/test/Unit/Gateways/GpEcomConnector/Credit.test.js +32 -0
  216. package/lib/test/Unit/Gateways/GpEcomConnector/Credit.test.js.map +1 -0
  217. package/lib/test/Unit/Gateways/PorticoConnector/InputValidation.test.d.ts +1 -0
  218. package/lib/test/Unit/Gateways/PorticoConnector/InputValidation.test.js +128 -0
  219. package/lib/test/Unit/Gateways/PorticoConnector/InputValidation.test.js.map +1 -0
  220. package/package.json +7 -17
@@ -0,0 +1,562 @@
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.refundPassword = "refund";
10
+ config.rebatePassword = "rebate";
11
+ config.timeout = 5000;
12
+ config.channel = "ECOM";
13
+ beforeAll(() => {
14
+ src_1.ServicesContainer.configureService(config);
15
+ });
16
+ const throttle = () => new Promise((resolve) => setTimeout(resolve, 1500));
17
+ beforeEach(async () => {
18
+ await throttle();
19
+ });
20
+ test("JAVA_AVS_001a", async () => {
21
+ // billing address
22
+ const billingAddress = new src_1.Address();
23
+ billingAddress.streetAddress1 = "Flat 123 House 456";
24
+ billingAddress.postalCode = "E77 4QJ";
25
+ billingAddress.country = "GB";
26
+ // shipping address
27
+ const shippingAddress = new src_1.Address();
28
+ shippingAddress.country = "FR";
29
+ // create card
30
+ const card = new src_1.CreditCardData();
31
+ card.number = "4263970000005262";
32
+ card.expMonth = "12";
33
+ card.expYear = "2020";
34
+ card.cvn = "1";
35
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
36
+ card.cardHolderName = "James Mason";
37
+ // request
38
+ try {
39
+ await card
40
+ .charge(100.01)
41
+ .withCurrency("GBP")
42
+ .withCustomerId("100")
43
+ .withProductId("999")
44
+ .withClientTransactionId("test")
45
+ .withCustomerIpAddress("123.123.123.123")
46
+ .withAddress(billingAddress)
47
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
48
+ .withDescription("JAVA-AVS-001a")
49
+ .execute();
50
+ }
51
+ catch (error) {
52
+ expect(error?.message).toBeTruthy();
53
+ expect(error instanceof src_1.GatewayError).toBe(true);
54
+ }
55
+ });
56
+ test("JAVA_AVS_001b", async () => {
57
+ // billing address
58
+ const billingAddress = new src_1.Address();
59
+ billingAddress.streetAddress1 = "Flat #123 House No. 456";
60
+ billingAddress.postalCode = "E77 #4QJ";
61
+ billingAddress.country = "GB";
62
+ // shipping address
63
+ const shippingAddress = new src_1.Address();
64
+ shippingAddress.country = "FR";
65
+ // create card
66
+ const card = new src_1.CreditCardData();
67
+ card.number = "4263970000005262";
68
+ card.expMonth = "12";
69
+ card.expYear = "2020";
70
+ card.cvn = "2";
71
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
72
+ card.cardHolderName = "James Mason";
73
+ // request
74
+ try {
75
+ await card
76
+ .charge(100.01)
77
+ .withCurrency("GBP")
78
+ .withCustomerId("100")
79
+ .withProductId("999")
80
+ .withClientTransactionId("test")
81
+ .withCustomerIpAddress("123.123.123.123")
82
+ .withAddress(billingAddress)
83
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
84
+ .withDescription("JAVA-AVS-001b")
85
+ .execute();
86
+ }
87
+ catch (error) {
88
+ expect(error?.message).toBeTruthy();
89
+ expect(error instanceof src_1.GatewayError).toBe(true);
90
+ }
91
+ });
92
+ test("JAVA_AVS_001c", async () => {
93
+ // billing address
94
+ const billingAddress = new src_1.Address();
95
+ billingAddress.streetAddress1 = "# Flat #123 House No. #456";
96
+ billingAddress.postalCode = "# E77 @~4 Q # J";
97
+ billingAddress.country = "GB";
98
+ // shipping address
99
+ const shippingAddress = new src_1.Address();
100
+ shippingAddress.country = "FR";
101
+ // create card
102
+ const card = new src_1.CreditCardData();
103
+ card.number = "4263970000005262";
104
+ card.expMonth = "12";
105
+ card.expYear = "2020";
106
+ card.cvn = "3";
107
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
108
+ card.cardHolderName = "James Mason";
109
+ // request
110
+ try {
111
+ await card
112
+ .charge(100.01)
113
+ .withCurrency("GBP")
114
+ .withCustomerId("100")
115
+ .withProductId("999")
116
+ .withClientTransactionId("test")
117
+ .withCustomerIpAddress("123.123.123.123")
118
+ .withAddress(billingAddress)
119
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
120
+ .withDescription("JAVA-AVS-001c")
121
+ .execute();
122
+ }
123
+ catch (error) {
124
+ expect(error?.message).toBeTruthy();
125
+ expect(error instanceof src_1.GatewayError).toBe(true);
126
+ }
127
+ });
128
+ test("JAVA_AVS_001d", async () => {
129
+ // billing address
130
+ const billingAddress = new src_1.Address();
131
+ billingAddress.country = "GB";
132
+ // shipping address
133
+ const shippingAddress = new src_1.Address();
134
+ shippingAddress.country = "FR";
135
+ // create card
136
+ const card = new src_1.CreditCardData();
137
+ card.number = "4263970000005262";
138
+ card.expMonth = "12";
139
+ card.expYear = "2020";
140
+ card.cvn = "4";
141
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
142
+ card.cardHolderName = "James Mason";
143
+ // request
144
+ try {
145
+ await card
146
+ .charge(100.01)
147
+ .withCurrency("GBP")
148
+ .withCustomerId("100")
149
+ .withProductId("999")
150
+ .withClientTransactionId("test")
151
+ .withCustomerIpAddress("123.123.123.123")
152
+ .withAddress(billingAddress)
153
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
154
+ .withDescription("JAVA-AVS-001d")
155
+ .execute();
156
+ }
157
+ catch (error) {
158
+ expect(error?.message).toBeTruthy();
159
+ expect(error instanceof src_1.GatewayError).toBe(true);
160
+ }
161
+ });
162
+ test("JAVA_AVS_001e", async () => {
163
+ // billing address
164
+ const billingAddress = new src_1.Address();
165
+ /* eslint-disable */
166
+ billingAddress.streetAddress1 =
167
+ "Lorem ipsum dolor sit 1amet; consectetur adipiscing elit. Aenean ali2quam tellus in elit hendrerit; non 3porttE77 4QJitor lorem venenatis. Pellentesque dictum eu nunc ac fringilla. In vitae quam eu odio sollicitudin rhoncus. Praesent ullamcorper eros vitae consequat tempus. In gravida viverra iaculis. Morbi dignissim orci et ipsum accumsan";
168
+ billingAddress.postalCode =
169
+ "Lorem ipsum dolo1r sit amet; consectetur adipiscing elit. Aenean aliquam tellus in elit hendrerit; non porttE77 4QJitor lorem venenatis. Pellentesque dictum eu2 nunc ac fringilla. In vitae quam eu 3odio sollicitudin rhoncus. Praesent ullamcorper eros vitae consequat tempus. In gravida viverra iaculis. Morbi dignissim orci et ipsum accumsan";
170
+ /* eslint-enable */
171
+ billingAddress.country = "GB";
172
+ // shipping address
173
+ const shippingAddress = new src_1.Address();
174
+ shippingAddress.country = "FR";
175
+ // create card
176
+ const card = new src_1.CreditCardData();
177
+ card.number = "4263970000005262";
178
+ card.expMonth = "12";
179
+ card.expYear = "2020";
180
+ card.cvn = "5";
181
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
182
+ card.cardHolderName = "James Mason";
183
+ // request
184
+ try {
185
+ await card
186
+ .charge(100.01)
187
+ .withCurrency("GBP")
188
+ .withCustomerId("100")
189
+ .withProductId("999")
190
+ .withClientTransactionId("test")
191
+ .withCustomerIpAddress("123.123.123.123")
192
+ .withAddress(billingAddress)
193
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
194
+ .withDescription("JAVA-AVS-001e")
195
+ .execute();
196
+ }
197
+ catch (error) {
198
+ expect(error?.message).toBeTruthy();
199
+ expect(error instanceof src_1.GatewayError).toBe(true);
200
+ }
201
+ });
202
+ test("JAVA_AVS_001f", async () => {
203
+ // billing address
204
+ const billingAddress = new src_1.Address();
205
+ billingAddress.streetAddress1 = "ABCDEFGHIJ";
206
+ billingAddress.postalCode = "ABCDEFGHIJ";
207
+ billingAddress.country = "GB";
208
+ // shipping address
209
+ const shippingAddress = new src_1.Address();
210
+ shippingAddress.country = "FR";
211
+ // create card
212
+ const card = new src_1.CreditCardData();
213
+ card.number = "4263970000005262";
214
+ card.expMonth = "12";
215
+ card.expYear = "2020";
216
+ card.cvn = "6";
217
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
218
+ card.cardHolderName = "James Mason";
219
+ // request
220
+ try {
221
+ await card
222
+ .charge(100.01)
223
+ .withCurrency("GBP")
224
+ .withCustomerId("100")
225
+ .withProductId("999")
226
+ .withClientTransactionId("test")
227
+ .withCustomerIpAddress("123.123.123.123")
228
+ .withAddress(billingAddress)
229
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
230
+ .withDescription("JAVA-AVS-001f")
231
+ .execute();
232
+ }
233
+ catch (error) {
234
+ expect(error?.message).toBeTruthy();
235
+ expect(error instanceof src_1.GatewayError).toBe(true);
236
+ }
237
+ });
238
+ test("JAVA_AVS_001g", async () => {
239
+ // billing address
240
+ const billingAddress = new src_1.Address();
241
+ /* eslint-disable */
242
+ billingAddress.streetAddress1 =
243
+ "Lorem ipsum dolor sit amet; consectetur adipiscing elit. Aenean aliquam tellus in elit hendrerit; non porttE77 4QJitor lorem venenatis. Pellentesque dictum eu nunc ac fringilla. In vitae quam eu odio sollicitudin rhoncus. Praesent ullamcorper eros vitae consequat tempus. In gravida viverra iaculis. Morbi dignissim orci et ipsum accumsan";
244
+ billingAddress.postalCode =
245
+ "Lorem ipsum dolor sit amet; consectetur adipiscing elit. Aenean aliquam tellus in elit hendrerit; non porttE77 4QJitor lorem venenatis. Pellentesque dictum eu nunc ac fringilla. In vitae quam eu odio sollicitudin rhoncus. Praesent ullamcorper eros vitae consequat tempus. In gravida viverra iaculis. Morbi dignissim orci et ipsum accumsan";
246
+ /* eslint-enable */
247
+ billingAddress.country = "GB";
248
+ // shipping address
249
+ const shippingAddress = new src_1.Address();
250
+ shippingAddress.country = "FR";
251
+ // create card
252
+ const card = new src_1.CreditCardData();
253
+ card.number = "4263970000005262";
254
+ card.expMonth = "12";
255
+ card.expYear = "2020";
256
+ card.cvn = "7";
257
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
258
+ card.cardHolderName = "James Mason";
259
+ // request
260
+ try {
261
+ await card
262
+ .charge(100.01)
263
+ .withCurrency("GBP")
264
+ .withCustomerId("100")
265
+ .withProductId("999")
266
+ .withClientTransactionId("test")
267
+ .withCustomerIpAddress("123.123.123.123")
268
+ .withAddress(billingAddress)
269
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
270
+ .withDescription("JAVA-AVS-001g")
271
+ .execute();
272
+ }
273
+ catch (error) {
274
+ expect(error?.message).toBeTruthy();
275
+ expect(error instanceof src_1.GatewayError).toBe(true);
276
+ }
277
+ });
278
+ test("JAVA_AVS_003a", async () => {
279
+ // billing address
280
+ const billingAddress = new src_1.Address();
281
+ billingAddress.streetAddress1 = "Flat 123 House 456";
282
+ billingAddress.postalCode = "E77 4QJ";
283
+ billingAddress.country = "GB";
284
+ // shipping address
285
+ const shippingAddress = new src_1.Address();
286
+ shippingAddress.country = "FR";
287
+ // create card
288
+ const card = new src_1.CreditCardData();
289
+ card.number = "4263970000005262";
290
+ card.expMonth = "12";
291
+ card.expYear = "2020";
292
+ card.cvn = "8";
293
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
294
+ card.cardHolderName = "James Mason";
295
+ // request
296
+ try {
297
+ await card
298
+ .charge(100.01)
299
+ .withCurrency("GBP")
300
+ .withCustomerId("100")
301
+ .withProductId("999")
302
+ .withClientTransactionId("test")
303
+ .withCustomerIpAddress("123.123.123.123")
304
+ .withAddress(billingAddress)
305
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
306
+ .withDescription("JAVA-AVS-003a")
307
+ .execute();
308
+ }
309
+ catch (error) {
310
+ expect(error?.message).toBeTruthy();
311
+ expect(error instanceof src_1.GatewayError).toBe(true);
312
+ }
313
+ });
314
+ test("JAVA_AVS_003b", async () => {
315
+ // billing address
316
+ const billingAddress = new src_1.Address();
317
+ billingAddress.streetAddress1 = "Flat 123 House 456";
318
+ billingAddress.postalCode = "E77 4QJ";
319
+ billingAddress.country = "GB";
320
+ // shipping address
321
+ const shippingAddress = new src_1.Address();
322
+ shippingAddress.country = "FR";
323
+ // create card
324
+ const card = new src_1.CreditCardData();
325
+ card.number = "4263970000005262";
326
+ card.expMonth = "12";
327
+ card.expYear = "2020";
328
+ card.cvn = "9";
329
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
330
+ card.cardHolderName = "James Mason";
331
+ // request
332
+ try {
333
+ await card
334
+ .charge(100.01)
335
+ .withCurrency("GBP")
336
+ .withCustomerId("100")
337
+ .withProductId("999")
338
+ .withClientTransactionId("test")
339
+ .withCustomerIpAddress("123.123.123.123")
340
+ .withAddress(billingAddress)
341
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
342
+ .withDescription("JAVA-AVS-003b")
343
+ .execute();
344
+ }
345
+ catch (error) {
346
+ expect(error?.message).toBeTruthy();
347
+ expect(error instanceof src_1.GatewayError).toBe(true);
348
+ }
349
+ });
350
+ test("JAVA_AVS_003c", async () => {
351
+ // billing address
352
+ const billingAddress = new src_1.Address();
353
+ billingAddress.streetAddress1 = "Flat 123 House 456";
354
+ billingAddress.postalCode = "E77 4QJ";
355
+ billingAddress.country = "GB";
356
+ // shipping address
357
+ const shippingAddress = new src_1.Address();
358
+ shippingAddress.country = "FR";
359
+ // create card
360
+ const card = new src_1.CreditCardData();
361
+ card.number = "4263970000005262";
362
+ card.expMonth = "12";
363
+ card.expYear = "2020";
364
+ card.cvn = "10";
365
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
366
+ card.cardHolderName = "James Mason";
367
+ // request
368
+ try {
369
+ await card
370
+ .charge(100.01)
371
+ .withCurrency("GBP")
372
+ .withCustomerId("100")
373
+ .withProductId("999")
374
+ .withClientTransactionId("test")
375
+ .withCustomerIpAddress("123.123.123.123")
376
+ .withAddress(billingAddress)
377
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
378
+ .withDescription("JAVA-AVS-003c")
379
+ .execute();
380
+ }
381
+ catch (error) {
382
+ expect(error?.message).toBeTruthy();
383
+ expect(error instanceof src_1.GatewayError).toBe(true);
384
+ }
385
+ });
386
+ test("JAVA_AVS_003d", async () => {
387
+ // billing address
388
+ const billingAddress = new src_1.Address();
389
+ billingAddress.streetAddress1 = "Flat 123 House 456";
390
+ billingAddress.postalCode = "E77 4QJ";
391
+ billingAddress.country = "GB";
392
+ // shipping address
393
+ const shippingAddress = new src_1.Address();
394
+ shippingAddress.country = "FR";
395
+ // create card
396
+ const card = new src_1.CreditCardData();
397
+ card.number = "4263970000005262";
398
+ card.expMonth = "12";
399
+ card.expYear = "2020";
400
+ card.cvn = "11";
401
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
402
+ card.cardHolderName = "James Mason";
403
+ // request
404
+ try {
405
+ await card
406
+ .charge(100.01)
407
+ .withCurrency("GBP")
408
+ .withCustomerId("100")
409
+ .withProductId("999")
410
+ .withClientTransactionId("test")
411
+ .withCustomerIpAddress("123.123.123.123")
412
+ .withAddress(billingAddress)
413
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
414
+ .withDescription("JAVA-AVS-003d")
415
+ .execute();
416
+ }
417
+ catch (error) {
418
+ expect(error?.message).toBeTruthy();
419
+ expect(error instanceof src_1.GatewayError).toBe(true);
420
+ }
421
+ });
422
+ test("JAVA_AVS_003e", async () => {
423
+ // billing address
424
+ const billingAddress = new src_1.Address();
425
+ billingAddress.streetAddress1 = "Flat 123 House 456";
426
+ billingAddress.postalCode = "E77 4QJ";
427
+ billingAddress.country = "GB";
428
+ // shipping address
429
+ const shippingAddress = new src_1.Address();
430
+ shippingAddress.country = "FR";
431
+ // create card
432
+ const card = new src_1.CreditCardData();
433
+ card.number = "4263970000005262";
434
+ card.expMonth = "12";
435
+ card.expYear = "2020";
436
+ card.cvn = "12";
437
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
438
+ card.cardHolderName = "James Mason";
439
+ // request
440
+ try {
441
+ await card
442
+ .charge(100.01)
443
+ .withCurrency("GBP")
444
+ .withCustomerId("100")
445
+ .withProductId("999")
446
+ .withClientTransactionId("test")
447
+ .withCustomerIpAddress("123.123.123.123")
448
+ .withAddress(billingAddress)
449
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
450
+ .withDescription("JAVA-AVS-003e")
451
+ .execute();
452
+ }
453
+ catch (error) {
454
+ expect(error?.message).toBeTruthy();
455
+ expect(error instanceof src_1.GatewayError).toBe(true);
456
+ }
457
+ });
458
+ test("JAVA_AVS_003f", async () => {
459
+ // billing address
460
+ const billingAddress = new src_1.Address();
461
+ billingAddress.streetAddress1 = "Flat 123 House 456";
462
+ billingAddress.postalCode = "E77 4QJ";
463
+ billingAddress.country = "GB";
464
+ // shipping address
465
+ const shippingAddress = new src_1.Address();
466
+ shippingAddress.country = "FR";
467
+ // create card
468
+ const card = new src_1.CreditCardData();
469
+ card.number = "4263970000005262";
470
+ card.expMonth = "12";
471
+ card.expYear = "2020";
472
+ card.cvn = "13";
473
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
474
+ card.cardHolderName = "James Mason";
475
+ // request
476
+ try {
477
+ await card
478
+ .charge(100.01)
479
+ .withCurrency("GBP")
480
+ .withCustomerId("100")
481
+ .withProductId("999")
482
+ .withClientTransactionId("test")
483
+ .withCustomerIpAddress("123.123.123.123")
484
+ .withAddress(billingAddress)
485
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
486
+ .withDescription("JAVA-AVS-003f")
487
+ .execute();
488
+ }
489
+ catch (error) {
490
+ expect(error?.message).toBeTruthy();
491
+ expect(error instanceof src_1.GatewayError).toBe(true);
492
+ }
493
+ });
494
+ test("JAVA_AVS_003g", async () => {
495
+ // billing address
496
+ const billingAddress = new src_1.Address();
497
+ billingAddress.country = "GB";
498
+ // shipping address
499
+ const shippingAddress = new src_1.Address();
500
+ shippingAddress.country = "FR";
501
+ // create card
502
+ const card = new src_1.CreditCardData();
503
+ card.number = "4263970000005262";
504
+ card.expMonth = "12";
505
+ card.expYear = "2020";
506
+ card.cvn = "14";
507
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
508
+ card.cardHolderName = "James Mason";
509
+ // request
510
+ try {
511
+ await card
512
+ .charge(100.01)
513
+ .withCurrency("GBP")
514
+ .withCustomerId("100")
515
+ .withProductId("999")
516
+ .withClientTransactionId("test")
517
+ .withCustomerIpAddress("123.123.123.123")
518
+ .withAddress(billingAddress)
519
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
520
+ .withDescription("JAVA-AVS-003e")
521
+ .execute();
522
+ }
523
+ catch (error) {
524
+ expect(error?.message).toBeTruthy();
525
+ expect(error instanceof src_1.GatewayError).toBe(true);
526
+ }
527
+ });
528
+ test("JAVA_AVS_003h", async () => {
529
+ // billing address
530
+ const billingAddress = new src_1.Address();
531
+ billingAddress.country = "GB";
532
+ // shipping address
533
+ const shippingAddress = new src_1.Address();
534
+ shippingAddress.country = "FR";
535
+ // create card
536
+ const card = new src_1.CreditCardData();
537
+ card.number = "4263970000005262";
538
+ card.expMonth = "12";
539
+ card.expYear = "2020";
540
+ card.cvn = "15";
541
+ card.cvnPresenceIndicator = src_1.CvnPresenceIndicator.Present;
542
+ card.cardHolderName = "James Mason";
543
+ // request
544
+ try {
545
+ await card
546
+ .charge(100.01)
547
+ .withCurrency("GBP")
548
+ .withCustomerId("100")
549
+ .withProductId("999")
550
+ .withClientTransactionId("test")
551
+ .withCustomerIpAddress("123.123.123.123")
552
+ .withAddress(billingAddress)
553
+ .withAddress(shippingAddress, src_1.AddressType.Shipping)
554
+ .withDescription("JAVA-AVS-003f")
555
+ .execute();
556
+ }
557
+ catch (error) {
558
+ expect(error?.message).toBeTruthy();
559
+ expect(error instanceof src_1.GatewayError).toBe(true);
560
+ }
561
+ });
562
+ //# sourceMappingURL=Avs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avs.test.js","sourceRoot":"","sources":["../../../../../../test/Integration/Gateways/GpEcomConnector/Certification/Avs.test.ts"],"names":[],"mappings":"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"}