UNPKG

@vtex/payment-provider

Version:
16 lines (15 loc) 1.43 kB
import type { IOClients, ParamsContext, RouteHandler } from '@vtex/api'; import type { Constructor } from 'ramda'; import type { PaymentProviderState } from '.'; import type { PaymentProvider } from './paymentProvider'; export interface PaymentProviderHandlers<ClientsT extends IOClients = IOClients, StateT extends PaymentProviderState = PaymentProviderState, CustomT extends ParamsContext = ParamsContext> { authorize: Array<RouteHandler<ClientsT, StateT, CustomT>>; settle: Array<RouteHandler<ClientsT, StateT, CustomT>>; cancel: Array<RouteHandler<ClientsT, StateT, CustomT>>; refund: Array<RouteHandler<ClientsT, StateT, CustomT>>; inbound: Array<RouteHandler<ClientsT, StateT, CustomT>>; } export type PaymentProviderConfigurableHandlers<ClientsT extends IOClients = IOClients, StateT extends PaymentProviderState = PaymentProviderState, CustomT extends ParamsContext = ParamsContext> = { [key in keyof PaymentProviderHandlers<ClientsT, StateT, CustomT>]?: PaymentProviderHandlers<ClientsT, StateT, CustomT>[key]; }; export declare const buildRoutes: <ClientsT extends IOClients = IOClients, StateT extends PaymentProviderState = PaymentProviderState, CustomT extends ParamsContext = ParamsContext>(Connector: Constructor<PaymentProvider<ClientsT, StateT, CustomT>>, middlewares?: PaymentProviderConfigurableHandlers<ClientsT, StateT, CustomT>) => PaymentProviderHandlers<ClientsT, StateT, CustomT>;