diff --git a/packages/polar-betterauth/src/endpoints/webhooks.ts b/packages/polar-betterauth/src/endpoints/webhooks.ts index 2638c6f..eb6e169 100644 --- a/packages/polar-betterauth/src/endpoints/webhooks.ts +++ b/packages/polar-betterauth/src/endpoints/webhooks.ts @@ -28,6 +28,8 @@ export const webhooks = (options: PolarOptions) => onCheckoutCreated, onCheckoutUpdated, onOrderCreated, + onOrderPaid, + onOrderUpdated, onOrderRefunded, onRefundCreated, onRefundUpdated, @@ -106,6 +108,16 @@ export const webhooks = (options: PolarOptions) => onOrderCreated(event); } break; + case "order.paid": + if (onOrderPaid) { + onOrderPaid(event); + } + break; + case "order.updated": + if (onOrderUpdated) { + onOrderUpdated(event); + } + break; case "subscription.created": if (onSubscriptionCreated) { onSubscriptionCreated(event); diff --git a/packages/polar-betterauth/src/types.ts b/packages/polar-betterauth/src/types.ts index 74d1f90..cd2549d 100644 --- a/packages/polar-betterauth/src/types.ts +++ b/packages/polar-betterauth/src/types.ts @@ -11,7 +11,9 @@ import type { WebhookCustomerDeletedPayload } from "@polar-sh/sdk/models/compone import type { WebhookCustomerStateChangedPayload } from "@polar-sh/sdk/models/components/webhookcustomerstatechangedpayload.js"; import type { WebhookCustomerUpdatedPayload } from "@polar-sh/sdk/models/components/webhookcustomerupdatedpayload.js"; import type { WebhookOrderCreatedPayload } from "@polar-sh/sdk/models/components/webhookordercreatedpayload.js"; +import type { WebhookOrderPaidPayload } from "@polar-sh/sdk/models/components/webhookorderpaidpayload.js"; import type { WebhookOrderRefundedPayload } from "@polar-sh/sdk/models/components/webhookorderrefundedpayload.js"; +import type { WebhookOrderUpdatedPayload } from "@polar-sh/sdk/models/components/webhookorderupdatedpayload.js"; import type { WebhookOrganizationUpdatedPayload } from "@polar-sh/sdk/models/components/webhookorganizationupdatedpayload.js"; import type { WebhookProductCreatedPayload } from "@polar-sh/sdk/models/components/webhookproductcreatedpayload.js"; import type { WebhookProductUpdatedPayload } from "@polar-sh/sdk/models/components/webhookproductupdatedpayload.js"; @@ -110,6 +112,14 @@ export interface PolarOptions { * Webhook for order created */ onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise; + /** + * Webhook for order paid + */ + onOrderPaid?: (payload: WebhookOrderPaidPayload) => Promise; + /** + * Webhook for order updated + */ + onOrderUpdated?: (payload: WebhookOrderUpdatedPayload) => Promise; /** * Webhook for order refunded */