/* tslint:disable:all */ /** * Interface for Kushki Gateway. */ import { Observable } from "rxjs"; import { ApplePayPaymentData } from "./../../lib/types/apple_pay_get_token_events"; import { ApplePayStartSessionRequest } from "./../../lib/types/apple_pay_start_session_request"; import { BankListResponse } from "./../../lib/types/bank_list_response"; import { BinInfoResponse } from "./../../lib/types/bin_info_response"; import { CardAsyncTokenRequest } from "./../../lib/types/card_async_token_request"; import { CardAsyncTokenResponse } from "./../../lib/types/card_async_token_response"; import { CashTokenRequest } from "./../../lib/types/cash_token_request"; import { DeferredOptionsResponse } from "./../../lib/types/deferred_options_response"; import { GetBrandsLogosByMerchantResponse } from "./../../lib/types/get_brands_logos_by_merchant_response"; import { GetUserId } from "./../../lib/types/get_user_id"; import { JwtResponse } from "./../../lib/types/jwt_response"; import { KushkiSubscriptionTokensRequest } from "./../../lib/types/kushki_subscription_tokens_request"; import { KushkiTokensRequest } from "./../../lib/types/kushki_tokens_request"; import { MerchantSettingsResponse } from "./../../lib/types/merchant_settings_response"; import { MultiMerchantInfoRequest } from "./../../lib/types/multimerchant_info_request"; import { MultiMerchantInfoResponse } from "./../../lib/types/multimerchant_info_response"; import { PayoutsCashTokenRequest } from "./../../lib/types/payouts_cash_request"; import { PayoutsTransferTokenRequest } from "./../../lib/types/payouts_transfer_token_request"; import { CommissionConfigurationAmount } from "./../../lib/types/remote/commission_configuration_amount"; import { CommissionConfigurationRequest } from "./../../lib/types/remote/commission_configuration_request"; import { TokenResponse } from "./../../lib/types/remote/token_response"; import { TransferTokenRequest } from "./../../lib/types/remote/transfer_token_request"; import { ResponseStatusValidator } from "./../../lib/types/response_status_validator"; import { SecureOtpRequest } from "./../../lib/types/secure_otp_request"; import { SecureOtpResponse } from "./../../lib/types/secure_otp_response"; import { SubscriptionCardAsyncTokenRequest } from "./../../lib/types/subscription_card_async_token_request"; import { SubscriptionCardAsyncTokenResponse } from "./../../lib/types/subscription_card_async_token_response"; import { TokenChargeRequest } from "./../../lib/types/token_charge_request"; import { TransferSubscriptionTokenRequest } from "./../../lib/types/transfer_subscription_token_request"; import { Validate3DsResponse } from "./../../lib/types/validate_3ds_response"; export interface IKushkiGateway { /** * Send POST requests to Kushki Gateway */ request(body: object, headers: object, path: string, testEnv: boolean, singleIP: boolean, authorization?: string): Observable; /** * Send GET requests to Kushki Gateway */ requestGet(path: string, testEnv: boolean, regional: boolean, mid?: string): Observable; /** * Send tokens request to Kushki API */ requestToken(body: KushkiTokensRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send charge tokens request to Kushki API */ requestDeviceToken(body: TokenChargeRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send tokens subscription request to Kushki API */ requestSubscriptionToken(body: KushkiSubscriptionTokensRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send transfer tokens request to Kushki API */ requestTransferToken(body: TransferTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send merchant settings request to Kushki API */ requestMerchantSettings(mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send merchant settings request to Kushki API */ requestPseBankList(mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send banklist request to Kushki API */ requestBankList(mid: string, testEnv: boolean, regional: boolean): Observable; /** * Request deferred information by bin to Kushki API */ requestDeferredConditions(mid: string, bin: string, testEnv: boolean, regional: boolean): Observable; /** * Request token cash to Kushki API */ requestCashToken(body: CashTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Get status Services */ checkStatus(mid: string, testEnv: boolean, regional: boolean): Observable; /** * Get Secure Services Validation */ requestSecureServiceValidation(mid: string, request: SecureOtpRequest, isTest: boolean, regional: boolean): Observable; /** * Request deferred information by bin to Kushki API */ requestBinInfo(mid: string, bin: string, testEnv: boolean, regional: boolean): Observable; /** * requestBrandsByMerchant * @param mid - public merchant id * @param isTest - is test environment * @param regional - Define if endpoint used regional URL */ requestBrandsByMerchant(mid: string, isTest: boolean, regional: boolean): Observable; /** * Get brands and logos by Merchant * @param mid - public merchant id * @param isTest - is test environment * @param regional - Define if endpoint used regional URL * @return GetBrandsLogosByMerchantResponse[] */ requestBrandsLogosByMerchant(mid: string, isTest: boolean, regional: boolean): Observable; /** * Send Webpay tokens request to Transbank API */ requestCardAsyncToken(body: CardAsyncTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Send SubscriptionWebpay tokens request to Transbank API */ requestSubscriptionCardAsyncToken(body: SubscriptionCardAsyncTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; multiMerchantInfo(request: MultiMerchantInfoRequest, mid: string, isTest: boolean, regional: boolean): Observable; /** * Request token payouts cash to Kushki API */ requestPayoutsCashToken(body: PayoutsCashTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; getCommissionConfiguration(request: CommissionConfigurationRequest, mid: string, isTest: boolean, regional: boolean): Observable; requestTokenTransferSubscription(body: TransferSubscriptionTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Request token payouts transfer to Kushki API */ requestPayoutsTransferToken(body: PayoutsTransferTokenRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Request banklist payouts transfer to Kushki API */ requestPayoutsTransferBankList(mid: string, testEnv: boolean, regional: boolean): Observable; /** * Get JWT for 3DS * @param mid - public credential for request * @param testEnv - is test environment * @param regional - Define if endpoint used regional URL */ cybersourceJwt(mid: string, testEnv: boolean, regional: boolean, subscriptionId?: string): Observable; /** * Get userId * @param subscriptionId subscription id for the request * @param mid public credential for request * @param testEnv - is test environment * @param regional - Define if endpoint used regional URL */ getUserId(subscriptionId: string, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Validate if merchant domain is valid in Apple configuration * @param domain current domain of merchant application * @param mid public credential for request * @param testEnv - is test environment * @param regional - Define if endpoint used regional URL */ validateAppleDomain(domain: string, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Start Apple Pay Session * @param body start session required params * @param mid public credential for request * @param testEnv - is test environment * @param regional - Define if endpoint used regional URL */ startApplePaySession(body: ApplePayStartSessionRequest, mid: string, testEnv: boolean, regional: boolean): Observable; /** * Get Apple Pay Session * @param body token required params * @param mid public credential for request * @param testEnv - is test environment * @param regional - Define if endpoint used regional URL */ getApplePayToken(body: ApplePayPaymentData, mid: string, testEnv: boolean, regional: boolean): Observable; }