@coursebuilder/core
Version:
Core package for Course Builder
77 lines (75 loc) • 1.92 kB
JavaScript
import {
z
} from "./chunk-JLNB6NRA.js";
// src/schemas/stripe/checkout-session-completed.ts
var addressSchema = z.object({
city: z.string().nullable(),
country: z.string().nullable(),
line1: z.string().nullable(),
line2: z.string().nullable(),
postal_code: z.string().nullable(),
state: z.string().nullable()
});
var customerDetailsSchema = z.object({
address: addressSchema,
email: z.string().nullable(),
name: z.string().nullable()
});
var baseDataObjectSchema = {
id: z.string(),
object: z.literal("checkout.session"),
amount_subtotal: z.number(),
amount_total: z.number(),
created: z.number(),
currency: z.string(),
custom_fields: z.array(z.unknown()),
customer: z.string(),
customer_details: customerDetailsSchema,
livemode: z.boolean(),
metadata: z.record(z.string()),
payment_method_collection: z.string(),
payment_status: z.string(),
phone_number_collection: z.object({
enabled: z.boolean()
}),
status: z.string(),
success_url: z.string(),
total_details: z.object({
amount_discount: z.number(),
amount_shipping: z.number(),
amount_tax: z.number()
})
};
var dataObjectSchema = z.discriminatedUnion("mode", [
z.object({
...baseDataObjectSchema,
mode: z.literal("payment"),
payment_intent: z.string(),
subscription: z.null()
}),
z.object({
...baseDataObjectSchema,
mode: z.literal("subscription"),
payment_intent: z.null(),
subscription: z.string()
}),
z.object({
...baseDataObjectSchema,
mode: z.literal("setup"),
payment_intent: z.null(),
subscription: z.null()
})
]);
var dataSchema = z.object({
object: dataObjectSchema
});
var checkoutSessionCompletedEvent = z.object({
id: z.string(),
created: z.number(),
data: dataSchema,
type: z.literal("checkout.session.completed")
});
export {
checkoutSessionCompletedEvent
};
//# sourceMappingURL=chunk-GTLQQGKR.js.map