@vtex/payment-provider
Version:
VTEX Payment Provider SDK
22 lines (21 loc) • 1.64 kB
TypeScript
import type { IOClients, ParamsContext, ServiceContext } from '@vtex/api';
import { PaymentProviderState } from '.';
import type { AuthorizationRequest, AuthorizationResponse, CancellationRequest, CancellationResponse, CreditCardAuthorization, InboundRequest, InboundResponse, RefundRequest, RefundResponse, SecureProxyTokensResponse, SettlementRequest, SettlementResponse } from './typings/api';
export declare abstract class PaymentProvider<ClientsT extends IOClients = IOClients, StateT extends PaymentProviderState = PaymentProviderState, CustomT extends ParamsContext = ParamsContext> {
protected context: ServiceContext<ClientsT, StateT, CustomT>;
protected apiKey: string;
protected appToken: string;
protected isTestSuite: boolean;
private payments;
constructor(context: ServiceContext<ClientsT, StateT, CustomT>);
retry(request: AuthorizationRequest | string): Promise<unknown>;
callback(request: AuthorizationRequest | string, data?: AuthorizationResponse): Promise<unknown>;
getTokens(request: CreditCardAuthorization): Promise<SecureProxyTokensResponse>;
createToken(request: CreditCardAuthorization, payload: any): Promise<SecureProxyTokensResponse>;
abstract authorize(authorization: AuthorizationRequest): Promise<AuthorizationResponse>;
abstract cancel(cancellation: CancellationRequest): Promise<CancellationResponse>;
abstract refund(refund: RefundRequest): Promise<RefundResponse>;
abstract settle(settlement: SettlementRequest): Promise<SettlementResponse>;
abstract inbound?(inbound: InboundRequest): Promise<InboundResponse>;
}
export default PaymentProvider;