culqi-node
Version:
Typescript wrapper for Culqi web services developed for Node.js with 0 runtime dependencies
76 lines (75 loc) • 2.31 kB
TypeScript
import { HttpRequestOptions } from './request';
import { Charge } from './charges';
import { Plan } from './plans';
import { Card } from './cards';
export type Subscription = {
object: string;
id: string;
creation_date: number;
status: string;
current_period: number;
total_period: number;
current_period_start: number;
current_period_end: number;
cancel_at_period_end: boolean;
cancel_at: number;
ended_at: number;
next_billing_date: number;
trial_start: number;
trial_end: number;
charges: Charge[];
plan: Plan;
card: Card;
metadata: Record<string, string>;
};
export type CreateSubscriptionRequest = {
card_id: string;
plan_id: string;
};
export type GetSubscriptionRequest = {
id: string;
};
export type GetSubscriptionsRequest = {
amount?: string;
min_amount?: string;
max_amount?: string;
date?: string;
date_from?: string;
date_to?: string;
interval?: string;
status?: string;
limit?: string;
before?: string;
after?: string;
};
export type GetSubscriptionsResponse = {
data: Subscription[];
paging: {
previous: string;
next: string;
cursors: {
before: string;
after: string;
};
remaining_items: number;
};
};
export type UpdateSubscriptionRequest = {
id: string;
metadata?: Record<string, string>;
};
export type DeleteSubscriptionRequest = {
id: string;
};
export type DeleteSubscriptionResponse = {
id: string;
deleted: boolean;
merchant_message: string;
};
export declare const subscriptions: {
createSubscription: (req: CreateSubscriptionRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Subscription>;
getSubscription: (req: GetSubscriptionRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Subscription>;
getSubscriptions: (req?: GetSubscriptionsRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<GetSubscriptionsResponse>;
updateSubscription: (req: UpdateSubscriptionRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Subscription>;
deleteSubscription: (req: DeleteSubscriptionRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<DeleteSubscriptionResponse>;
};