@vtex/payment-provider-sdk
Version:
VTEX Payment Provider SDK
21 lines (20 loc) • 1.49 kB
TypeScript
import type { ServiceContext, IOClients, ParamsContext } from '@vtex/api';
import type { PaymentProviderState } from '.';
import type { AvailablePaymentsResponse, AuthorizationRequest, AuthorizationResponse, CancellationRequest, CancellationResponse, RefundRequest, RefundResponse, SettlementRequest, SettlementResponse, ProviderManifestResponse, InboundResponse, InboundRequest } 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>);
callback(request: AuthorizationRequest | string, data: AuthorizationResponse): Promise<unknown>;
paymentMethods(): AvailablePaymentsResponse;
abstract manifest(): ProviderManifestResponse;
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;