@houlak/plexo-sdk 0.1.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 (360) hide show
  1. package/README.md +14 -0
  2. package/lib/IPaymentGatewayClient.d.ts +31 -0
  3. package/lib/IPaymentGatewayClient.js +2 -0
  4. package/lib/PaymentGatewayClient.d.ts +32 -0
  5. package/lib/PaymentGatewayClient.js +90 -0
  6. package/lib/config/config.d.ts +12 -0
  7. package/lib/config/config.js +16 -0
  8. package/lib/handler/PlexoHandler.d.ts +21 -0
  9. package/lib/handler/PlexoHandler.js +266 -0
  10. package/lib/handler/services/evaluator.service.d.ts +6 -0
  11. package/lib/handler/services/evaluator.service.js +118 -0
  12. package/lib/handler/types/BaseResponse.d.ts +8 -0
  13. package/lib/handler/types/BaseResponse.js +16 -0
  14. package/lib/helpers/signature/signatureHelper.d.ts +1 -0
  15. package/lib/helpers/signature/signatureHelper.js +52 -0
  16. package/lib/index.d.ts +2 -0
  17. package/lib/index.js +6 -0
  18. package/lib/lib/logger.lib.d.ts +15 -0
  19. package/lib/lib/logger.lib.js +29 -0
  20. package/lib/models/ActionType.d.ts +9 -0
  21. package/lib/models/ActionType.js +13 -0
  22. package/lib/models/AmountLimit.d.ts +7 -0
  23. package/lib/models/AmountLimit.js +2 -0
  24. package/lib/models/Authorization.d.ts +16 -0
  25. package/lib/models/Authorization.js +32 -0
  26. package/lib/models/AuthorizationInfo.d.ts +6 -0
  27. package/lib/models/AuthorizationInfo.js +11 -0
  28. package/lib/models/AuthorizationType.d.ts +5 -0
  29. package/lib/models/AuthorizationType.js +9 -0
  30. package/lib/models/BaseServerResponse.d.ts +7 -0
  31. package/lib/models/BaseServerResponse.js +12 -0
  32. package/lib/models/CancelRequest.d.ts +6 -0
  33. package/lib/models/CancelRequest.js +29 -0
  34. package/lib/models/CardStatus.d.ts +7 -0
  35. package/lib/models/CardStatus.js +11 -0
  36. package/lib/models/CardTypes.d.ts +9 -0
  37. package/lib/models/CardTypes.js +13 -0
  38. package/lib/models/ClientRequest.d.ts +4 -0
  39. package/lib/models/ClientRequest.js +10 -0
  40. package/lib/models/ClientResponse.d.ts +6 -0
  41. package/lib/models/ClientResponse.js +29 -0
  42. package/lib/models/ClientSignedRequest.d.ts +4 -0
  43. package/lib/models/ClientSignedRequest.js +27 -0
  44. package/lib/models/ClientSignedResponse.d.ts +4 -0
  45. package/lib/models/ClientSignedResponse.js +27 -0
  46. package/lib/models/CodeAction.d.ts +10 -0
  47. package/lib/models/CodeAction.js +10 -0
  48. package/lib/models/CodeRequest.d.ts +5 -0
  49. package/lib/models/CodeRequest.js +2 -0
  50. package/lib/models/Commerce.d.ts +4 -0
  51. package/lib/models/Commerce.js +2 -0
  52. package/lib/models/CommerceIdRequest.d.ts +3 -0
  53. package/lib/models/CommerceIdRequest.js +2 -0
  54. package/lib/models/CommerceIssuerIdRequest.d.ts +4 -0
  55. package/lib/models/CommerceIssuerIdRequest.js +2 -0
  56. package/lib/models/CommerceModifyRequest.d.ts +4 -0
  57. package/lib/models/CommerceModifyRequest.js +2 -0
  58. package/lib/models/CommerceRequest.d.ts +3 -0
  59. package/lib/models/CommerceRequest.js +2 -0
  60. package/lib/models/CreateBankInstrumentRequest.d.ts +6 -0
  61. package/lib/models/CreateBankInstrumentRequest.js +2 -0
  62. package/lib/models/Currency.d.ts +6 -0
  63. package/lib/models/Currency.js +2 -0
  64. package/lib/models/DeleteInstrumentRequest.d.ts +6 -0
  65. package/lib/models/DeleteInstrumentRequest.js +29 -0
  66. package/lib/models/ExpressCheckoutRequest.d.ts +6 -0
  67. package/lib/models/ExpressCheckoutRequest.js +2 -0
  68. package/lib/models/ExtendedCredit.d.ts +4 -0
  69. package/lib/models/ExtendedCredit.js +2 -0
  70. package/lib/models/FieldInfo.d.ts +6 -0
  71. package/lib/models/FieldInfo.js +2 -0
  72. package/lib/models/FieldInfoPaymentProcessors.d.ts +6 -0
  73. package/lib/models/FieldInfoPaymentProcessors.js +11 -0
  74. package/lib/models/FieldType.d.ts +76 -0
  75. package/lib/models/FieldType.js +89 -0
  76. package/lib/models/FinancialInclusion.d.ts +8 -0
  77. package/lib/models/FinancialInclusion.js +2 -0
  78. package/lib/models/FinancialInclusionResult.d.ts +6 -0
  79. package/lib/models/FinancialInclusionResult.js +2 -0
  80. package/lib/models/GenericClientRequest.d.ts +5 -0
  81. package/lib/models/GenericClientRequest.js +29 -0
  82. package/lib/models/GenericClientSignedRequest.d.ts +4 -0
  83. package/lib/models/GenericClientSignedRequest.js +27 -0
  84. package/lib/models/GenericIssuerRequest.d.ts +5 -0
  85. package/lib/models/GenericIssuerRequest.js +29 -0
  86. package/lib/models/GenericIssuerSignedRequest.d.ts +4 -0
  87. package/lib/models/GenericIssuerSignedRequest.js +27 -0
  88. package/lib/models/GenericServerSignedResponse.d.ts +4 -0
  89. package/lib/models/GenericServerSignedResponse.js +27 -0
  90. package/lib/models/GenericSignedObject.d.ts +6 -0
  91. package/lib/models/GenericSignedObject.js +11 -0
  92. package/lib/models/GenericStateObject.d.ts +5 -0
  93. package/lib/models/GenericStateObject.js +29 -0
  94. package/lib/models/IClientCallback.d.ts +3 -0
  95. package/lib/models/IClientCallback.js +2 -0
  96. package/lib/models/IdentificationType.d.ts +6 -0
  97. package/lib/models/IdentificationType.js +10 -0
  98. package/lib/models/InclusionType.d.ts +5 -0
  99. package/lib/models/InclusionType.js +9 -0
  100. package/lib/models/IndexSDK.d.ts +33 -0
  101. package/lib/models/IndexSDK.js +39 -0
  102. package/lib/models/InfoLine.d.ts +4 -0
  103. package/lib/models/InfoLine.js +2 -0
  104. package/lib/models/InstrumentCallback.d.ts +9 -0
  105. package/lib/models/InstrumentCallback.js +31 -0
  106. package/lib/models/InstrumentWithMetadata.d.ts +6 -0
  107. package/lib/models/InstrumentWithMetadata.js +11 -0
  108. package/lib/models/IssuerData.d.ts +5 -0
  109. package/lib/models/IssuerData.js +2 -0
  110. package/lib/models/IssuerInfo.d.ts +14 -0
  111. package/lib/models/IssuerInfo.js +2 -0
  112. package/lib/models/IssuerProcessor.d.ts +7 -0
  113. package/lib/models/IssuerProcessor.js +12 -0
  114. package/lib/models/IssuerRequest.d.ts +4 -0
  115. package/lib/models/IssuerRequest.js +10 -0
  116. package/lib/models/IssuerSignedRequest.d.ts +4 -0
  117. package/lib/models/IssuerSignedRequest.js +27 -0
  118. package/lib/models/Item.d.ts +8 -0
  119. package/lib/models/Item.js +2 -0
  120. package/lib/models/PaymentInstrument.d.ts +20 -0
  121. package/lib/models/PaymentInstrument.js +2 -0
  122. package/lib/models/PaymentInstrumentInput.d.ts +6 -0
  123. package/lib/models/PaymentInstrumentInput.js +2 -0
  124. package/lib/models/PaymentProcessor.d.ts +6 -0
  125. package/lib/models/PaymentProcessor.js +11 -0
  126. package/lib/models/PaymentRequest.d.ts +17 -0
  127. package/lib/models/PaymentRequest.js +20 -0
  128. package/lib/models/PublicKeyInfo.d.ts +4 -0
  129. package/lib/models/PublicKeyInfo.js +2 -0
  130. package/lib/models/Reference.d.ts +6 -0
  131. package/lib/models/Reference.js +11 -0
  132. package/lib/models/ReferenceType.d.ts +6 -0
  133. package/lib/models/ReferenceType.js +10 -0
  134. package/lib/models/Reserve.d.ts +6 -0
  135. package/lib/models/Reserve.js +29 -0
  136. package/lib/models/ReserveRequest.d.ts +6 -0
  137. package/lib/models/ReserveRequest.js +29 -0
  138. package/lib/models/ResultCodes.d.ts +30 -0
  139. package/lib/models/ResultCodes.js +35 -0
  140. package/lib/models/ServerResponse.d.ts +6 -0
  141. package/lib/models/ServerResponse.js +29 -0
  142. package/lib/models/ServerSignedCallback.d.ts +3 -0
  143. package/lib/models/ServerSignedCallback.js +27 -0
  144. package/lib/models/ServerSignedRequest.d.ts +3 -0
  145. package/lib/models/ServerSignedRequest.js +27 -0
  146. package/lib/models/ServerSignedResponse.d.ts +4 -0
  147. package/lib/models/ServerSignedResponse.js +27 -0
  148. package/lib/models/Session.d.ts +5 -0
  149. package/lib/models/Session.js +2 -0
  150. package/lib/models/SignedObject.d.ts +6 -0
  151. package/lib/models/SignedObject.js +11 -0
  152. package/lib/models/StateObject.d.ts +5 -0
  153. package/lib/models/StateObject.js +11 -0
  154. package/lib/models/TimeLimit.d.ts +5 -0
  155. package/lib/models/TimeLimit.js +2 -0
  156. package/lib/models/Transaction.d.ts +26 -0
  157. package/lib/models/Transaction.js +26 -0
  158. package/lib/models/TransactionCallback.d.ts +7 -0
  159. package/lib/models/TransactionCallback.js +29 -0
  160. package/lib/models/TransactionCursor.d.ts +6 -0
  161. package/lib/models/TransactionCursor.js +2 -0
  162. package/lib/models/TransactionInfo.d.ts +12 -0
  163. package/lib/models/TransactionInfo.js +2 -0
  164. package/lib/models/TransactionOrder.d.ts +5 -0
  165. package/lib/models/TransactionOrder.js +2 -0
  166. package/lib/models/TransactionQuery.d.ts +54 -0
  167. package/lib/models/TransactionQuery.js +47 -0
  168. package/lib/models/TransactionResult.d.ts +13 -0
  169. package/lib/models/TransactionResult.js +17 -0
  170. package/lib/models/TransactionType.d.ts +5 -0
  171. package/lib/models/TransactionType.js +9 -0
  172. package/lib/sdk/IPaymentGatewayClient.d.ts +31 -0
  173. package/lib/sdk/IPaymentGatewayClient.js +2 -0
  174. package/lib/sdk/PaymentGatewayClient.d.ts +32 -0
  175. package/lib/sdk/PaymentGatewayClient.js +378 -0
  176. package/lib/sdk/PaymentGatewayMock.d.ts +31 -0
  177. package/lib/sdk/PaymentGatewayMock.js +336 -0
  178. package/lib/sdk/enums/plexo-error-enum.d.ts +37 -0
  179. package/lib/sdk/enums/plexo-error-enum.js +45 -0
  180. package/lib/sdk/helpers/signature/signatureHelper.d.ts +10 -0
  181. package/lib/sdk/helpers/signature/signatureHelper.js +305 -0
  182. package/lib/sdk/helpers/signature/stringifyWithFloats.d.ts +1 -0
  183. package/lib/sdk/helpers/signature/stringifyWithFloats.js +71 -0
  184. package/lib/sdk/index.d.ts +4 -0
  185. package/lib/sdk/index.js +22 -0
  186. package/lib/sdk/mocks/mocks.d.ts +24 -0
  187. package/lib/sdk/mocks/mocks.js +180 -0
  188. package/lib/sdk/models/ActionType.d.ts +9 -0
  189. package/lib/sdk/models/ActionType.js +13 -0
  190. package/lib/sdk/models/AmountLimit.d.ts +7 -0
  191. package/lib/sdk/models/AmountLimit.js +2 -0
  192. package/lib/sdk/models/Authorization.d.ts +18 -0
  193. package/lib/sdk/models/Authorization.js +32 -0
  194. package/lib/sdk/models/AuthorizationInfo.d.ts +6 -0
  195. package/lib/sdk/models/AuthorizationInfo.js +11 -0
  196. package/lib/sdk/models/AuthorizationType.d.ts +5 -0
  197. package/lib/sdk/models/AuthorizationType.js +9 -0
  198. package/lib/sdk/models/BaseServerResponse.d.ts +7 -0
  199. package/lib/sdk/models/BaseServerResponse.js +12 -0
  200. package/lib/sdk/models/BuiltInPagesOptionsDto.d.ts +4 -0
  201. package/lib/sdk/models/BuiltInPagesOptionsDto.js +9 -0
  202. package/lib/sdk/models/CancelRequest.d.ts +6 -0
  203. package/lib/sdk/models/CancelRequest.js +29 -0
  204. package/lib/sdk/models/CardStatus.d.ts +7 -0
  205. package/lib/sdk/models/CardStatus.js +11 -0
  206. package/lib/sdk/models/CardTypes.d.ts +9 -0
  207. package/lib/sdk/models/CardTypes.js +13 -0
  208. package/lib/sdk/models/ClientRequest.d.ts +4 -0
  209. package/lib/sdk/models/ClientRequest.js +10 -0
  210. package/lib/sdk/models/ClientResponse.d.ts +6 -0
  211. package/lib/sdk/models/ClientResponse.js +29 -0
  212. package/lib/sdk/models/ClientSignedRequest.d.ts +4 -0
  213. package/lib/sdk/models/ClientSignedRequest.js +27 -0
  214. package/lib/sdk/models/ClientSignedResponse.d.ts +4 -0
  215. package/lib/sdk/models/ClientSignedResponse.js +27 -0
  216. package/lib/sdk/models/CodeAction.d.ts +10 -0
  217. package/lib/sdk/models/CodeAction.js +10 -0
  218. package/lib/sdk/models/CodeRequest.d.ts +5 -0
  219. package/lib/sdk/models/CodeRequest.js +2 -0
  220. package/lib/sdk/models/Commerce.d.ts +4 -0
  221. package/lib/sdk/models/Commerce.js +2 -0
  222. package/lib/sdk/models/CommerceIdRequest.d.ts +3 -0
  223. package/lib/sdk/models/CommerceIdRequest.js +2 -0
  224. package/lib/sdk/models/CommerceIssuerIdRequest.d.ts +4 -0
  225. package/lib/sdk/models/CommerceIssuerIdRequest.js +2 -0
  226. package/lib/sdk/models/CommerceModifyRequest.d.ts +4 -0
  227. package/lib/sdk/models/CommerceModifyRequest.js +2 -0
  228. package/lib/sdk/models/CommerceRequest.d.ts +3 -0
  229. package/lib/sdk/models/CommerceRequest.js +2 -0
  230. package/lib/sdk/models/CreateBankInstrumentRequest.d.ts +6 -0
  231. package/lib/sdk/models/CreateBankInstrumentRequest.js +2 -0
  232. package/lib/sdk/models/Currency.d.ts +6 -0
  233. package/lib/sdk/models/Currency.js +2 -0
  234. package/lib/sdk/models/DeleteInstrumentRequest.d.ts +6 -0
  235. package/lib/sdk/models/DeleteInstrumentRequest.js +29 -0
  236. package/lib/sdk/models/DisplayOptionsDto.d.ts +7 -0
  237. package/lib/sdk/models/DisplayOptionsDto.js +9 -0
  238. package/lib/sdk/models/ExpressCheckoutRequest.d.ts +6 -0
  239. package/lib/sdk/models/ExpressCheckoutRequest.js +2 -0
  240. package/lib/sdk/models/ExpressCheckoutSettingsDto.d.ts +6 -0
  241. package/lib/sdk/models/ExpressCheckoutSettingsDto.js +9 -0
  242. package/lib/sdk/models/ExtendedCredit.d.ts +4 -0
  243. package/lib/sdk/models/ExtendedCredit.js +2 -0
  244. package/lib/sdk/models/FieldInfo.d.ts +6 -0
  245. package/lib/sdk/models/FieldInfo.js +2 -0
  246. package/lib/sdk/models/FieldInfoPaymentProcessors.d.ts +6 -0
  247. package/lib/sdk/models/FieldInfoPaymentProcessors.js +11 -0
  248. package/lib/sdk/models/FieldType.d.ts +76 -0
  249. package/lib/sdk/models/FieldType.js +89 -0
  250. package/lib/sdk/models/FinancialInclusion.d.ts +9 -0
  251. package/lib/sdk/models/FinancialInclusion.js +2 -0
  252. package/lib/sdk/models/FinancialInclusionResult.d.ts +6 -0
  253. package/lib/sdk/models/FinancialInclusionResult.js +2 -0
  254. package/lib/sdk/models/GenericClientRequest.d.ts +5 -0
  255. package/lib/sdk/models/GenericClientRequest.js +29 -0
  256. package/lib/sdk/models/GenericClientSignedRequest.d.ts +4 -0
  257. package/lib/sdk/models/GenericClientSignedRequest.js +27 -0
  258. package/lib/sdk/models/GenericIssuerRequest.d.ts +5 -0
  259. package/lib/sdk/models/GenericIssuerRequest.js +29 -0
  260. package/lib/sdk/models/GenericIssuerSignedRequest.d.ts +4 -0
  261. package/lib/sdk/models/GenericIssuerSignedRequest.js +27 -0
  262. package/lib/sdk/models/GenericServerSignedResponse.d.ts +4 -0
  263. package/lib/sdk/models/GenericServerSignedResponse.js +27 -0
  264. package/lib/sdk/models/GenericSignedObject.d.ts +6 -0
  265. package/lib/sdk/models/GenericSignedObject.js +11 -0
  266. package/lib/sdk/models/GenericStateObject.d.ts +5 -0
  267. package/lib/sdk/models/GenericStateObject.js +29 -0
  268. package/lib/sdk/models/IClientCallback.d.ts +3 -0
  269. package/lib/sdk/models/IClientCallback.js +2 -0
  270. package/lib/sdk/models/IdentificationType.d.ts +6 -0
  271. package/lib/sdk/models/IdentificationType.js +10 -0
  272. package/lib/sdk/models/InclusionType.d.ts +5 -0
  273. package/lib/sdk/models/InclusionType.js +9 -0
  274. package/lib/sdk/models/IndexSDK.d.ts +84 -0
  275. package/lib/sdk/models/IndexSDK.js +112 -0
  276. package/lib/sdk/models/InfoLine.d.ts +4 -0
  277. package/lib/sdk/models/InfoLine.js +2 -0
  278. package/lib/sdk/models/InstrumentCallback.d.ts +9 -0
  279. package/lib/sdk/models/InstrumentCallback.js +31 -0
  280. package/lib/sdk/models/InstrumentWithMetadata.d.ts +6 -0
  281. package/lib/sdk/models/InstrumentWithMetadata.js +11 -0
  282. package/lib/sdk/models/IssuerData.d.ts +5 -0
  283. package/lib/sdk/models/IssuerData.js +2 -0
  284. package/lib/sdk/models/IssuerInfo.d.ts +14 -0
  285. package/lib/sdk/models/IssuerInfo.js +2 -0
  286. package/lib/sdk/models/IssuerProcessor.d.ts +7 -0
  287. package/lib/sdk/models/IssuerProcessor.js +12 -0
  288. package/lib/sdk/models/IssuerRequest.d.ts +4 -0
  289. package/lib/sdk/models/IssuerRequest.js +10 -0
  290. package/lib/sdk/models/IssuerSignedRequest.d.ts +4 -0
  291. package/lib/sdk/models/IssuerSignedRequest.js +27 -0
  292. package/lib/sdk/models/Item.d.ts +8 -0
  293. package/lib/sdk/models/Item.js +2 -0
  294. package/lib/sdk/models/PaymentInstrument.d.ts +18 -0
  295. package/lib/sdk/models/PaymentInstrument.js +2 -0
  296. package/lib/sdk/models/PaymentInstrumentInput.d.ts +6 -0
  297. package/lib/sdk/models/PaymentInstrumentInput.js +2 -0
  298. package/lib/sdk/models/PaymentProcessor.d.ts +6 -0
  299. package/lib/sdk/models/PaymentProcessor.js +11 -0
  300. package/lib/sdk/models/PaymentRequest.d.ts +17 -0
  301. package/lib/sdk/models/PaymentRequest.js +20 -0
  302. package/lib/sdk/models/PlexoSdkSettings.d.ts +8 -0
  303. package/lib/sdk/models/PlexoSdkSettings.js +14 -0
  304. package/lib/sdk/models/PublicKeyInfo.d.ts +4 -0
  305. package/lib/sdk/models/PublicKeyInfo.js +2 -0
  306. package/lib/sdk/models/Reference.d.ts +6 -0
  307. package/lib/sdk/models/Reference.js +11 -0
  308. package/lib/sdk/models/ReferenceType.d.ts +6 -0
  309. package/lib/sdk/models/ReferenceType.js +10 -0
  310. package/lib/sdk/models/Reserve.d.ts +6 -0
  311. package/lib/sdk/models/Reserve.js +29 -0
  312. package/lib/sdk/models/ReserveRequest.d.ts +6 -0
  313. package/lib/sdk/models/ReserveRequest.js +29 -0
  314. package/lib/sdk/models/ResultCodes.d.ts +30 -0
  315. package/lib/sdk/models/ResultCodes.js +35 -0
  316. package/lib/sdk/models/ServerResponse.d.ts +6 -0
  317. package/lib/sdk/models/ServerResponse.js +29 -0
  318. package/lib/sdk/models/ServerSignedCallback.d.ts +3 -0
  319. package/lib/sdk/models/ServerSignedCallback.js +27 -0
  320. package/lib/sdk/models/ServerSignedRequest.d.ts +3 -0
  321. package/lib/sdk/models/ServerSignedRequest.js +27 -0
  322. package/lib/sdk/models/ServerSignedResponse.d.ts +4 -0
  323. package/lib/sdk/models/ServerSignedResponse.js +27 -0
  324. package/lib/sdk/models/Session.d.ts +5 -0
  325. package/lib/sdk/models/Session.js +2 -0
  326. package/lib/sdk/models/Settings.d.ts +11 -0
  327. package/lib/sdk/models/Settings.js +19 -0
  328. package/lib/sdk/models/SignedObject.d.ts +6 -0
  329. package/lib/sdk/models/SignedObject.js +11 -0
  330. package/lib/sdk/models/StateObject.d.ts +5 -0
  331. package/lib/sdk/models/StateObject.js +11 -0
  332. package/lib/sdk/models/TimeLimit.d.ts +5 -0
  333. package/lib/sdk/models/TimeLimit.js +2 -0
  334. package/lib/sdk/models/TokenizationSettingsDto.d.ts +4 -0
  335. package/lib/sdk/models/TokenizationSettingsDto.js +9 -0
  336. package/lib/sdk/models/Transaction.d.ts +31 -0
  337. package/lib/sdk/models/Transaction.js +26 -0
  338. package/lib/sdk/models/TransactionCallback.d.ts +7 -0
  339. package/lib/sdk/models/TransactionCallback.js +29 -0
  340. package/lib/sdk/models/TransactionCursor.d.ts +6 -0
  341. package/lib/sdk/models/TransactionCursor.js +2 -0
  342. package/lib/sdk/models/TransactionInfo.d.ts +12 -0
  343. package/lib/sdk/models/TransactionInfo.js +2 -0
  344. package/lib/sdk/models/TransactionOrder.d.ts +5 -0
  345. package/lib/sdk/models/TransactionOrder.js +2 -0
  346. package/lib/sdk/models/TransactionQuery.d.ts +54 -0
  347. package/lib/sdk/models/TransactionQuery.js +47 -0
  348. package/lib/sdk/models/TransactionResult.d.ts +13 -0
  349. package/lib/sdk/models/TransactionResult.js +17 -0
  350. package/lib/sdk/models/TransactionType.d.ts +5 -0
  351. package/lib/sdk/models/TransactionType.js +9 -0
  352. package/lib/sdk/models/UIOptionsDto.d.ts +8 -0
  353. package/lib/sdk/models/UIOptionsDto.js +13 -0
  354. package/lib/sdk/models/WebFormSettingsDto.d.ts +8 -0
  355. package/lib/sdk/models/WebFormSettingsDto.js +9 -0
  356. package/lib/sdk/types/signatureHelper.type.d.ts +5 -0
  357. package/lib/sdk/types/signatureHelper.type.js +2 -0
  358. package/lib/sdk/types/ui_options_dto.type.d.ts +6 -0
  359. package/lib/sdk/types/ui_options_dto.type.js +2 -0
  360. package/package.json +52 -0
package/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # Plexo SDK (Node)
2
+
3
+ Works as Plexo Gateway client, exposing all important features (addInstrument, purchase, cancel, etc) and solves the problem of building the security layer required by Plexo.
4
+ Such security is based on cryptographic keys for signing messages and verifying incoming responses.
5
+
6
+ ## Current version
7
+
8
+ Current goal is to add test with jest
9
+
10
+ ## Running
11
+
12
+ 1. Clone this repo
13
+ 2. run `npm (or Yarn) install`
14
+ 3. Include this repo as a package on another project and call Plexo methods
@@ -0,0 +1,31 @@
1
+ import { IssuerProcessor } from '.';
2
+ import { Authorization, AuthorizationInfo, CancelRequest, ClientSignedResponse, CodeRequest, Commerce, CommerceIdRequest, CommerceIssuerIdRequest, CommerceModifyRequest, CommerceRequest, CreateBankInstrumentRequest, DeleteInstrumentRequest, ExpressCheckoutRequest, InstrumentCallback, IssuerData, IssuerInfo, PaymentRequest, PaymentInstrument, Reference, Reserve, ReserveRequest, BaseServerResponse, ServerResponse, ServerSignedCallback, Session, Transaction, TransactionCallback, TransactionCursor, TransactionQuery } from './models/IndexSDK';
3
+ export interface IPaymentGatewayClient {
4
+ AddCommerceAsync(commerce: CommerceRequest): ServerResponse<Commerce>;
5
+ AddIssuerCommerceAsync(issuerData: IssuerData): ServerResponse<IssuerData>;
6
+ DeleteCommerceAsync(commerceIdRequest: CommerceIdRequest): BaseServerResponse;
7
+ DeleteInstrumentAsync(info: DeleteInstrumentRequest): BaseServerResponse;
8
+ DeleteIssuerCommerceAsync(commerceIssuerIdRequest: CommerceIssuerIdRequest): BaseServerResponse;
9
+ GetCommerceIssuersAsync(commerceIdRequest: CommerceIdRequest): ServerResponse<IssuerData[]>;
10
+ GetCommercesAsync(): ServerResponse<Commerce[]>;
11
+ GetSupportedIssuersAsync(): ServerResponse<IssuerInfo[]>;
12
+ GetSupportedPaymentProcessorsAsync(): ServerResponse<IssuerProcessor[]>;
13
+ ModifyCommerceAsync(commerceModifyRequest: CommerceModifyRequest): ServerResponse<Commerce>;
14
+ GetInstrumentsAsync(authorizationInfo: AuthorizationInfo): ServerResponse<PaymentInstrument[]>;
15
+ SetDefaultCommerceAsync(commerceIdRequest: CommerceIdRequest): BaseServerResponse;
16
+ AuthorizeAsync(authorization: Authorization): ServerResponse<Session>;
17
+ CancelAsync(cancel: CancelRequest): ServerResponse<Transaction>;
18
+ CodeActionAsync(request: CodeRequest): ServerResponse<Transaction>;
19
+ StartReserveAsync(payment: ReserveRequest): ServerResponse<Transaction>;
20
+ StatusAsync(payment: Reference): ServerResponse<Transaction>;
21
+ ExpressCheckoutAsync(expressCheckout: ExpressCheckoutRequest): ServerResponse<Session>;
22
+ ObtainCsvTransactionsAsync(query: TransactionQuery): ServerResponse<string>;
23
+ ObtainTransactionsAsync(query: TransactionQuery): ServerResponse<TransactionCursor>;
24
+ PurchaseAsync(payment: PaymentRequest): ServerResponse<Transaction>;
25
+ CreateBankInstrumentAsync(request: CreateBankInstrumentRequest): ServerResponse<PaymentInstrument>;
26
+ EndReserveAsync(reserve: Reserve): ServerResponse<Transaction>;
27
+ UnwrapInstrumentCallbackAsync(serverSignedInstrumentCallback: ServerSignedCallback<InstrumentCallback>): ServerResponse<InstrumentCallback>;
28
+ UnwrapTransactionCallbackAsync(serverSignedTransactionCallback: ServerSignedCallback<TransactionCallback>): ServerResponse<TransactionCallback>;
29
+ SignInstrumentCallback(serverResponse: ServerResponse<InstrumentCallback>): ClientSignedResponse;
30
+ SignTransactionCallback(serverResponse: ServerResponse<TransactionCallback>): ClientSignedResponse;
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,32 @@
1
+ import { IssuerProcessor } from '.';
2
+ import { IPaymentGatewayClient } from './IPaymentGatewayClient';
3
+ import { Authorization, AuthorizationInfo, CancelRequest, ClientSignedResponse, CodeRequest, Commerce, CommerceIdRequest, CommerceIssuerIdRequest, CommerceModifyRequest, CommerceRequest, CreateBankInstrumentRequest, DeleteInstrumentRequest, ExpressCheckoutRequest, InstrumentCallback, IssuerData, IssuerInfo, PaymentRequest, PaymentInstrument, Reference, Reserve, ReserveRequest, BaseServerResponse, ServerResponse, ServerSignedCallback, Session, Transaction, TransactionCallback, TransactionCursor, TransactionQuery } from './models/IndexSDK';
4
+ export declare class PaymentGatewayClient implements IPaymentGatewayClient {
5
+ AddCommerceAsync(commerce: CommerceRequest): ServerResponse<Commerce>;
6
+ AddIssuerCommerceAsync(issuerData: IssuerData): ServerResponse<IssuerData>;
7
+ DeleteCommerceAsync(commerceIdRequest: CommerceIdRequest): BaseServerResponse;
8
+ DeleteInstrumentAsync(info: DeleteInstrumentRequest): BaseServerResponse;
9
+ DeleteIssuerCommerceAsync(commerceIssuerIdRequest: CommerceIssuerIdRequest): BaseServerResponse;
10
+ GetCommerceIssuersAsync(commerceIdRequest: CommerceIdRequest): ServerResponse<IssuerData[]>;
11
+ GetCommercesAsync(): ServerResponse<Commerce[]>;
12
+ GetSupportedIssuersAsync(): ServerResponse<IssuerInfo[]>;
13
+ GetSupportedPaymentProcessorsAsync(): ServerResponse<IssuerProcessor[]>;
14
+ ModifyCommerceAsync(commerceModifyRequest: CommerceModifyRequest): ServerResponse<Commerce>;
15
+ GetInstrumentsAsync(authorizationInfo: AuthorizationInfo): ServerResponse<PaymentInstrument[]>;
16
+ SetDefaultCommerceAsync(commerceIdRequest: CommerceIdRequest): BaseServerResponse;
17
+ AuthorizeAsync(authorization: Authorization): ServerResponse<Session>;
18
+ CancelAsync(cancel: CancelRequest): ServerResponse<Transaction>;
19
+ CodeActionAsync(request: CodeRequest): ServerResponse<Transaction>;
20
+ StartReserveAsync(payment: ReserveRequest): ServerResponse<Transaction>;
21
+ StatusAsync(payment: Reference): ServerResponse<Transaction>;
22
+ ExpressCheckoutAsync(expressCheckout: ExpressCheckoutRequest): ServerResponse<Session>;
23
+ ObtainCsvTransactionsAsync(query: TransactionQuery): ServerResponse<string>;
24
+ ObtainTransactionsAsync(query: TransactionQuery): ServerResponse<TransactionCursor>;
25
+ PurchaseAsync(payment: PaymentRequest): ServerResponse<Transaction>;
26
+ CreateBankInstrumentAsync(request: CreateBankInstrumentRequest): ServerResponse<PaymentInstrument>;
27
+ EndReserveAsync(reserve: Reserve): ServerResponse<Transaction>;
28
+ UnwrapInstrumentCallbackAsync(serverSignedInstrumentCallback: ServerSignedCallback<InstrumentCallback>): ServerResponse<InstrumentCallback>;
29
+ UnwrapTransactionCallbackAsync(serverSignedTransactionCallback: ServerSignedCallback<TransactionCallback>): ServerResponse<TransactionCallback>;
30
+ SignInstrumentCallback(serverResponse: ServerResponse<InstrumentCallback>): ClientSignedResponse;
31
+ SignTransactionCallback(serverResponse: ServerResponse<TransactionCallback>): ClientSignedResponse;
32
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentGatewayClient = void 0;
4
+ var PaymentGatewayClient = /** @class */ (function () {
5
+ function PaymentGatewayClient() {
6
+ }
7
+ PaymentGatewayClient.prototype.AddCommerceAsync = function (commerce) {
8
+ throw new Error('Method not implemented.');
9
+ };
10
+ PaymentGatewayClient.prototype.AddIssuerCommerceAsync = function (issuerData) {
11
+ throw new Error('Method not implemented.');
12
+ };
13
+ PaymentGatewayClient.prototype.DeleteCommerceAsync = function (commerceIdRequest) {
14
+ throw new Error('Method not implemented.');
15
+ };
16
+ PaymentGatewayClient.prototype.DeleteInstrumentAsync = function (info) {
17
+ throw new Error('Method not implemented.');
18
+ };
19
+ PaymentGatewayClient.prototype.DeleteIssuerCommerceAsync = function (commerceIssuerIdRequest) {
20
+ throw new Error('Method not implemented.');
21
+ };
22
+ PaymentGatewayClient.prototype.GetCommerceIssuersAsync = function (commerceIdRequest) {
23
+ throw new Error('Method not implemented.');
24
+ };
25
+ PaymentGatewayClient.prototype.GetCommercesAsync = function () {
26
+ throw new Error('Method not implemented.');
27
+ };
28
+ PaymentGatewayClient.prototype.GetSupportedIssuersAsync = function () {
29
+ throw new Error('Method not implemented.');
30
+ };
31
+ PaymentGatewayClient.prototype.GetSupportedPaymentProcessorsAsync = function () {
32
+ throw new Error('Method not implemented.');
33
+ };
34
+ PaymentGatewayClient.prototype.ModifyCommerceAsync = function (commerceModifyRequest) {
35
+ throw new Error('Method not implemented.');
36
+ };
37
+ PaymentGatewayClient.prototype.GetInstrumentsAsync = function (authorizationInfo) {
38
+ throw new Error('Method not implemented.');
39
+ };
40
+ PaymentGatewayClient.prototype.SetDefaultCommerceAsync = function (commerceIdRequest) {
41
+ throw new Error('Method not implemented.');
42
+ };
43
+ PaymentGatewayClient.prototype.AuthorizeAsync = function (authorization) {
44
+ throw new Error('Method not implemented.');
45
+ };
46
+ PaymentGatewayClient.prototype.CancelAsync = function (cancel) {
47
+ throw new Error('Method not implemented.');
48
+ };
49
+ PaymentGatewayClient.prototype.CodeActionAsync = function (request) {
50
+ throw new Error('Method not implemented.');
51
+ };
52
+ PaymentGatewayClient.prototype.StartReserveAsync = function (payment) {
53
+ throw new Error('Method not implemented.');
54
+ };
55
+ PaymentGatewayClient.prototype.StatusAsync = function (payment) {
56
+ throw new Error('Method not implemented.');
57
+ };
58
+ PaymentGatewayClient.prototype.ExpressCheckoutAsync = function (expressCheckout) {
59
+ throw new Error('Method not implemented.');
60
+ };
61
+ PaymentGatewayClient.prototype.ObtainCsvTransactionsAsync = function (query) {
62
+ throw new Error('Method not implemented.');
63
+ };
64
+ PaymentGatewayClient.prototype.ObtainTransactionsAsync = function (query) {
65
+ throw new Error('Method not implemented.');
66
+ };
67
+ PaymentGatewayClient.prototype.PurchaseAsync = function (payment) {
68
+ throw new Error('Method not implemented.');
69
+ };
70
+ PaymentGatewayClient.prototype.CreateBankInstrumentAsync = function (request) {
71
+ throw new Error('Method not implemented.');
72
+ };
73
+ PaymentGatewayClient.prototype.EndReserveAsync = function (reserve) {
74
+ throw new Error('Method not implemented.');
75
+ };
76
+ PaymentGatewayClient.prototype.UnwrapInstrumentCallbackAsync = function (serverSignedInstrumentCallback) {
77
+ throw new Error('Method not implemented.');
78
+ };
79
+ PaymentGatewayClient.prototype.UnwrapTransactionCallbackAsync = function (serverSignedTransactionCallback) {
80
+ throw new Error('Method not implemented.');
81
+ };
82
+ PaymentGatewayClient.prototype.SignInstrumentCallback = function (serverResponse) {
83
+ throw new Error('Method not implemented.');
84
+ };
85
+ PaymentGatewayClient.prototype.SignTransactionCallback = function (serverResponse) {
86
+ throw new Error('Method not implemented.');
87
+ };
88
+ return PaymentGatewayClient;
89
+ }());
90
+ exports.PaymentGatewayClient = PaymentGatewayClient;
@@ -0,0 +1,12 @@
1
+ export declare const config: {
2
+ logger: {
3
+ level: string;
4
+ };
5
+ env: string;
6
+ plexoClient: {
7
+ clientName: string;
8
+ certificatePath: string;
9
+ certificatePassword: string;
10
+ };
11
+ plexoUrl: string;
12
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.config = void 0;
5
+ exports.config = {
6
+ logger: {
7
+ level: process.env.LOG_LEVEL || 'trace', // Minimum logging level. trace = log everything
8
+ },
9
+ env: (_a = process.env.ENV) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
10
+ plexoClient: {
11
+ clientName: process.env.PLEXO_CLIENT_NAME,
12
+ certificatePath: process.env.PLEXO_CLIENT_CERTIFICATE_PATH,
13
+ certificatePassword: process.env.PLEXO_CLIENT_CERTIFICATE_PASSWORD,
14
+ },
15
+ plexoUrl: process.env.PLEXO_URL,
16
+ };
@@ -0,0 +1,21 @@
1
+ import { Authorization, BaseServerResponse, CancelRequest, ClientSignedResponse, Commerce, CommerceIdRequest, CommerceIssuerIdRequest, CommerceRequest, DeleteInstrumentRequest, ExpressCheckoutRequest, InstrumentCallback, IssuerData, IssuerInfo, IssuerProcessor, PaymentRequest, ServerResponse, ServerSignedCallback, Session, Transaction, TransactionCallback } from '../sdk/index';
2
+ import { BaseResponse } from './types/BaseResponse';
3
+ export declare const PlexoHandler: {
4
+ AddCommerce: (commerceRequest: CommerceRequest) => Promise<BaseResponse<Commerce>>;
5
+ AddIssuerCommerce: (issuerData: IssuerData) => Promise<BaseResponse<IssuerData>>;
6
+ GetCommerceIssuers: (commerceIdRequest: CommerceIdRequest) => Promise<BaseResponse<IssuerData[]>>;
7
+ GetCommerces: () => Promise<BaseResponse<Commerce[]>>;
8
+ DeleteCommerce: (commerceIdRequest: CommerceIdRequest) => Promise<BaseResponse<BaseServerResponse>>;
9
+ DeleteIssuerCommerce: (commerceIssuerIdRequest: CommerceIssuerIdRequest) => Promise<BaseResponse<BaseServerResponse>>;
10
+ DeleteInstrument: (instrument: DeleteInstrumentRequest) => Promise<BaseResponse<BaseServerResponse>>;
11
+ GetSupportedIssuers: () => Promise<BaseResponse<IssuerInfo[]>>;
12
+ GetSupportedPaymentProcessors: () => Promise<BaseResponse<IssuerProcessor[]>>;
13
+ Authorize: (authorization: Authorization) => Promise<BaseResponse<Session>>;
14
+ Cancel: (cancellation: CancelRequest) => Promise<BaseResponse<Transaction>>;
15
+ ExpressCheckout: (expressCheckout: ExpressCheckoutRequest) => Promise<BaseResponse<Session>>;
16
+ Purchase: (purchase: PaymentRequest) => Promise<BaseResponse<Transaction>>;
17
+ UnwrapInstrumentCallback: (instrumentCallback: ServerSignedCallback<InstrumentCallback>) => Promise<BaseResponse<InstrumentCallback>>;
18
+ UnwrapTransactionCallback: (transactionCallback: ServerSignedCallback<TransactionCallback>) => Promise<BaseResponse<TransactionCallback>>;
19
+ SignInstrumentCallback: (instrumentCallback: ServerResponse<InstrumentCallback>) => Promise<BaseResponse<ClientSignedResponse>>;
20
+ SignTransactionCallback: (transactionCallback: ServerResponse<TransactionCallback>) => Promise<BaseResponse<ClientSignedResponse>>;
21
+ };
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PlexoHandler = void 0;
40
+ var index_1 = require("../sdk/index");
41
+ var evaluator_service_1 = require("./services/evaluator.service");
42
+ var config_1 = require("../config/config");
43
+ var PaymentGatewayMock_1 = require("../sdk/PaymentGatewayMock");
44
+ var isTesting = config_1.config.env === 'TEST';
45
+ var paymentGatewayClient = isTesting
46
+ ? new PaymentGatewayMock_1.PaymentGatewayMock()
47
+ : new index_1.PaymentGatewayClient();
48
+ var AddCommerce = function (commerceRequest) { return __awaiter(void 0, void 0, void 0, function () {
49
+ var commerceResponse;
50
+ return __generator(this, function (_a) {
51
+ switch (_a.label) {
52
+ case 0: return [4 /*yield*/, paymentGatewayClient.AddCommerceAsync(commerceRequest)];
53
+ case 1:
54
+ commerceResponse = _a.sent();
55
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(commerceRequest, commerceResponse)];
56
+ }
57
+ });
58
+ }); };
59
+ var AddIssuerCommerce = function (issuerData) { return __awaiter(void 0, void 0, void 0, function () {
60
+ var issuerResponse;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0: return [4 /*yield*/, paymentGatewayClient.AddIssuerCommerceAsync(issuerData)];
64
+ case 1:
65
+ issuerResponse = _a.sent();
66
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(issuerData, issuerResponse)];
67
+ }
68
+ });
69
+ }); };
70
+ var DeleteCommerce = function (commerceIdRequest) { return __awaiter(void 0, void 0, void 0, function () {
71
+ var deleteResponse, wrappedDeleteResponse;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0: return [4 /*yield*/, paymentGatewayClient.DeleteCommerceAsync(commerceIdRequest)];
75
+ case 1:
76
+ deleteResponse = _a.sent();
77
+ wrappedDeleteResponse = {
78
+ response: deleteResponse,
79
+ resultCode: deleteResponse.resultCode,
80
+ };
81
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(commerceIdRequest, wrappedDeleteResponse)];
82
+ }
83
+ });
84
+ }); };
85
+ var DeleteInstrument = function (instrument) { return __awaiter(void 0, void 0, void 0, function () {
86
+ var deleteInstrumentResponse, wrappedDeleteResponse;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0: return [4 /*yield*/, paymentGatewayClient.DeleteInstrumentAsync(instrument)];
90
+ case 1:
91
+ deleteInstrumentResponse = _a.sent();
92
+ wrappedDeleteResponse = {
93
+ response: deleteInstrumentResponse,
94
+ resultCode: deleteInstrumentResponse.resultCode,
95
+ };
96
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(instrument, wrappedDeleteResponse)];
97
+ }
98
+ });
99
+ }); };
100
+ var DeleteIssuerCommerce = function (commerceIssuerIdRequest) { return __awaiter(void 0, void 0, void 0, function () {
101
+ var deleteIssuerResponse, wrappedDeleteResponse;
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0: return [4 /*yield*/, paymentGatewayClient.DeleteIssuerCommerceAsync(commerceIssuerIdRequest)];
105
+ case 1:
106
+ deleteIssuerResponse = _a.sent();
107
+ wrappedDeleteResponse = {
108
+ response: deleteIssuerResponse,
109
+ resultCode: deleteIssuerResponse.resultCode,
110
+ };
111
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(commerceIssuerIdRequest, wrappedDeleteResponse)];
112
+ }
113
+ });
114
+ }); };
115
+ var GetCommerceIssuers = function (commerceIdRequest) { return __awaiter(void 0, void 0, void 0, function () {
116
+ var commerceResponse;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0: return [4 /*yield*/, paymentGatewayClient.GetCommerceIssuersAsync(commerceIdRequest)];
120
+ case 1:
121
+ commerceResponse = _a.sent();
122
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(commerceIdRequest, commerceResponse)];
123
+ }
124
+ });
125
+ }); };
126
+ var GetCommerces = function () { return __awaiter(void 0, void 0, void 0, function () {
127
+ var commercesResponse;
128
+ return __generator(this, function (_a) {
129
+ switch (_a.label) {
130
+ case 0: return [4 /*yield*/, paymentGatewayClient.GetCommercesAsync()];
131
+ case 1:
132
+ commercesResponse = _a.sent();
133
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(null, commercesResponse, true)];
134
+ }
135
+ });
136
+ }); };
137
+ var GetSupportedIssuers = function () { return __awaiter(void 0, void 0, void 0, function () {
138
+ var issuersResponse;
139
+ return __generator(this, function (_a) {
140
+ switch (_a.label) {
141
+ case 0: return [4 /*yield*/, paymentGatewayClient.GetSupportedIssuersAsync()];
142
+ case 1:
143
+ issuersResponse = _a.sent();
144
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(null, issuersResponse, true)];
145
+ }
146
+ });
147
+ }); };
148
+ var GetSupportedPaymentProcessors = function () { return __awaiter(void 0, void 0, void 0, function () {
149
+ var paymentProcessorsResponse;
150
+ return __generator(this, function (_a) {
151
+ switch (_a.label) {
152
+ case 0: return [4 /*yield*/, paymentGatewayClient.GetSupportedPaymentProcessorsAsync()];
153
+ case 1:
154
+ paymentProcessorsResponse = _a.sent();
155
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(null, paymentProcessorsResponse, true)];
156
+ }
157
+ });
158
+ }); };
159
+ var Authorize = function (authorization) { return __awaiter(void 0, void 0, void 0, function () {
160
+ var authorizationResponse;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0: return [4 /*yield*/, paymentGatewayClient.AuthorizeAsync(authorization)];
164
+ case 1:
165
+ authorizationResponse = _a.sent();
166
+ return [4 /*yield*/, evaluator_service_1.Evaluator.genericEvaluator(authorization, authorizationResponse)];
167
+ case 2: return [2 /*return*/, _a.sent()];
168
+ }
169
+ });
170
+ }); };
171
+ var Cancel = function (cancellation) { return __awaiter(void 0, void 0, void 0, function () {
172
+ var transactionResponse;
173
+ return __generator(this, function (_a) {
174
+ switch (_a.label) {
175
+ case 0: return [4 /*yield*/, paymentGatewayClient.CancelAsync(cancellation)];
176
+ case 1:
177
+ transactionResponse = _a.sent();
178
+ return [2 /*return*/, evaluator_service_1.Evaluator.transactionEvaluator(cancellation, transactionResponse, 'Cancellation', index_1.TransactionType.Cancel)];
179
+ }
180
+ });
181
+ }); };
182
+ var ExpressCheckout = function (expressCheckout) { return __awaiter(void 0, void 0, void 0, function () {
183
+ var expressCheckoutResponse;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0: return [4 /*yield*/, paymentGatewayClient.ExpressCheckoutAsync(expressCheckout)];
187
+ case 1:
188
+ expressCheckoutResponse = _a.sent();
189
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(expressCheckout, expressCheckoutResponse)];
190
+ }
191
+ });
192
+ }); };
193
+ var Purchase = function (purchase) { return __awaiter(void 0, void 0, void 0, function () {
194
+ var purchaseResponse;
195
+ return __generator(this, function (_a) {
196
+ switch (_a.label) {
197
+ case 0: return [4 /*yield*/, paymentGatewayClient.PurchaseAsync(purchase)];
198
+ case 1:
199
+ purchaseResponse = _a.sent();
200
+ return [2 /*return*/, evaluator_service_1.Evaluator.transactionEvaluator(purchase, purchaseResponse, 'Purchase', index_1.TransactionType.Purchase)];
201
+ }
202
+ });
203
+ }); };
204
+ var UnwrapInstrumentCallback = function (instrumentCallback) { return __awaiter(void 0, void 0, void 0, function () {
205
+ var instrumentCallbackResponse;
206
+ return __generator(this, function (_a) {
207
+ switch (_a.label) {
208
+ case 0: return [4 /*yield*/, paymentGatewayClient.UnwrapInstrumentCallbackAsync(instrumentCallback)];
209
+ case 1:
210
+ instrumentCallbackResponse = _a.sent();
211
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(instrumentCallback, instrumentCallbackResponse)];
212
+ }
213
+ });
214
+ }); };
215
+ var UnwrapTransactionCallback = function (transactionCallback) { return __awaiter(void 0, void 0, void 0, function () {
216
+ var transactionCallbackResponse;
217
+ return __generator(this, function (_a) {
218
+ switch (_a.label) {
219
+ case 0: return [4 /*yield*/, paymentGatewayClient.UnwrapTransactionCallbackAsync(transactionCallback)];
220
+ case 1:
221
+ transactionCallbackResponse = _a.sent();
222
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(transactionCallback, transactionCallbackResponse)];
223
+ }
224
+ });
225
+ }); };
226
+ var SignInstrumentCallback = function (instrumentCallback) { return __awaiter(void 0, void 0, void 0, function () {
227
+ var signInstrumentCallbackResponse;
228
+ return __generator(this, function (_a) {
229
+ switch (_a.label) {
230
+ case 0: return [4 /*yield*/, paymentGatewayClient.SignInstrumentCallback(instrumentCallback)];
231
+ case 1:
232
+ signInstrumentCallbackResponse = _a.sent();
233
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(instrumentCallback, signInstrumentCallbackResponse)];
234
+ }
235
+ });
236
+ }); };
237
+ var SignTransactionCallback = function (transactionCallback) { return __awaiter(void 0, void 0, void 0, function () {
238
+ var signTransactionCallbackResponse;
239
+ return __generator(this, function (_a) {
240
+ switch (_a.label) {
241
+ case 0: return [4 /*yield*/, paymentGatewayClient.SignTransactionCallback(transactionCallback)];
242
+ case 1:
243
+ signTransactionCallbackResponse = _a.sent();
244
+ return [2 /*return*/, evaluator_service_1.Evaluator.genericEvaluator(transactionCallback, signTransactionCallbackResponse)];
245
+ }
246
+ });
247
+ }); };
248
+ exports.PlexoHandler = {
249
+ AddCommerce: AddCommerce,
250
+ AddIssuerCommerce: AddIssuerCommerce,
251
+ GetCommerceIssuers: GetCommerceIssuers,
252
+ GetCommerces: GetCommerces,
253
+ DeleteCommerce: DeleteCommerce,
254
+ DeleteIssuerCommerce: DeleteIssuerCommerce,
255
+ DeleteInstrument: DeleteInstrument,
256
+ GetSupportedIssuers: GetSupportedIssuers,
257
+ GetSupportedPaymentProcessors: GetSupportedPaymentProcessors,
258
+ Authorize: Authorize,
259
+ Cancel: Cancel,
260
+ ExpressCheckout: ExpressCheckout,
261
+ Purchase: Purchase,
262
+ UnwrapInstrumentCallback: UnwrapInstrumentCallback,
263
+ UnwrapTransactionCallback: UnwrapTransactionCallback,
264
+ SignInstrumentCallback: SignInstrumentCallback,
265
+ SignTransactionCallback: SignTransactionCallback,
266
+ };
@@ -0,0 +1,6 @@
1
+ import { ServerResponse, Transaction, TransactionType } from '../../sdk/index';
2
+ import { BaseResponse } from '../types/BaseResponse';
3
+ export declare const Evaluator: {
4
+ genericEvaluator: <T extends object | null, R extends object>(request: T, response: ServerResponse<R>, withoutParams?: boolean) => Promise<BaseResponse<R>>;
5
+ transactionEvaluator: <T_1 extends object>(request: T_1, response: ServerResponse<Transaction>, transactionName: string, transactionType: TransactionType) => BaseResponse<Transaction>;
6
+ };
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Evaluator = void 0;
40
+ var logger_lib_1 = require("../../lib/logger.lib");
41
+ var index_1 = require("../../sdk/index");
42
+ var plexo_error_enum_1 = require("../../sdk/enums/plexo-error-enum");
43
+ var BaseResponse_1 = require("../types/BaseResponse");
44
+ var getTransactionStatus = function (transaction, transactionType) {
45
+ if (transactionType === index_1.TransactionType.Cancel) {
46
+ return {
47
+ status: index_1.TransactionResult[+transaction.transactions.cancel.status],
48
+ transactionResultText: transaction.transactions.cancel.transactionResultText,
49
+ };
50
+ }
51
+ if (transactionType === index_1.TransactionType.Reserve) {
52
+ return {
53
+ status: index_1.TransactionResult[+transaction.transactions.reserve.status],
54
+ transactionResultText: transaction.transactions.reserve.transactionResultText,
55
+ };
56
+ }
57
+ if (transactionType === index_1.TransactionType.Purchase) {
58
+ return {
59
+ status: index_1.TransactionResult[+transaction.transactions.purchase.status],
60
+ transactionResultText: transaction.transactions.purchase.transactionResultText,
61
+ };
62
+ }
63
+ };
64
+ var genericEvaluator = function (request, response, withoutParams) {
65
+ if (withoutParams === void 0) { withoutParams = false; }
66
+ return __awaiter(void 0, void 0, void 0, function () {
67
+ var errorCode, errorMessage, resultCode;
68
+ return __generator(this, function (_a) {
69
+ errorCode = plexo_error_enum_1.PlexoErrorEnum.Generic;
70
+ errorMessage = '';
71
+ resultCode = response.resultCode;
72
+ if (resultCode !== index_1.ResultCodes.Ok) {
73
+ errorCode = resultCode;
74
+ errorMessage = response.i18ErrorMessages;
75
+ return [2 /*return*/, new BaseResponse_1.BaseResponse(errorCode, false, errorMessage, response.response)];
76
+ }
77
+ if (request === null && !withoutParams) {
78
+ return [2 /*return*/, new BaseResponse_1.BaseResponse(errorCode, false, errorMessage, response.response)];
79
+ }
80
+ return [2 /*return*/, new BaseResponse_1.BaseResponse(undefined, true, 'Success', response.response)];
81
+ });
82
+ });
83
+ };
84
+ var transactionEvaluator = function (request, response, transactionName, transactionType) {
85
+ var errorCode = plexo_error_enum_1.PlexoErrorEnum.Generic;
86
+ var errorMessage = '';
87
+ var plexoOrTransactionError = '';
88
+ var resultCode = response.resultCode;
89
+ var transactionStatus = getTransactionStatus(response === null || response === void 0 ? void 0 : response.response, transactionType);
90
+ if (resultCode !== index_1.ResultCodes.Ok) {
91
+ errorCode = response.resultCode;
92
+ errorMessage = response.errorMessage;
93
+ plexoOrTransactionError = 'PLEXO ERROR';
94
+ }
95
+ if (transactionStatus.status !== index_1.TransactionResult[index_1.TransactionResult.Ok] &&
96
+ transactionStatus.status !== index_1.TransactionResult[index_1.TransactionResult.Pending] &&
97
+ transactionStatus.status !== null) {
98
+ errorCode = transactionStatus.status;
99
+ errorMessage = transactionStatus.transactionResultText;
100
+ plexoOrTransactionError = 'TRANSACTION ERROR';
101
+ }
102
+ if (transactionStatus.status === index_1.TransactionResult[index_1.TransactionResult.Ok] ||
103
+ transactionStatus.status === index_1.TransactionResult[index_1.TransactionResult.Pending]) {
104
+ // Maybe we should add some project configuration to define
105
+ // wether or not we want to log successful transactions 🤔
106
+ return new BaseResponse_1.BaseResponse(undefined, true, 'Success', response.response);
107
+ }
108
+ logger_lib_1.default.info({
109
+ transactionName: transactionName,
110
+ plexoOrTransactionError: plexoOrTransactionError,
111
+ errorCode: errorCode,
112
+ errorMessage: errorMessage,
113
+ });
114
+ logger_lib_1.default.info({ request: request }, 'Request --> ');
115
+ logger_lib_1.default.info({ response: response }, 'Response --> ');
116
+ return new BaseResponse_1.BaseResponse(errorCode, false, errorMessage, response.response);
117
+ };
118
+ exports.Evaluator = { genericEvaluator: genericEvaluator, transactionEvaluator: transactionEvaluator };
@@ -0,0 +1,8 @@
1
+ import { PlexoErrorEnum } from '../../sdk/enums/plexo-error-enum';
2
+ export declare class BaseResponse<T> {
3
+ response: T;
4
+ plexoErrorEnum?: PlexoErrorEnum;
5
+ isSuccess?: boolean;
6
+ message?: string;
7
+ constructor(plexoErrorCode: number | undefined, isSuccess: boolean | undefined, message: string | undefined, response: T);
8
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseResponse = void 0;
4
+ var BaseResponse = /** @class */ (function () {
5
+ function BaseResponse(plexoErrorCode, isSuccess, message, response) {
6
+ if (plexoErrorCode === void 0) { plexoErrorCode = 999; }
7
+ if (isSuccess === void 0) { isSuccess = true; }
8
+ if (message === void 0) { message = ''; }
9
+ this.plexoErrorEnum = plexoErrorCode;
10
+ this.isSuccess = isSuccess;
11
+ this.message = message;
12
+ this.response = response;
13
+ }
14
+ return BaseResponse;
15
+ }());
16
+ exports.BaseResponse = BaseResponse;
@@ -0,0 +1 @@
1
+ export declare const canonizeJson: (object: any) => Promise<string>;