import { PaymentContext, SdkResponse } from "../../../model/types"; import { CreatePaymentProductSessionRequest, CreatePaymentProductSessionResponse, DeviceFingerprintRequest, DeviceFingerprintResponse, Directory, ErrorResponse, GetCustomerDetailsRequest, GetCustomerDetailsResponse, PaymentProductNetworksResponse, PaymentProductResponse, PaymentProducts } from "../domain"; export interface ProductsClient { /** * Resource /{merchantId}/products - Get payment products */ find(merchantId: string, paymentContext: FindProductsParams): Promise>; /** * Resource /{merchantId}/products/{paymentProductId} - Get payment product */ get(merchantId: string, paymentProductId: number, paymentContext: GetProductParams): Promise>; /** * Resource /{merchantId}/products/{paymentProductId}/directory - Get payment product directory */ directory(merchantId: string, paymentProductId: number, paymentContext: DirectoryParams): Promise>; /** * Resource /{merchantId}/products/{paymentProductId}/customerDetails - Get customer details */ customerDetails(merchantId: string, paymentProductId: number, postData: GetCustomerDetailsRequest, paymentContext?: PaymentContext | null): Promise>; /** * Resource /{merchantId}/products/{paymentProductId}/deviceFingerprint - Get device fingerprint */ deviceFingerprint(merchantId: string, paymentProductId: number, postData: DeviceFingerprintRequest, paymentContext?: PaymentContext | null): Promise>; /** * Resource /{merchantId}/products/{paymentProductId}/networks - Get payment product networks */ networks(merchantId: string, paymentProductId: number, paymentContext: NetworksParams): Promise>; /** * Resource /{merchantId}/products/{paymentProductId}/sessions - Create session for payment product */ sessions(merchantId: string, paymentProductId: number, postData: CreatePaymentProductSessionRequest, paymentContext?: PaymentContext | null): Promise>; } export interface FindProductsParams extends PaymentContext { countryCode?: string; currencyCode?: string; locale?: string; amount?: number; isRecurring?: boolean; isInstallments?: boolean; hide?: string[]; } export interface GetProductParams extends PaymentContext { countryCode?: string; currencyCode?: string; locale?: string; amount?: number; isRecurring?: boolean; isInstallments?: boolean; hide?: string[]; forceBasicFlow?: boolean; } export interface DirectoryParams extends PaymentContext { countryCode?: string; currencyCode?: string; } export interface NetworksParams extends PaymentContext { countryCode?: string; currencyCode?: string; amount?: number; isRecurring?: boolean; }