classy-pay-core
Version:
Shared tools used in ClassyPay-related projects
33 lines (32 loc) • 1.48 kB
TypeScript
import * as Logger from 'bunyan';
export interface AppSpecificPayClient {
list: (resource: string) => Promise<Array<object>>;
get: (resource: string, params?: object) => Promise<string | object>;
post: (resource: string, object: object, params?: object) => Promise<string | object>;
put: (resource: string, object: object, params?: object) => Promise<string | object>;
del: (resource: string, params?: object) => Promise<string | object>;
}
export declare class PayClient {
private readonly apiUrl;
private readonly config;
private readonly sign;
private readonly log?;
private readonly version?;
constructor(apiUrl: string, token: string, secret: string, config?: {
timeout?: number;
log?: Logger;
version?: string;
});
private getHeaders;
private getOptions;
private request;
private forObject;
private forList;
list(appId: string, resource: string): Promise<Array<object>>;
get(appId: string, resource: string, params?: object): Promise<string | object>;
post(appId: string, resource: string, object: object, params?: object, idempotencyKey?: string): Promise<string | object>;
put(appId: string, resource: string, object: object, params?: object, idempotencyKey?: string): Promise<string | object>;
del(appId: string, resource: string, params?: object): Promise<string | object>;
forAppId(appId: string): AppSpecificPayClient;
}
export default PayClient;