@coursebuilder/core
Version:
Core package for Course Builder
41 lines (38 loc) • 1.49 kB
text/typescript
import Stripe from 'stripe';
import { CheckoutSessionMetadata } from '../../schemas/stripe/checkout-session-metadata.cjs';
import 'zod';
declare function parseSubscriptionInfoFromCheckoutSession(checkoutSession: Stripe.Checkout.Session): Promise<{
status: string;
product: Stripe.Product;
email: string | null;
quantity: number;
customerIdentifier: string;
productIdentifier: string;
subscriptionIdentifier: string;
priceIdentifier: string;
currentPeriodStart: Date;
currentPeriodEnd: Date;
name?: string | null | undefined;
metadata?: {
productId: string;
product: string;
country: string;
bulk: "true" | "false";
ip_address: string;
siteName: string;
organizationId?: string | undefined;
userId?: string | undefined;
upgradeFromPurchaseId?: string | undefined;
appliedPPPStripeCouponId?: string | undefined;
upgradedFromPurchaseId?: string | undefined;
usedCouponId?: string | undefined;
} | undefined;
}>;
interface SubscriptionPermissions {
organizationId: string;
purchasingMemberId: string;
isMultiUser: boolean;
assignToMember?: string;
}
declare function determineSubscriptionPermissions(metadata: CheckoutSessionMetadata, organizationId: string, purchasingMemberId: string): SubscriptionPermissions;
export { type SubscriptionPermissions, determineSubscriptionPermissions, parseSubscriptionInfoFromCheckoutSession };