import { stripeTriggerDefinitions as triggerDefinitions } from "@automate.ax/catalog/triggers/stripe" import { createTrigger } from "../../../automation/create-trigger" import type { IntegrationAccountReference } from "../../../automation/integrations" /** Options shared by Stripe webhook triggers. */ export interface OnStripeEventOptions { /** Stripe account binding to watch. */ account?: string | IntegrationAccountReference<"stripe"> } /** Subscribes to every event delivered by the managed Stripe webhook. */ export const onStripeEvent = createTrigger(triggerDefinitions.stripeEvent) /** Subscribes when Stripe creates a customer. */ export const onStripeCustomerCreated = createTrigger( triggerDefinitions.stripeCustomerCreated, ) /** Subscribes when Stripe updates a customer. */ export const onStripeCustomerUpdated = createTrigger( triggerDefinitions.stripeCustomerUpdated, ) /** Subscribes when Stripe deletes a customer. */ export const onStripeCustomerDeleted = createTrigger( triggerDefinitions.stripeCustomerDeleted, ) /** Subscribes when Stripe creates a subscription. */ export const onStripeSubscriptionCreated = createTrigger( triggerDefinitions.stripeCustomerSubscriptionCreated, ) /** Subscribes when Stripe updates a subscription. */ export const onStripeSubscriptionUpdated = createTrigger( triggerDefinitions.stripeCustomerSubscriptionUpdated, ) /** Subscribes shortly before a Stripe subscription trial ends. */ export const onStripeSubscriptionTrialWillEnd = createTrigger( triggerDefinitions.stripeCustomerSubscriptionTrialWillEnd, ) /** Subscribes when Stripe deletes or cancels a subscription. */ export const onStripeSubscriptionDeleted = createTrigger( triggerDefinitions.stripeCustomerSubscriptionDeleted, ) /** Subscribes when a Stripe Checkout Session completes. */ export const onStripeCheckoutSessionCompleted = createTrigger( triggerDefinitions.stripeCheckoutSessionCompleted, ) /** Subscribes when a delayed Checkout Session payment fails. */ export const onStripeCheckoutSessionAsyncPaymentFailed = createTrigger( triggerDefinitions.stripeCheckoutSessionAsyncPaymentFailed, ) /** Subscribes when a delayed Checkout Session payment succeeds. */ export const onStripeCheckoutSessionAsyncPaymentSucceeded = createTrigger( triggerDefinitions.stripeCheckoutSessionAsyncPaymentSucceeded, ) /** Subscribes when a Stripe Checkout Session expires. */ export const onStripeCheckoutSessionExpired = createTrigger( triggerDefinitions.stripeCheckoutSessionExpired, ) /** Subscribes when Stripe finalizes an invoice. */ export const onStripeInvoiceFinalized = createTrigger( triggerDefinitions.stripeInvoiceFinalized, ) /** Subscribes when a Stripe invoice is paid. */ export const onStripeInvoicePaid = createTrigger( triggerDefinitions.stripeInvoicePaid, ) /** Subscribes when Stripe cannot collect an invoice payment. */ export const onStripeInvoicePaymentFailed = createTrigger( triggerDefinitions.stripeInvoicePaymentFailed, ) /** Subscribes when a Stripe invoice becomes overdue. */ export const onStripeInvoiceOverdue = createTrigger( triggerDefinitions.stripeInvoiceOverdue, ) /** Subscribes when a Stripe invoice is voided. */ export const onStripeInvoiceVoided = createTrigger( triggerDefinitions.stripeInvoiceVoided, ) /** Subscribes when a Stripe PaymentIntent succeeds. */ export const onStripePaymentIntentSucceeded = createTrigger( triggerDefinitions.stripePaymentIntentSucceeded, ) /** Subscribes when a Stripe PaymentIntent payment fails. */ export const onStripePaymentIntentPaymentFailed = createTrigger( triggerDefinitions.stripePaymentIntentPaymentFailed, ) /** Subscribes when a Stripe PaymentIntent is canceled. */ export const onStripePaymentIntentCanceled = createTrigger( triggerDefinitions.stripePaymentIntentCanceled, ) /** Subscribes when Stripe creates a dispute against a charge. */ export const onStripeChargeDisputeCreated = createTrigger( triggerDefinitions.stripeChargeDisputeCreated, ) /** Subscribes when Stripe closes a charge dispute. */ export const onStripeChargeDisputeClosed = createTrigger( triggerDefinitions.stripeChargeDisputeClosed, ) /** Subscribes when Stripe creates a refund. */ export const onStripeRefundCreated = createTrigger( triggerDefinitions.stripeRefundCreated, ) /** Subscribes when a Stripe refund fails. */ export const onStripeRefundFailed = createTrigger( triggerDefinitions.stripeRefundFailed, ) /** Subscribes when Stripe marks a payout paid. */ export const onStripePayoutPaid = createTrigger( triggerDefinitions.stripePayoutPaid, ) /** Subscribes when a Stripe payout fails. */ export const onStripePayoutFailed = createTrigger( triggerDefinitions.stripePayoutFailed, )