/** * PseGateway file */ import { ProcessorTypeEnum } from "infrastructure/ProcessorTypeEnum"; import { Observable } from "rxjs"; import { PseCreateTransaction } from "types/pse_create_transaction"; import { PseCreateTransactionRequest } from "types/pse_create_transaction_request"; import { PseGetBankList } from "types/pse_get_bank_list"; import { PseGetTransactionInformationRequest } from "types/pse_get_transaction_information_request"; import { PseGetTransactionInformationResponse } from "types/pse_get_transaction_information_response"; /** * Methods to connect to the gateway */ export interface IPseGateway { /** * create transaction in PSE * @param body - pse response body * @param processorType - Type of processor */ createTransactionRequest( body: PseCreateTransactionRequest, processorType: string ): Observable; /** * Get transaction information from the server * @param body - pse request body * @param processorType - Type of processor */ getTransactionInformation( body: PseGetTransactionInformationRequest, processorType: string ): Observable; /** * Finalize transaction * @param body - pse request body * @param processorType - Type of processor */ finalizeTransactionPayment( body: PseGetTransactionInformationRequest, processorType: string ): Observable; /** * Get bankList from PSE * @param entityCode - merchant's entity code * @param processorType - Type of processor */ getBankListRequest( entityCode: string | undefined, processorType: string ): Observable; /** * Execute a endpoint call request * @param method - Name of the method * @param args - Args to send to the method * @param processorType - Type of processor */ call( method: string, args: object, processorType: ProcessorTypeEnum ): Observable; }