@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.
- package/README.md +14 -0
- package/lib/IPaymentGatewayClient.d.ts +31 -0
- package/lib/IPaymentGatewayClient.js +2 -0
- package/lib/PaymentGatewayClient.d.ts +32 -0
- package/lib/PaymentGatewayClient.js +90 -0
- package/lib/config/config.d.ts +12 -0
- package/lib/config/config.js +16 -0
- package/lib/handler/PlexoHandler.d.ts +21 -0
- package/lib/handler/PlexoHandler.js +266 -0
- package/lib/handler/services/evaluator.service.d.ts +6 -0
- package/lib/handler/services/evaluator.service.js +118 -0
- package/lib/handler/types/BaseResponse.d.ts +8 -0
- package/lib/handler/types/BaseResponse.js +16 -0
- package/lib/helpers/signature/signatureHelper.d.ts +1 -0
- package/lib/helpers/signature/signatureHelper.js +52 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +6 -0
- package/lib/lib/logger.lib.d.ts +15 -0
- package/lib/lib/logger.lib.js +29 -0
- package/lib/models/ActionType.d.ts +9 -0
- package/lib/models/ActionType.js +13 -0
- package/lib/models/AmountLimit.d.ts +7 -0
- package/lib/models/AmountLimit.js +2 -0
- package/lib/models/Authorization.d.ts +16 -0
- package/lib/models/Authorization.js +32 -0
- package/lib/models/AuthorizationInfo.d.ts +6 -0
- package/lib/models/AuthorizationInfo.js +11 -0
- package/lib/models/AuthorizationType.d.ts +5 -0
- package/lib/models/AuthorizationType.js +9 -0
- package/lib/models/BaseServerResponse.d.ts +7 -0
- package/lib/models/BaseServerResponse.js +12 -0
- package/lib/models/CancelRequest.d.ts +6 -0
- package/lib/models/CancelRequest.js +29 -0
- package/lib/models/CardStatus.d.ts +7 -0
- package/lib/models/CardStatus.js +11 -0
- package/lib/models/CardTypes.d.ts +9 -0
- package/lib/models/CardTypes.js +13 -0
- package/lib/models/ClientRequest.d.ts +4 -0
- package/lib/models/ClientRequest.js +10 -0
- package/lib/models/ClientResponse.d.ts +6 -0
- package/lib/models/ClientResponse.js +29 -0
- package/lib/models/ClientSignedRequest.d.ts +4 -0
- package/lib/models/ClientSignedRequest.js +27 -0
- package/lib/models/ClientSignedResponse.d.ts +4 -0
- package/lib/models/ClientSignedResponse.js +27 -0
- package/lib/models/CodeAction.d.ts +10 -0
- package/lib/models/CodeAction.js +10 -0
- package/lib/models/CodeRequest.d.ts +5 -0
- package/lib/models/CodeRequest.js +2 -0
- package/lib/models/Commerce.d.ts +4 -0
- package/lib/models/Commerce.js +2 -0
- package/lib/models/CommerceIdRequest.d.ts +3 -0
- package/lib/models/CommerceIdRequest.js +2 -0
- package/lib/models/CommerceIssuerIdRequest.d.ts +4 -0
- package/lib/models/CommerceIssuerIdRequest.js +2 -0
- package/lib/models/CommerceModifyRequest.d.ts +4 -0
- package/lib/models/CommerceModifyRequest.js +2 -0
- package/lib/models/CommerceRequest.d.ts +3 -0
- package/lib/models/CommerceRequest.js +2 -0
- package/lib/models/CreateBankInstrumentRequest.d.ts +6 -0
- package/lib/models/CreateBankInstrumentRequest.js +2 -0
- package/lib/models/Currency.d.ts +6 -0
- package/lib/models/Currency.js +2 -0
- package/lib/models/DeleteInstrumentRequest.d.ts +6 -0
- package/lib/models/DeleteInstrumentRequest.js +29 -0
- package/lib/models/ExpressCheckoutRequest.d.ts +6 -0
- package/lib/models/ExpressCheckoutRequest.js +2 -0
- package/lib/models/ExtendedCredit.d.ts +4 -0
- package/lib/models/ExtendedCredit.js +2 -0
- package/lib/models/FieldInfo.d.ts +6 -0
- package/lib/models/FieldInfo.js +2 -0
- package/lib/models/FieldInfoPaymentProcessors.d.ts +6 -0
- package/lib/models/FieldInfoPaymentProcessors.js +11 -0
- package/lib/models/FieldType.d.ts +76 -0
- package/lib/models/FieldType.js +89 -0
- package/lib/models/FinancialInclusion.d.ts +8 -0
- package/lib/models/FinancialInclusion.js +2 -0
- package/lib/models/FinancialInclusionResult.d.ts +6 -0
- package/lib/models/FinancialInclusionResult.js +2 -0
- package/lib/models/GenericClientRequest.d.ts +5 -0
- package/lib/models/GenericClientRequest.js +29 -0
- package/lib/models/GenericClientSignedRequest.d.ts +4 -0
- package/lib/models/GenericClientSignedRequest.js +27 -0
- package/lib/models/GenericIssuerRequest.d.ts +5 -0
- package/lib/models/GenericIssuerRequest.js +29 -0
- package/lib/models/GenericIssuerSignedRequest.d.ts +4 -0
- package/lib/models/GenericIssuerSignedRequest.js +27 -0
- package/lib/models/GenericServerSignedResponse.d.ts +4 -0
- package/lib/models/GenericServerSignedResponse.js +27 -0
- package/lib/models/GenericSignedObject.d.ts +6 -0
- package/lib/models/GenericSignedObject.js +11 -0
- package/lib/models/GenericStateObject.d.ts +5 -0
- package/lib/models/GenericStateObject.js +29 -0
- package/lib/models/IClientCallback.d.ts +3 -0
- package/lib/models/IClientCallback.js +2 -0
- package/lib/models/IdentificationType.d.ts +6 -0
- package/lib/models/IdentificationType.js +10 -0
- package/lib/models/InclusionType.d.ts +5 -0
- package/lib/models/InclusionType.js +9 -0
- package/lib/models/IndexSDK.d.ts +33 -0
- package/lib/models/IndexSDK.js +39 -0
- package/lib/models/InfoLine.d.ts +4 -0
- package/lib/models/InfoLine.js +2 -0
- package/lib/models/InstrumentCallback.d.ts +9 -0
- package/lib/models/InstrumentCallback.js +31 -0
- package/lib/models/InstrumentWithMetadata.d.ts +6 -0
- package/lib/models/InstrumentWithMetadata.js +11 -0
- package/lib/models/IssuerData.d.ts +5 -0
- package/lib/models/IssuerData.js +2 -0
- package/lib/models/IssuerInfo.d.ts +14 -0
- package/lib/models/IssuerInfo.js +2 -0
- package/lib/models/IssuerProcessor.d.ts +7 -0
- package/lib/models/IssuerProcessor.js +12 -0
- package/lib/models/IssuerRequest.d.ts +4 -0
- package/lib/models/IssuerRequest.js +10 -0
- package/lib/models/IssuerSignedRequest.d.ts +4 -0
- package/lib/models/IssuerSignedRequest.js +27 -0
- package/lib/models/Item.d.ts +8 -0
- package/lib/models/Item.js +2 -0
- package/lib/models/PaymentInstrument.d.ts +20 -0
- package/lib/models/PaymentInstrument.js +2 -0
- package/lib/models/PaymentInstrumentInput.d.ts +6 -0
- package/lib/models/PaymentInstrumentInput.js +2 -0
- package/lib/models/PaymentProcessor.d.ts +6 -0
- package/lib/models/PaymentProcessor.js +11 -0
- package/lib/models/PaymentRequest.d.ts +17 -0
- package/lib/models/PaymentRequest.js +20 -0
- package/lib/models/PublicKeyInfo.d.ts +4 -0
- package/lib/models/PublicKeyInfo.js +2 -0
- package/lib/models/Reference.d.ts +6 -0
- package/lib/models/Reference.js +11 -0
- package/lib/models/ReferenceType.d.ts +6 -0
- package/lib/models/ReferenceType.js +10 -0
- package/lib/models/Reserve.d.ts +6 -0
- package/lib/models/Reserve.js +29 -0
- package/lib/models/ReserveRequest.d.ts +6 -0
- package/lib/models/ReserveRequest.js +29 -0
- package/lib/models/ResultCodes.d.ts +30 -0
- package/lib/models/ResultCodes.js +35 -0
- package/lib/models/ServerResponse.d.ts +6 -0
- package/lib/models/ServerResponse.js +29 -0
- package/lib/models/ServerSignedCallback.d.ts +3 -0
- package/lib/models/ServerSignedCallback.js +27 -0
- package/lib/models/ServerSignedRequest.d.ts +3 -0
- package/lib/models/ServerSignedRequest.js +27 -0
- package/lib/models/ServerSignedResponse.d.ts +4 -0
- package/lib/models/ServerSignedResponse.js +27 -0
- package/lib/models/Session.d.ts +5 -0
- package/lib/models/Session.js +2 -0
- package/lib/models/SignedObject.d.ts +6 -0
- package/lib/models/SignedObject.js +11 -0
- package/lib/models/StateObject.d.ts +5 -0
- package/lib/models/StateObject.js +11 -0
- package/lib/models/TimeLimit.d.ts +5 -0
- package/lib/models/TimeLimit.js +2 -0
- package/lib/models/Transaction.d.ts +26 -0
- package/lib/models/Transaction.js +26 -0
- package/lib/models/TransactionCallback.d.ts +7 -0
- package/lib/models/TransactionCallback.js +29 -0
- package/lib/models/TransactionCursor.d.ts +6 -0
- package/lib/models/TransactionCursor.js +2 -0
- package/lib/models/TransactionInfo.d.ts +12 -0
- package/lib/models/TransactionInfo.js +2 -0
- package/lib/models/TransactionOrder.d.ts +5 -0
- package/lib/models/TransactionOrder.js +2 -0
- package/lib/models/TransactionQuery.d.ts +54 -0
- package/lib/models/TransactionQuery.js +47 -0
- package/lib/models/TransactionResult.d.ts +13 -0
- package/lib/models/TransactionResult.js +17 -0
- package/lib/models/TransactionType.d.ts +5 -0
- package/lib/models/TransactionType.js +9 -0
- package/lib/sdk/IPaymentGatewayClient.d.ts +31 -0
- package/lib/sdk/IPaymentGatewayClient.js +2 -0
- package/lib/sdk/PaymentGatewayClient.d.ts +32 -0
- package/lib/sdk/PaymentGatewayClient.js +378 -0
- package/lib/sdk/PaymentGatewayMock.d.ts +31 -0
- package/lib/sdk/PaymentGatewayMock.js +336 -0
- package/lib/sdk/enums/plexo-error-enum.d.ts +37 -0
- package/lib/sdk/enums/plexo-error-enum.js +45 -0
- package/lib/sdk/helpers/signature/signatureHelper.d.ts +10 -0
- package/lib/sdk/helpers/signature/signatureHelper.js +305 -0
- package/lib/sdk/helpers/signature/stringifyWithFloats.d.ts +1 -0
- package/lib/sdk/helpers/signature/stringifyWithFloats.js +71 -0
- package/lib/sdk/index.d.ts +4 -0
- package/lib/sdk/index.js +22 -0
- package/lib/sdk/mocks/mocks.d.ts +24 -0
- package/lib/sdk/mocks/mocks.js +180 -0
- package/lib/sdk/models/ActionType.d.ts +9 -0
- package/lib/sdk/models/ActionType.js +13 -0
- package/lib/sdk/models/AmountLimit.d.ts +7 -0
- package/lib/sdk/models/AmountLimit.js +2 -0
- package/lib/sdk/models/Authorization.d.ts +18 -0
- package/lib/sdk/models/Authorization.js +32 -0
- package/lib/sdk/models/AuthorizationInfo.d.ts +6 -0
- package/lib/sdk/models/AuthorizationInfo.js +11 -0
- package/lib/sdk/models/AuthorizationType.d.ts +5 -0
- package/lib/sdk/models/AuthorizationType.js +9 -0
- package/lib/sdk/models/BaseServerResponse.d.ts +7 -0
- package/lib/sdk/models/BaseServerResponse.js +12 -0
- package/lib/sdk/models/BuiltInPagesOptionsDto.d.ts +4 -0
- package/lib/sdk/models/BuiltInPagesOptionsDto.js +9 -0
- package/lib/sdk/models/CancelRequest.d.ts +6 -0
- package/lib/sdk/models/CancelRequest.js +29 -0
- package/lib/sdk/models/CardStatus.d.ts +7 -0
- package/lib/sdk/models/CardStatus.js +11 -0
- package/lib/sdk/models/CardTypes.d.ts +9 -0
- package/lib/sdk/models/CardTypes.js +13 -0
- package/lib/sdk/models/ClientRequest.d.ts +4 -0
- package/lib/sdk/models/ClientRequest.js +10 -0
- package/lib/sdk/models/ClientResponse.d.ts +6 -0
- package/lib/sdk/models/ClientResponse.js +29 -0
- package/lib/sdk/models/ClientSignedRequest.d.ts +4 -0
- package/lib/sdk/models/ClientSignedRequest.js +27 -0
- package/lib/sdk/models/ClientSignedResponse.d.ts +4 -0
- package/lib/sdk/models/ClientSignedResponse.js +27 -0
- package/lib/sdk/models/CodeAction.d.ts +10 -0
- package/lib/sdk/models/CodeAction.js +10 -0
- package/lib/sdk/models/CodeRequest.d.ts +5 -0
- package/lib/sdk/models/CodeRequest.js +2 -0
- package/lib/sdk/models/Commerce.d.ts +4 -0
- package/lib/sdk/models/Commerce.js +2 -0
- package/lib/sdk/models/CommerceIdRequest.d.ts +3 -0
- package/lib/sdk/models/CommerceIdRequest.js +2 -0
- package/lib/sdk/models/CommerceIssuerIdRequest.d.ts +4 -0
- package/lib/sdk/models/CommerceIssuerIdRequest.js +2 -0
- package/lib/sdk/models/CommerceModifyRequest.d.ts +4 -0
- package/lib/sdk/models/CommerceModifyRequest.js +2 -0
- package/lib/sdk/models/CommerceRequest.d.ts +3 -0
- package/lib/sdk/models/CommerceRequest.js +2 -0
- package/lib/sdk/models/CreateBankInstrumentRequest.d.ts +6 -0
- package/lib/sdk/models/CreateBankInstrumentRequest.js +2 -0
- package/lib/sdk/models/Currency.d.ts +6 -0
- package/lib/sdk/models/Currency.js +2 -0
- package/lib/sdk/models/DeleteInstrumentRequest.d.ts +6 -0
- package/lib/sdk/models/DeleteInstrumentRequest.js +29 -0
- package/lib/sdk/models/DisplayOptionsDto.d.ts +7 -0
- package/lib/sdk/models/DisplayOptionsDto.js +9 -0
- package/lib/sdk/models/ExpressCheckoutRequest.d.ts +6 -0
- package/lib/sdk/models/ExpressCheckoutRequest.js +2 -0
- package/lib/sdk/models/ExpressCheckoutSettingsDto.d.ts +6 -0
- package/lib/sdk/models/ExpressCheckoutSettingsDto.js +9 -0
- package/lib/sdk/models/ExtendedCredit.d.ts +4 -0
- package/lib/sdk/models/ExtendedCredit.js +2 -0
- package/lib/sdk/models/FieldInfo.d.ts +6 -0
- package/lib/sdk/models/FieldInfo.js +2 -0
- package/lib/sdk/models/FieldInfoPaymentProcessors.d.ts +6 -0
- package/lib/sdk/models/FieldInfoPaymentProcessors.js +11 -0
- package/lib/sdk/models/FieldType.d.ts +76 -0
- package/lib/sdk/models/FieldType.js +89 -0
- package/lib/sdk/models/FinancialInclusion.d.ts +9 -0
- package/lib/sdk/models/FinancialInclusion.js +2 -0
- package/lib/sdk/models/FinancialInclusionResult.d.ts +6 -0
- package/lib/sdk/models/FinancialInclusionResult.js +2 -0
- package/lib/sdk/models/GenericClientRequest.d.ts +5 -0
- package/lib/sdk/models/GenericClientRequest.js +29 -0
- package/lib/sdk/models/GenericClientSignedRequest.d.ts +4 -0
- package/lib/sdk/models/GenericClientSignedRequest.js +27 -0
- package/lib/sdk/models/GenericIssuerRequest.d.ts +5 -0
- package/lib/sdk/models/GenericIssuerRequest.js +29 -0
- package/lib/sdk/models/GenericIssuerSignedRequest.d.ts +4 -0
- package/lib/sdk/models/GenericIssuerSignedRequest.js +27 -0
- package/lib/sdk/models/GenericServerSignedResponse.d.ts +4 -0
- package/lib/sdk/models/GenericServerSignedResponse.js +27 -0
- package/lib/sdk/models/GenericSignedObject.d.ts +6 -0
- package/lib/sdk/models/GenericSignedObject.js +11 -0
- package/lib/sdk/models/GenericStateObject.d.ts +5 -0
- package/lib/sdk/models/GenericStateObject.js +29 -0
- package/lib/sdk/models/IClientCallback.d.ts +3 -0
- package/lib/sdk/models/IClientCallback.js +2 -0
- package/lib/sdk/models/IdentificationType.d.ts +6 -0
- package/lib/sdk/models/IdentificationType.js +10 -0
- package/lib/sdk/models/InclusionType.d.ts +5 -0
- package/lib/sdk/models/InclusionType.js +9 -0
- package/lib/sdk/models/IndexSDK.d.ts +84 -0
- package/lib/sdk/models/IndexSDK.js +112 -0
- package/lib/sdk/models/InfoLine.d.ts +4 -0
- package/lib/sdk/models/InfoLine.js +2 -0
- package/lib/sdk/models/InstrumentCallback.d.ts +9 -0
- package/lib/sdk/models/InstrumentCallback.js +31 -0
- package/lib/sdk/models/InstrumentWithMetadata.d.ts +6 -0
- package/lib/sdk/models/InstrumentWithMetadata.js +11 -0
- package/lib/sdk/models/IssuerData.d.ts +5 -0
- package/lib/sdk/models/IssuerData.js +2 -0
- package/lib/sdk/models/IssuerInfo.d.ts +14 -0
- package/lib/sdk/models/IssuerInfo.js +2 -0
- package/lib/sdk/models/IssuerProcessor.d.ts +7 -0
- package/lib/sdk/models/IssuerProcessor.js +12 -0
- package/lib/sdk/models/IssuerRequest.d.ts +4 -0
- package/lib/sdk/models/IssuerRequest.js +10 -0
- package/lib/sdk/models/IssuerSignedRequest.d.ts +4 -0
- package/lib/sdk/models/IssuerSignedRequest.js +27 -0
- package/lib/sdk/models/Item.d.ts +8 -0
- package/lib/sdk/models/Item.js +2 -0
- package/lib/sdk/models/PaymentInstrument.d.ts +18 -0
- package/lib/sdk/models/PaymentInstrument.js +2 -0
- package/lib/sdk/models/PaymentInstrumentInput.d.ts +6 -0
- package/lib/sdk/models/PaymentInstrumentInput.js +2 -0
- package/lib/sdk/models/PaymentProcessor.d.ts +6 -0
- package/lib/sdk/models/PaymentProcessor.js +11 -0
- package/lib/sdk/models/PaymentRequest.d.ts +17 -0
- package/lib/sdk/models/PaymentRequest.js +20 -0
- package/lib/sdk/models/PlexoSdkSettings.d.ts +8 -0
- package/lib/sdk/models/PlexoSdkSettings.js +14 -0
- package/lib/sdk/models/PublicKeyInfo.d.ts +4 -0
- package/lib/sdk/models/PublicKeyInfo.js +2 -0
- package/lib/sdk/models/Reference.d.ts +6 -0
- package/lib/sdk/models/Reference.js +11 -0
- package/lib/sdk/models/ReferenceType.d.ts +6 -0
- package/lib/sdk/models/ReferenceType.js +10 -0
- package/lib/sdk/models/Reserve.d.ts +6 -0
- package/lib/sdk/models/Reserve.js +29 -0
- package/lib/sdk/models/ReserveRequest.d.ts +6 -0
- package/lib/sdk/models/ReserveRequest.js +29 -0
- package/lib/sdk/models/ResultCodes.d.ts +30 -0
- package/lib/sdk/models/ResultCodes.js +35 -0
- package/lib/sdk/models/ServerResponse.d.ts +6 -0
- package/lib/sdk/models/ServerResponse.js +29 -0
- package/lib/sdk/models/ServerSignedCallback.d.ts +3 -0
- package/lib/sdk/models/ServerSignedCallback.js +27 -0
- package/lib/sdk/models/ServerSignedRequest.d.ts +3 -0
- package/lib/sdk/models/ServerSignedRequest.js +27 -0
- package/lib/sdk/models/ServerSignedResponse.d.ts +4 -0
- package/lib/sdk/models/ServerSignedResponse.js +27 -0
- package/lib/sdk/models/Session.d.ts +5 -0
- package/lib/sdk/models/Session.js +2 -0
- package/lib/sdk/models/Settings.d.ts +11 -0
- package/lib/sdk/models/Settings.js +19 -0
- package/lib/sdk/models/SignedObject.d.ts +6 -0
- package/lib/sdk/models/SignedObject.js +11 -0
- package/lib/sdk/models/StateObject.d.ts +5 -0
- package/lib/sdk/models/StateObject.js +11 -0
- package/lib/sdk/models/TimeLimit.d.ts +5 -0
- package/lib/sdk/models/TimeLimit.js +2 -0
- package/lib/sdk/models/TokenizationSettingsDto.d.ts +4 -0
- package/lib/sdk/models/TokenizationSettingsDto.js +9 -0
- package/lib/sdk/models/Transaction.d.ts +31 -0
- package/lib/sdk/models/Transaction.js +26 -0
- package/lib/sdk/models/TransactionCallback.d.ts +7 -0
- package/lib/sdk/models/TransactionCallback.js +29 -0
- package/lib/sdk/models/TransactionCursor.d.ts +6 -0
- package/lib/sdk/models/TransactionCursor.js +2 -0
- package/lib/sdk/models/TransactionInfo.d.ts +12 -0
- package/lib/sdk/models/TransactionInfo.js +2 -0
- package/lib/sdk/models/TransactionOrder.d.ts +5 -0
- package/lib/sdk/models/TransactionOrder.js +2 -0
- package/lib/sdk/models/TransactionQuery.d.ts +54 -0
- package/lib/sdk/models/TransactionQuery.js +47 -0
- package/lib/sdk/models/TransactionResult.d.ts +13 -0
- package/lib/sdk/models/TransactionResult.js +17 -0
- package/lib/sdk/models/TransactionType.d.ts +5 -0
- package/lib/sdk/models/TransactionType.js +9 -0
- package/lib/sdk/models/UIOptionsDto.d.ts +8 -0
- package/lib/sdk/models/UIOptionsDto.js +13 -0
- package/lib/sdk/models/WebFormSettingsDto.d.ts +8 -0
- package/lib/sdk/models/WebFormSettingsDto.js +9 -0
- package/lib/sdk/types/signatureHelper.type.d.ts +5 -0
- package/lib/sdk/types/signatureHelper.type.js +2 -0
- package/lib/sdk/types/ui_options_dto.type.d.ts +6 -0
- package/lib/sdk/types/ui_options_dto.type.js +2 -0
- 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,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,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>;
|