UNPKG

stripe-donation-widget

Version:

A complete, reusable donation system for React/Next.js applications with Stripe integration, real-time MRR tracking, and beautiful UI components.

53 lines 1.8 kB
import type { CheckoutSessionData, SubscriptionSummary, WebhookHandlerOptions } from '../types'; export declare class DonationStripeManager { private stripe; constructor(secretKey: string); /** * Ensure donation products exist in Stripe, create them if they don't */ ensureProductsExist(projectSlug: string, projectName: string): Promise<{ monthlyPriceId: string; annualPriceId: string; }>; /** * Get or create a price for a product */ private getOrCreatePrice; /** * Create a checkout session for donations */ createCheckoutSession(sessionData: CheckoutSessionData): Promise<{ sessionId: string; url: string; }>; /** * Handle Stripe webhooks */ handleWebhook(payload: string | Buffer, signature: string, webhookSecret: string, options: Omit<WebhookHandlerOptions, 'stripeSecretKey' | 'webhookSecret'>): Promise<{ received: boolean; }>; /** * Get subscription statistics for a project (legacy method) */ getSubscriptionStats(projectSlug: string): Promise<{ monthlySubscribers: number; annualSubscribers: number; totalRevenue: number; }>; /** * Get detailed subscription summary with MRR calculations */ getSubscriptionSummary(projectSlug: string): Promise<SubscriptionSummary>; } /** * Convenience function to create a checkout session */ export declare function createCheckoutSession(stripeSecretKey: string, sessionData: CheckoutSessionData): Promise<{ sessionId: string; url: string; }>; /** * Convenience function to handle webhooks */ export declare function handleDonationWebhook(request: Request, options: WebhookHandlerOptions): Promise<Response>; //# sourceMappingURL=stripe.d.ts.map