Add Paddle webhook ingestion foundation

This commit is contained in:
diyaa
2026-07-11 08:40:31 +02:00
parent db83d3612d
commit 6498b3b38b
8 changed files with 477 additions and 2 deletions
@@ -0,0 +1,23 @@
-- CreateEnum
CREATE TYPE "BillingWebhookStatus" AS ENUM ('RECEIVED', 'DUPLICATE', 'FAILED');
-- CreateTable
CREATE TABLE "billing_webhook_events" (
"id" UUID NOT NULL,
"provider" "BillingProvider" NOT NULL,
"provider_event_id" TEXT NOT NULL,
"event_type" TEXT NOT NULL,
"payload" JSONB NOT NULL,
"received_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"processed_at" TIMESTAMP(3),
"status" "BillingWebhookStatus" NOT NULL,
"error_message" TEXT,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "billing_webhook_events_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "billing_webhook_events_provider_provider_event_id_key"
ON "billing_webhook_events"("provider", "provider_event_id");