thawani-nodejs
Version:
Node.js library for Thawani Payment Gateway
45 lines (44 loc) • 1.38 kB
TypeScript
import { BaseResource } from './base';
export interface Product {
name: string;
unit_amount: number;
quantity: number;
}
export interface CheckoutSessionParams {
client_reference_id: string;
mode: 'payment' | 'subscription';
products?: Product[];
customer_id?: string;
success_url: string;
cancel_url: string;
save_card_on_success?: boolean;
expire_in_minutes?: number;
plan_id?: string;
metadata: Record<string, any>;
}
export interface CheckoutSession {
session_id: string;
client_reference_id: string;
customer_id?: string;
products: Product[];
total_amount: number;
currency: string;
success_url: string;
cancel_url: string;
payment_status: 'unpaid' | 'paid' | 'cancelled';
mode: 'payment' | 'subscription';
invoice: string;
metadata: Record<string, any>;
created_at: string;
expire_at: string;
}
export declare class Checkout extends BaseResource {
create(params: CheckoutSessionParams): Promise<CheckoutSession>;
retrieve(sessionId: string): Promise<CheckoutSession>;
retrieveByReference(clientReferenceId: string): Promise<CheckoutSession>;
retrieveByInvoice(invoiceId: string): Promise<CheckoutSession>;
list(limit?: number, skip?: number): Promise<CheckoutSession[]>;
cancel(sessionId: string): Promise<{
success: boolean;
}>;
}