UNPKG

assembly-payments

Version:
65 lines (64 loc) 2.06 kB
/** * @title Assembly API * @version 2.0 * @baseUrl https://virtserver.swaggerhub.com/AssemblyPlatforms/assembly-api/2.0 * @contact <support@assemblypayments.com> (http://docs.assemblypayments.com/) * * Assembly (formely PromisePay) is a powerful payments engine custom-built for platforms and marketplaces. */ import { AxiosRequestConfig, AxiosInstance } from 'axios'; import bunyan from 'bunyan'; import { TokensResponse } from './types'; export declare type RequestParams = AxiosRequestConfig & { secure: boolean; }; export declare type ClientOptions = { baseURL?: string; authBaseURL?: string; clientId: string; clientSecret: string; retries?: number; timeout?: number; logger?: bunyan; scope: string; }; export interface ClientInterface { request<T = any, _E = any>(params: RequestParams): Promise<T>; } declare class AuthClient implements ClientInterface { instance: AxiosInstance; clientId: string; baseURL: string; clientSecret: string; scope: string; logger: bunyan; constructor({ baseURL, clientId, clientSecret, scope, logger, }: ClientOptions); request<Response = any, _Error = any>(params: RequestParams): Promise<Response>; } export declare const jitter: () => number; export declare class Client implements ClientInterface { instance: AxiosInstance; clientId: string; baseURL: string; clientSecret: string; authBaseURL: string; scope: string; retries: number; token?: TokensResponse; authClient: AuthClient; refreshedAt?: Date; expiresAt?: Date; refreshAt?: Date; logger: bunyan; constructor({ baseURL, authBaseURL, clientId, clientSecret, timeout, logger, retries, scope, }: ClientOptions); getHeaders(secure?: boolean): { 'User-Agent': string; } | { Authorization: string; 'User-Agent': string; }; refresh(): Promise<void>; conditionalRefresh(secure: boolean): Promise<void>; request<T = any, _E = any>(params: RequestParams): Promise<T>; } export default Client;