assembly-payments
Version:
Assembly Payments API Typescript/Javascript Bindings
65 lines (64 loc) • 2.06 kB
TypeScript
/**
* @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;