globalpayments-api 3.5.3 → 3.6.2-fix

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 (275) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +1 -0
  3. package/lib/src/Builders/BaseBuilder/ValidationClause.js +25 -1
  4. package/lib/src/Builders/BaseBuilder/ValidationClause.js.map +1 -1
  5. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSecureRequestBuilder.d.ts +20 -0
  6. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSecureRequestBuilder.js +413 -0
  7. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSecureRequestBuilder.js.map +1 -0
  8. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.d.ts +2 -2
  9. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js +2 -0
  10. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js.map +1 -1
  11. package/lib/src/Builders/Secure3dBuilder.d.ts +90 -0
  12. package/lib/src/Builders/Secure3dBuilder.js +423 -0
  13. package/lib/src/Builders/Secure3dBuilder.js.map +1 -0
  14. package/lib/src/Builders/SecureBuilder.d.ts +446 -0
  15. package/lib/src/Builders/SecureBuilder.js +729 -0
  16. package/lib/src/Builders/SecureBuilder.js.map +1 -0
  17. package/lib/src/Builders/index.d.ts +2 -0
  18. package/lib/src/Builders/index.js +2 -0
  19. package/lib/src/Builders/index.js.map +1 -1
  20. package/lib/src/ConfiguredServices.d.ts +5 -1
  21. package/lib/src/ConfiguredServices.js +20 -0
  22. package/lib/src/ConfiguredServices.js.map +1 -1
  23. package/lib/src/Entities/BrowserData.d.ts +13 -0
  24. package/lib/src/Entities/BrowserData.js +18 -0
  25. package/lib/src/Entities/BrowserData.js.map +1 -0
  26. package/lib/src/Entities/Enums/IsoCountries.d.ts +9 -0
  27. package/lib/src/Entities/Enums/IsoCountries.js +1941 -0
  28. package/lib/src/Entities/Enums/IsoCountries.js.map +1 -0
  29. package/lib/src/Entities/Enums.d.ts +149 -0
  30. package/lib/src/Entities/Enums.js +173 -2
  31. package/lib/src/Entities/Enums.js.map +1 -1
  32. package/lib/src/Entities/IRequestBuilder.d.ts +3 -3
  33. package/lib/src/Entities/MerchantDataCollection.d.ts +16 -0
  34. package/lib/src/Entities/MerchantDataCollection.js +102 -0
  35. package/lib/src/Entities/MerchantDataCollection.js.map +1 -0
  36. package/lib/src/Entities/MerchantKVP.d.ts +11 -0
  37. package/lib/src/Entities/MerchantKVP.js +28 -0
  38. package/lib/src/Entities/MerchantKVP.js.map +1 -0
  39. package/lib/src/Entities/MessageExtension.d.ts +6 -0
  40. package/lib/src/Entities/MessageExtension.js +11 -0
  41. package/lib/src/Entities/MessageExtension.js.map +1 -0
  42. package/lib/src/Entities/MobileData.d.ts +11 -0
  43. package/lib/src/Entities/MobileData.js +15 -0
  44. package/lib/src/Entities/MobileData.js.map +1 -0
  45. package/lib/src/Entities/ThreeDSecure.d.ts +66 -0
  46. package/lib/src/Entities/ThreeDSecure.js +162 -0
  47. package/lib/src/Entities/ThreeDSecure.js.map +1 -0
  48. package/lib/src/Entities/Transaction.d.ts +2 -1
  49. package/lib/src/Entities/Transaction.js +1 -0
  50. package/lib/src/Entities/Transaction.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.d.ts +2 -1
  55. package/lib/src/Gateways/GpApiConnector.js +7 -0
  56. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  57. package/lib/src/Gateways/PayPlanConnector.d.ts +1 -1
  58. package/lib/src/Gateways/PorticoConnector.d.ts +5 -5
  59. package/lib/src/Gateways/PorticoConnector.js +25 -0
  60. package/lib/src/Gateways/PorticoConnector.js.map +1 -1
  61. package/lib/src/Mapping/EnumMapping.d.ts +3 -1
  62. package/lib/src/Mapping/EnumMapping.js +26 -0
  63. package/lib/src/Mapping/EnumMapping.js.map +1 -1
  64. package/lib/src/Mapping/GpApiMapping.d.ts +1 -0
  65. package/lib/src/Mapping/GpApiMapping.js +96 -0
  66. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  67. package/lib/src/Mapping/GpEcomMapping.d.ts +1 -1
  68. package/lib/src/PaymentMethods/Credit.d.ts +2 -2
  69. package/lib/src/PaymentMethods/Credit.js +1 -1
  70. package/lib/src/PaymentMethods/Credit.js.map +1 -1
  71. package/lib/src/PaymentMethods/Interfaces.d.ts +4 -0
  72. package/lib/src/PaymentMethods/PaymentMethod.d.ts +2 -0
  73. package/lib/src/PaymentMethods/PaymentMethod.js +6 -0
  74. package/lib/src/PaymentMethods/PaymentMethod.js.map +1 -1
  75. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +2 -0
  76. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
  77. package/lib/src/Services/Secure3dService.d.ts +8 -0
  78. package/lib/src/Services/Secure3dService.js +21 -0
  79. package/lib/src/Services/Secure3dService.js.map +1 -0
  80. package/lib/src/Services/index.d.ts +1 -0
  81. package/lib/src/Services/index.js +1 -0
  82. package/lib/src/Services/index.js.map +1 -1
  83. package/lib/src/ServicesContainer.d.ts +2 -1
  84. package/lib/src/ServicesContainer.js +15 -0
  85. package/lib/src/ServicesContainer.js.map +1 -1
  86. package/lib/src/Utils/CountryUtils.d.ts +9 -0
  87. package/lib/src/Utils/CountryUtils.js +131 -0
  88. package/lib/src/Utils/CountryUtils.js.map +1 -0
  89. package/lib/src/Utils/StringUtils.d.ts +2 -0
  90. package/lib/src/Utils/StringUtils.js +15 -0
  91. package/lib/src/Utils/StringUtils.js.map +1 -1
  92. package/lib/src/Utils/index.d.ts +1 -0
  93. package/lib/src/Utils/index.js +1 -0
  94. package/lib/src/Utils/index.js.map +1 -1
  95. package/lib/test/Data/BaseGpApiTestConfig.d.ts +14 -0
  96. package/lib/test/Data/BaseGpApiTestConfig.js +50 -0
  97. package/lib/test/Data/BaseGpApiTestConfig.js.map +1 -0
  98. package/lib/test/Data/GpApi3DSTestCards.d.ts +17 -0
  99. package/lib/test/Data/GpApi3DSTestCards.js +22 -0
  100. package/lib/test/Data/GpApi3DSTestCards.js.map +1 -0
  101. package/lib/test/Data/TestCards.d.ts +24 -0
  102. package/lib/test/Data/TestCards.js +220 -0
  103. package/lib/test/Data/TestCards.js.map +1 -0
  104. package/lib/test/Data/TestChecks.d.ts +4 -0
  105. package/lib/test/Data/TestChecks.js +27 -0
  106. package/lib/test/Data/TestChecks.js.map +1 -0
  107. package/lib/test/Data/index.d.ts +4 -0
  108. package/lib/test/Data/index.js +21 -0
  109. package/lib/test/Data/index.js.map +1 -0
  110. package/lib/test/Integration/Gateways/AcsResponse.d.ts +12 -0
  111. package/lib/test/Integration/Gateways/AcsResponse.js +33 -0
  112. package/lib/test/Integration/Gateways/AcsResponse.js.map +1 -0
  113. package/lib/test/Integration/Gateways/GpApiConnector/3DS2Test.d.ts +1 -0
  114. package/lib/test/Integration/Gateways/GpApiConnector/3DS2Test.js +1029 -0
  115. package/lib/test/Integration/Gateways/GpApiConnector/3DS2Test.js.map +1 -0
  116. package/lib/test/Integration/Gateways/GpApiConnector/3DSecureTest.d.ts +1 -0
  117. package/lib/test/Integration/Gateways/GpApiConnector/3DSecureTest.js +649 -0
  118. package/lib/test/Integration/Gateways/GpApiConnector/3DSecureTest.js.map +1 -0
  119. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.d.ts +1 -0
  120. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js +109 -0
  121. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js.map +1 -0
  122. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.d.ts +1 -0
  123. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.js +1023 -0
  124. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.js.map +1 -0
  125. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardPresentTest.d.ts +1 -0
  126. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardPresentTest.js +439 -0
  127. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardPresentTest.js.map +1 -0
  128. package/lib/test/Integration/Gateways/GpApiConnector/DebitCardTest.d.ts +1 -0
  129. package/lib/test/Integration/Gateways/GpApiConnector/DebitCardTest.js +143 -0
  130. package/lib/test/Integration/Gateways/GpApiConnector/DebitCardTest.js.map +1 -0
  131. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactionsTest.d.ts +1 -0
  132. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactionsTest.js +434 -0
  133. package/lib/test/Integration/Gateways/GpApiConnector/ReportingSettlementTransactionsTest.js.map +1 -0
  134. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.d.ts +1 -0
  135. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.js +217 -0
  136. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.js.map +1 -0
  137. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactionsTest.d.ts +1 -0
  138. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactionsTest.js +337 -0
  139. package/lib/test/Integration/Gateways/GpApiConnector/ReportingTransactionsTest.js.map +1 -0
  140. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AuthTest.d.ts +1 -0
  141. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AuthTest.js +2446 -0
  142. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AuthTest.js.map +1 -0
  143. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AvsTest.d.ts +1 -0
  144. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AvsTest.js +506 -0
  145. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/AvsTest.js.map +1 -0
  146. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/CreditTest.d.ts +1 -0
  147. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/CreditTest.js +1296 -0
  148. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/CreditTest.js.map +1 -0
  149. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/HoldTest.d.ts +1 -0
  150. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/HoldTest.js +847 -0
  151. package/lib/test/Integration/Gateways/GpEcomConnector/Certification/HoldTest.js.map +1 -0
  152. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.d.ts +1 -0
  153. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.js +215 -0
  154. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.js.map +1 -0
  155. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.d.ts +1 -0
  156. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.js +99 -0
  157. package/lib/test/Integration/Gateways/GpEcomConnector/HppTest.js.map +1 -0
  158. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.d.ts +1 -0
  159. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.js +133 -0
  160. package/lib/test/Integration/Gateways/GpEcomConnector/RecurringTest.js.map +1 -0
  161. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.d.ts +1 -0
  162. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js +59 -0
  163. package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js.map +1 -0
  164. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.d.ts +1 -0
  165. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js +378 -0
  166. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js.map +1 -0
  167. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.d.ts +1 -0
  168. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js +86 -0
  169. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js.map +1 -0
  170. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.d.ts +1 -0
  171. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js +1723 -0
  172. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js.map +1 -0
  173. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.d.ts +1 -0
  174. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js +86 -0
  175. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js.map +1 -0
  176. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.d.ts +1 -0
  177. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js +1760 -0
  178. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js.map +1 -0
  179. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.d.ts +1 -0
  180. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js +420 -0
  181. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js.map +1 -0
  182. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.d.ts +1 -0
  183. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js +2221 -0
  184. package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js.map +1 -0
  185. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.d.ts +1 -0
  186. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js +392 -0
  187. package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js.map +1 -0
  188. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.d.ts +1 -0
  189. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js +88 -0
  190. package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js.map +1 -0
  191. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.d.ts +1 -0
  192. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js +72 -0
  193. package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js.map +1 -0
  194. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.d.ts +1 -0
  195. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js +111 -0
  196. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js.map +1 -0
  197. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.d.ts +1 -0
  198. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js +147 -0
  199. package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js.map +1 -0
  200. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementTokenTest.d.ts +1 -0
  201. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementTokenTest.js +48 -0
  202. package/lib/test/Integration/Gateways/PorticoConnector/PorticoManagementTokenTest.js.map +1 -0
  203. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.d.ts +1 -0
  204. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js +101 -0
  205. package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js.map +1 -0
  206. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.d.ts +1 -0
  207. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js +50 -0
  208. package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js.map +1 -0
  209. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTest.d.ts +1 -0
  210. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTest.js +44 -0
  211. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTest.js.map +1 -0
  212. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTest.d.ts +1 -0
  213. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTest.js +221 -0
  214. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTest.js.map +1 -0
  215. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTest.d.ts +1 -0
  216. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTest.js +60 -0
  217. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTest.js.map +1 -0
  218. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.d.ts +1 -0
  219. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.js +80 -0
  220. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTest.js.map +1 -0
  221. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/TestData/TestAccountData.d.ts +39 -0
  222. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/TestData/TestAccountData.js +393 -0
  223. package/lib/test/Integration/Gateways/ProPayConnector/Certifications/TestData/TestAccountData.js.map +1 -0
  224. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.d.ts +1 -0
  225. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.js +44 -0
  226. package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTest.js.map +1 -0
  227. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.d.ts +1 -0
  228. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.js +330 -0
  229. package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTest.js.map +1 -0
  230. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.d.ts +1 -0
  231. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.js +60 -0
  232. package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTest.js.map +1 -0
  233. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.d.ts +1 -0
  234. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.js +80 -0
  235. package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTest.js.map +1 -0
  236. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestAccountData.d.ts +34 -0
  237. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestAccountData.js +322 -0
  238. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestAccountData.js.map +1 -0
  239. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestFundsData.d.ts +4 -0
  240. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestFundsData.js +28 -0
  241. package/lib/test/Integration/Gateways/ProPayConnector/TestData/TestFundsData.js.map +1 -0
  242. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.d.ts +4 -0
  243. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js +10 -0
  244. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js.map +1 -0
  245. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.d.ts +1 -0
  246. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.js +149 -0
  247. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.js.map +1 -0
  248. package/lib/test/Integration/Gateways/ThreeDSecureAsClient.d.ts +16 -0
  249. package/lib/test/Integration/Gateways/ThreeDSecureAsClient.js +212 -0
  250. package/lib/test/Integration/Gateways/ThreeDSecureAsClient.js.map +1 -0
  251. package/lib/test/Integration/Services/CheckServiceTest.d.ts +1 -0
  252. package/lib/test/Integration/Services/CheckServiceTest.js +45 -0
  253. package/lib/test/Integration/Services/CheckServiceTest.js.map +1 -0
  254. package/lib/test/Integration/Services/CreditServiceTest.d.ts +1 -0
  255. package/lib/test/Integration/Services/CreditServiceTest.js +174 -0
  256. package/lib/test/Integration/Services/CreditServiceTest.js.map +1 -0
  257. package/lib/test/Integration/Services/DebitServiceTest.d.ts +1 -0
  258. package/lib/test/Integration/Services/DebitServiceTest.js +81 -0
  259. package/lib/test/Integration/Services/DebitServiceTest.js.map +1 -0
  260. package/lib/test/Integration/Services/EBTServiceTest.d.ts +1 -0
  261. package/lib/test/Integration/Services/EBTServiceTest.js +64 -0
  262. package/lib/test/Integration/Services/EBTServiceTest.js.map +1 -0
  263. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.d.ts +1 -0
  264. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js +111 -0
  265. package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js.map +1 -0
  266. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.d.ts +1 -0
  267. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js +62 -0
  268. package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js.map +1 -0
  269. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.d.ts +1 -0
  270. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.js +34 -0
  271. package/lib/test/Unit/Gateways/GpEcomConnector/CreditTest.js.map +1 -0
  272. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.d.ts +1 -0
  273. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js +125 -0
  274. package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js.map +1 -0
  275. package/package.json +2 -1
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Address"), exports);
18
18
  __exportStar(require("./BatchSummary"), exports);
19
+ __exportStar(require("./BrowserData"), exports);
19
20
  __exportStar(require("./Card"), exports);
20
21
  __exportStar(require("./CardIssuerResponse"), exports);
21
22
  __exportStar(require("./Customer"), exports);
@@ -23,6 +24,7 @@ __exportStar(require("./CustomerDocument"), exports);
23
24
  __exportStar(require("./EcommerceInfo"), exports);
24
25
  __exportStar(require("./EncryptionData"), exports);
25
26
  __exportStar(require("./Enums"), exports);
27
+ __exportStar(require("./Enums/IsoCountries"), exports);
26
28
  __exportStar(require("./Errors"), exports);
27
29
  __exportStar(require("./FraudRule"), exports);
28
30
  __exportStar(require("./GpApi"), exports);
@@ -33,6 +35,10 @@ __exportStar(require("./LodgingData"), exports);
33
35
  __exportStar(require("./LodgingItems"), exports);
34
36
  __exportStar(require("./LodgingData"), exports);
35
37
  __exportStar(require("./MaskedValueCollection"), exports);
38
+ __exportStar(require("./MessageExtension"), exports);
39
+ __exportStar(require("./MerchantDataCollection"), exports);
40
+ __exportStar(require("./MerchantKVP"), exports);
41
+ __exportStar(require("./MobileData"), exports);
36
42
  __exportStar(require("./PayerDetails"), exports);
37
43
  __exportStar(require("./PhoneNumber"), exports);
38
44
  __exportStar(require("./RecurringEntity"), exports);
@@ -41,6 +47,7 @@ __exportStar(require("./Request"), exports);
41
47
  __exportStar(require("./Schedule"), exports);
42
48
  __exportStar(require("./ServiceEndpoints"), exports);
43
49
  __exportStar(require("./StoredCredentials"), exports);
50
+ __exportStar(require("./ThreeDSecure"), exports);
44
51
  __exportStar(require("./Transaction"), exports);
45
52
  __exportStar(require("./TransactionStatus"), exports);
46
53
  __exportStar(require("./TransactionSummary"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,iDAA+B;AAC/B,yCAAuB;AACvB,uDAAqC;AACrC,6CAA2B;AAC3B,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,0CAAwB;AACxB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,gDAA8B;AAC9B,0DAAwC;AACxC,iDAA+B;AAC/B,gDAA8B;AAC9B,oDAAkC;AAClC,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,sDAAoC;AACpC,gDAA8B;AAC9B,sDAAoC;AACpC,uDAAqC;AACrC,wCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,iDAA+B;AAC/B,gDAA8B;AAC9B,yCAAuB;AACvB,uDAAqC;AACrC,6CAA2B;AAC3B,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,0CAAwB;AACxB,uDAAqC;AACrC,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,gDAA8B;AAC9B,0DAAwC;AACxC,qDAAmC;AACnC,2DAAyC;AACzC,gDAA8B;AAC9B,+CAA6B;AAC7B,iDAA+B;AAC/B,gDAA8B;AAC9B,oDAAkC;AAClC,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,sDAAoC;AACpC,iDAA+B;AAC/B,gDAA8B;AAC9B,sDAAoC;AACpC,uDAAqC;AACrC,wCAAsB"}
@@ -2,7 +2,7 @@ import { IPayFacProvider } from "./IPayFacProvider";
2
2
  import { IPaymentGateway } from "./IPaymentGateway";
3
3
  import { RestGateway } from "./RestGateway";
4
4
  import { GpApiTokenResponse, Transaction } from "../../src/Entities";
5
- import { AuthorizationBuilder, GpApiConfig, IDictionary, ManagementBuilder, ReportBuilder } from "../../src";
5
+ import { AuthorizationBuilder, GpApiConfig, IDictionary, ManagementBuilder, ReportBuilder, Secure3dBuilder } from "../../src";
6
6
  import { PayFacBuilder } from "src/Builders/PayFacBuilder";
7
7
  export declare class GpApiConnector extends RestGateway implements IPaymentGateway, IPayFacProvider {
8
8
  static GP_API_VERSION: string;
@@ -39,4 +39,5 @@ export declare class GpApiConnector extends RestGateway implements IPaymentGatew
39
39
  private getMerchantUrl;
40
40
  doTransaction(verb: string, endpoint: string, data?: string, queryStringParams?: IDictionary<string>, idempotencyKey?: string): Promise<any>;
41
41
  processPassThrough(jsonRequest: string): Promise<string>;
42
+ processSecure3d(builder: Secure3dBuilder): Promise<Transaction>;
42
43
  }
@@ -227,6 +227,13 @@ class GpApiConnector extends RestGateway_1.RestGateway {
227
227
  request.endpoint = this.getMerchantUrl(request) + request.endpoint;
228
228
  return this.doTransaction(request.httpVerb, request.endpoint, request.requestBody);
229
229
  }
230
+ async processSecure3d(builder) {
231
+ if (!this.accessToken) {
232
+ await this.signIn();
233
+ }
234
+ const response = await this.executeProcess(builder);
235
+ return src_1.GpApiMapping.mapResponseSecure3D(response);
236
+ }
230
237
  }
231
238
  exports.GpApiConnector = GpApiConnector;
232
239
  //# sourceMappingURL=GpApiConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GpApiConnector.js","sourceRoot":"","sources":["../../../src/Gateways/GpApiConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GpApiConnector.js","sourceRoot":"","sources":["../../../src/Gateways/GpApiConnector.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare class PayPlanConnector extends RestGateway implements IRecurringS
27
27
  protected buildAddress(request: any, address: Address): any;
28
28
  protected buildAmount(request: any, name: string, amount: number | string, currency: string, transactionType: TransactionType): any;
29
29
  protected buildDate(request: any, name: string, date: Date, force?: boolean): any;
30
- protected mapMethod(transactionType: TransactionType): "DELETE" | "POST" | "GET" | "PUT";
30
+ protected mapMethod(transactionType: TransactionType): "POST" | "DELETE" | "GET" | "PUT";
31
31
  protected mapUrl<T extends IRecurringEntity>(builder: RecurringBuilder<T>): string;
32
32
  protected hydrateCustomer(response: any): Customer;
33
33
  protected hydrateRecurringPaymentMethod(response: any): RecurringPaymentMethod;
@@ -31,15 +31,15 @@ export declare class PorticoConnector extends XmlGateway implements IPaymentGate
31
31
  hasToken: boolean;
32
32
  tokenValue: string;
33
33
  };
34
- protected hydrateAccountType(type: AccountType): "CHECKING" | "SAVINGS" | "";
35
- protected hydrateCheckType(type: CheckType): "PERSONAL" | "BUSINESS" | "PAYROLL" | "";
34
+ protected hydrateAccountType(type: AccountType): "" | "CHECKING" | "SAVINGS";
35
+ protected hydrateCheckType(type: CheckType): "" | "BUSINESS" | "PAYROLL" | "PERSONAL";
36
36
  protected hydrateCredentialOnFile(builder: AuthorizationBuilder): Element;
37
37
  protected hydrateEncryptionData(builder: TransactionBuilder<Transaction>): Element;
38
- protected hydrateEntryMethod(method: EntryMethod): "" | "Swipe" | "Manual" | "Proximity";
38
+ protected hydrateEntryMethod(method: EntryMethod): "" | "Manual" | "Proximity" | "Swipe";
39
39
  protected hydrateHolder(builder: AuthorizationBuilder, isCheck: boolean): Element;
40
- protected hydrateInquiryType(type: InquiryType): "STANDARD" | "FOODSTAMP" | "CASH" | "POINTS" | "";
40
+ protected hydrateInquiryType(type: InquiryType): "" | "CASH" | "FOODSTAMP" | "POINTS" | "STANDARD";
41
41
  protected hydrateManualEntry(block1: Element, builder: AuthorizationBuilder, hasToken: boolean, tokenValue: string): Element;
42
- protected hydrateSecCode(code: SecCode): "" | "PPD" | "CCD" | "POP" | "WEB" | "TEL" | "EBRONZE";
42
+ protected hydrateSecCode(code: SecCode): "" | "CCD" | "PPD" | "POP" | "WEB" | "TEL" | "EBRONZE";
43
43
  protected hydrateTaxType(type: TaxType): "" | "NOTUSED" | "SALESTAX" | "TAXEXEMPT";
44
44
  protected hydrateTrackData(builder: TransactionBuilder<Transaction>, hasToken: boolean, tokenValue: string): Element;
45
45
  protected hydrateTransactionSummary(root: Element): TransactionSummary;
@@ -356,6 +356,26 @@ class PorticoConnector extends XmlGateway_1.XmlGateway {
356
356
  (0, elementtree_1.SubElement)(cpc, "TaxAmt").append((0, elementtree_1.CData)(builder.taxAmount.toString()));
357
357
  }
358
358
  }
359
+ // Token Management
360
+ const tokenActions = (0, elementtree_1.SubElement)(root, "TokenActions");
361
+ if (builder.paymentMethod &&
362
+ builder.paymentMethod.isTokenizable &&
363
+ builder.transactionType === __1.TransactionType.TokenUpdate) {
364
+ (0, elementtree_1.SubElement)(root, "TokenValue").append((0, elementtree_1.CData)(builder.paymentMethod.token));
365
+ const set = (0, elementtree_1.SubElement)(tokenActions, "Set");
366
+ const expMonth = (0, elementtree_1.SubElement)(set, "Attribute");
367
+ (0, elementtree_1.SubElement)(expMonth, "Name").append((0, elementtree_1.CData)("expmonth"));
368
+ (0, elementtree_1.SubElement)(expMonth, "Value").append((0, elementtree_1.CData)(builder.paymentMethod.expMonth));
369
+ const expYear = (0, elementtree_1.SubElement)(set, "Attribute");
370
+ (0, elementtree_1.SubElement)(expYear, "Name").append((0, elementtree_1.CData)("expyear"));
371
+ (0, elementtree_1.SubElement)(expYear, "Value").append((0, elementtree_1.CData)(builder.paymentMethod.expYear));
372
+ }
373
+ else if (builder.paymentMethod &&
374
+ builder.paymentMethod.isTokenizable &&
375
+ builder.transactionType === __1.TransactionType.TokenDelete) {
376
+ (0, elementtree_1.SubElement)(root, "TokenValue").append((0, elementtree_1.CData)(builder.paymentMethod.token));
377
+ (0, elementtree_1.SubElement)(tokenActions, "Delete");
378
+ }
359
379
  if (builder.transactionType === __1.TransactionType.Reversal ||
360
380
  builder.transactionType === __1.TransactionType.Refund ||
361
381
  builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift ||
@@ -615,6 +635,11 @@ class PorticoConnector extends XmlGateway_1.XmlGateway {
615
635
  return "GiftCardReplace";
616
636
  case __1.TransactionType.Reward:
617
637
  return "GiftCardReward";
638
+ case __1.TransactionType.Tokenize:
639
+ return "Tokenize";
640
+ case __1.TransactionType.TokenUpdate:
641
+ case __1.TransactionType.TokenDelete:
642
+ return "ManageTokens";
618
643
  default:
619
644
  break;
620
645
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PorticoConnector.js","sourceRoot":"","sources":["../../../src/Gateways/PorticoConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PorticoConnector.js","sourceRoot":"","sources":["../../../src/Gateways/PorticoConnector.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { AccountType, EmvLastChipRead, EncyptedMobileType, GatewayProvider, StoredCredentialInitiator } from "../../src";
1
+ import { AccountType, EmvLastChipRead, EncyptedMobileType, GatewayProvider, MessageCategory, SdkUiType, StoredCredentialInitiator } from "../../src";
2
2
  export declare class EnumMapping {
3
3
  static mapAccountType(gateway: GatewayProvider, accountType: AccountType): string | null;
4
4
  static mapDigitalWalletType(gateway: GatewayProvider, type: EncyptedMobileType): string | null;
5
5
  static mapStoredCredentialInitiator(gateway: GatewayProvider, value: StoredCredentialInitiator): string;
6
6
  static mapEmvLastChipRead(gateway: GatewayProvider, value: EmvLastChipRead): string | null;
7
7
  static mapCardType(gateway: GatewayProvider, value: string): string;
8
+ static mapSdkUiType(gateway: GatewayProvider, value: SdkUiType[]): string[] | SdkUiType[];
9
+ static mapMessageCategory(gateway: GatewayProvider, value: MessageCategory): string | MessageCategory;
8
10
  }
@@ -79,6 +79,32 @@ class EnumMapping {
79
79
  return value;
80
80
  }
81
81
  }
82
+ static mapSdkUiType(gateway, value) {
83
+ switch (gateway) {
84
+ case src_1.GatewayProvider.GpApi:
85
+ switch (value) {
86
+ case [src_1.SdkUiType.Oob]:
87
+ return ["OUT_OF_BAND"];
88
+ default:
89
+ return value;
90
+ }
91
+ default:
92
+ return value;
93
+ }
94
+ }
95
+ static mapMessageCategory(gateway, value) {
96
+ switch (gateway) {
97
+ case src_1.GatewayProvider.GpApi:
98
+ switch (value) {
99
+ case src_1.MessageCategory.PaymentAuthentication:
100
+ return "PAYMENT";
101
+ default:
102
+ return value;
103
+ }
104
+ default:
105
+ return value;
106
+ }
107
+ }
82
108
  }
83
109
  exports.EnumMapping = EnumMapping;
84
110
  //# sourceMappingURL=EnumMapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumMapping.js","sourceRoot":"","sources":["../../../src/Mapping/EnumMapping.ts"],"names":[],"mappings":";;;AAAA,mCAQmB;AAEnB,MAAa,WAAW;IACtB,MAAM,CAAC,cAAc,CACnB,OAAwB,EACxB,WAAwB;QAExB,QAAQ,OAAO,EAAE;YACf,KAAK,qBAAe,CAAC,KAAK;gBACxB,QAAQ,WAAW,EAAE;oBACnB,KAAK,iBAAW,CAAC,OAAO;wBACtB,OAAO,QAAQ,CAAC;oBAClB,KAAK,iBAAW,CAAC,QAAQ;wBACvB,OAAO,UAAU,CAAC;oBACpB,KAAK,iBAAW,CAAC,MAAM;wBACrB,OAAO,QAAQ,CAAC;oBAClB;wBACE,OAAO,IAAI,CAAC;iBACf;YAEH;gBACE,OAAO,WAAW,CAAC;SACtB;IACH,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,OAAwB,EACxB,IAAwB;QAExB,IAAI,OAAO,KAAK,qBAAe,CAAC,KAAK,EAAE;YACrC,QAAQ,IAAI,EAAE;gBACZ,KAAK,wBAAkB,CAAC,QAAQ;oBAC9B,OAAO,UAAU,CAAC;gBACpB,KAAK,wBAAkB,CAAC,SAAS;oBAC/B,OAAO,eAAe,CAAC;gBACzB,KAAK,wBAAkB,CAAC,UAAU;oBAChC,OAAO,cAAc,CAAC;gBACxB;oBACE,OAAO,IAAI,CAAC;aACf;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,4BAA4B,CACjC,OAAwB,EACxB,KAAgC;QAEhC,QAAQ,OAAO,EAAE;YACf,KAAK,qBAAe,CAAC,KAAK;gBACxB,QAAQ,KAAK,EAAE;oBACb,KAAK,+BAAyB,CAAC,UAAU;wBACvC,OAAO,+BAAyB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvD,KAAK,+BAAyB,CAAC,QAAQ;wBACrC,OAAO,UAAU,CAAC;oBACpB;wBACE,OAAO,KAAK,CAAC;iBAChB;YACH;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAED,MAAM,CAAC,kBAAkB,CACvB,OAAwB,EACxB,KAAsB;QAEtB,QAAQ,OAAO,EAAE;YACf,KAAK,qBAAe,CAAC,KAAK;gBACxB,QAAQ,KAAK,EAAE;oBACb,KAAK,qBAAe,CAAC,UAAU;wBAC7B,OAAO,cAAc,CAAC;oBACxB,KAAK,qBAAe,CAAC,MAAM;wBACzB,OAAO,aAAa,CAAC;oBACvB;wBACE,OAAO,IAAI,CAAC;iBACf;YACH;gBACE,OAAO,IAAI,CAAC;SACf;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAwB,EAAE,KAAa;QACxD,QAAQ,OAAO,EAAE;YACf,KAAK,qBAAe,CAAC,MAAM,CAAC;YAC5B,KAAK,qBAAe,CAAC,KAAK;gBACxB,QAAQ,KAAK,EAAE;oBACb,KAAK,YAAY;wBACf,OAAO,cAAQ,CAAC,MAAM,CAAC;oBACzB;wBACE,OAAO,KAAK,CAAC;iBAChB;YACH;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;CACF;AA9FD,kCA8FC"}
1
+ {"version":3,"file":"EnumMapping.js","sourceRoot":"","sources":["../../../src/Mapping/EnumMapping.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export declare class GpApiMapping {
12
12
  private static mapSystemResponse;
13
13
  static mapStoredPaymentMethodSummary(response: any): StoredPaymentMethodSummary;
14
14
  private static setPagingInfo;
15
+ static mapResponseSecure3D(response: any): Transaction;
15
16
  }
@@ -280,6 +280,102 @@ class GpApiMapping {
280
280
  : null;
281
281
  return pageInfo;
282
282
  }
283
+ static mapResponseSecure3D(response) {
284
+ const transaction = new Entities_1.Transaction();
285
+ const threeDSecure = new src_1.ThreeDSecure();
286
+ threeDSecure.serverTransactionId = response.id;
287
+ if (response.three_ds && response.three_ds.message_version) {
288
+ const messageVersion = response.three_ds.message_version;
289
+ let version;
290
+ switch (messageVersion.substring(0, 2)) {
291
+ case "1.":
292
+ version = src_1.Secure3dVersion.ONE;
293
+ break;
294
+ case "2.":
295
+ version = src_1.Secure3dVersion.TWO;
296
+ break;
297
+ default:
298
+ version = src_1.Secure3dVersion.ANY;
299
+ }
300
+ threeDSecure.messageVersion = messageVersion;
301
+ threeDSecure.setVersion(version);
302
+ }
303
+ threeDSecure.status = response.status;
304
+ threeDSecure.directoryServerStartVersion =
305
+ response.three_ds?.ds_protocol_version_start || null;
306
+ threeDSecure.directoryServerEndVersion =
307
+ response.three_ds?.ds_protocol_version_end || null;
308
+ threeDSecure.acsStartVersion =
309
+ response.three_ds?.acs_protocol_version_start || null;
310
+ threeDSecure.acsEndVersion =
311
+ response.three_ds?.acs_protocol_version_end || null;
312
+ threeDSecure.enrolled = response.three_ds?.enrolled_status || null;
313
+ threeDSecure.eci = response.three_ds?.eci || null;
314
+ threeDSecure.acsInfoIndicator =
315
+ response.three_ds?.acs_info_indicator || null;
316
+ threeDSecure.acsReferenceNumber =
317
+ response.three_ds?.acs_reference_number || null;
318
+ threeDSecure.providerServerTransRef =
319
+ response.three_ds?.server_trans_ref || null;
320
+ threeDSecure.challengeMandated =
321
+ response.three_ds?.challenge_status === "MANDATED";
322
+ threeDSecure.payerAuthenticationRequest =
323
+ response.three_ds?.method_data?.encoded_method_data || null;
324
+ threeDSecure.issuerAcsUrl = response.three_ds?.method_url || null;
325
+ threeDSecure.authenticationSource =
326
+ response.three_ds?.authentication_source || null;
327
+ if (response.three_ds?.acs_challenge_request_url &&
328
+ threeDSecure.status === src_1.Secure3dStatus.ChallengeRequired) {
329
+ threeDSecure.issuerAcsUrl = response.three_ds.acs_challenge_request_url;
330
+ threeDSecure.payerAuthenticationRequest =
331
+ response.three_ds?.challenge_value || null;
332
+ }
333
+ if (threeDSecure.authenticationSource === src_1.AuthenticationSource.MobileSdk &&
334
+ response.three_ds?.mobile_data) {
335
+ const mobileData = response.three_ds.mobile_data;
336
+ threeDSecure.payerAuthenticationRequest =
337
+ mobileData?.acs_signed_content || null;
338
+ threeDSecure.acsInterface =
339
+ mobileData?.acs_rendering_type?.acs_interface || null;
340
+ threeDSecure.acsUiTemplate =
341
+ mobileData?.acs_rendering_type?.acs_ui_template || null;
342
+ }
343
+ threeDSecure.setCurrency(response.currency);
344
+ threeDSecure.setAmount(src_1.StringUtils.toAmount(response.amount));
345
+ threeDSecure.authenticationValue =
346
+ response.three_ds?.authentication_value || null;
347
+ threeDSecure.directoryServerTransactionId =
348
+ response.three_ds?.ds_trans_ref || null;
349
+ threeDSecure.acsTransactionId = response.three_ds?.acs_trans_ref || null;
350
+ threeDSecure.statusReason = response.three_ds?.status_reason || null;
351
+ threeDSecure.messageCategory = response.three_ds?.message_category || null;
352
+ threeDSecure.messageType = response.three_ds?.message_type || null;
353
+ threeDSecure.sessionDataFieldName =
354
+ response.three_ds?.session_data_field_name || null;
355
+ threeDSecure.challengeReturnUrl =
356
+ response.notifications?.challenge_return_url || null;
357
+ threeDSecure.liabilityShift = response.three_ds?.liability_shift || null;
358
+ threeDSecure.authenticationType =
359
+ response.three_ds?.authentication_request_type || null;
360
+ threeDSecure.decoupledResponseIndicator =
361
+ response.three_ds?.acs_decoupled_response_indicator || null;
362
+ threeDSecure.whitelistStatus = response.three_ds?.whitelist_status || null;
363
+ if (response.three_ds?.message_extension) {
364
+ for (const messageExtension of response.three_ds.message_extension) {
365
+ const msgItem = new src_1.MessageExtension();
366
+ msgItem.criticalityIndicator =
367
+ messageExtension.criticality_indicator || null;
368
+ msgItem.messageExtensionData = messageExtension.data
369
+ ? JSON.stringify(messageExtension.data)
370
+ : "";
371
+ msgItem.messageExtensionId = messageExtension.id || null;
372
+ msgItem.messageExtensionName = messageExtension.name || null;
373
+ threeDSecure.messageExtension.push(msgItem);
374
+ }
375
+ }
376
+ transaction.threeDSecure = threeDSecure;
377
+ return transaction;
378
+ }
283
379
  }
284
380
  exports.GpApiMapping = GpApiMapping;
285
381
  //# sourceMappingURL=GpApiMapping.js.map