Developer Portal
DeveloperProfile, AppSubmission, and DeveloperPayout — the three entities powering the developer-side of the SCRIPE Marketplace.
The developer portal covers everything from registering a developer account to publishing apps and receiving revenue-sharing payouts. Three entities work together: DeveloperProfile (identity and payment details), AppSubmission (version review pipeline), and DeveloperPayout (settlement records).
DeveloperProfile Entity
Represents a developer (tenant) registered to publish apps on the marketplace. Each tenant can have at most one developer profile. Admin verification is required before the developer can publish paid apps.
| Field | Type | Description |
|---|---|---|
| Id | Guid | Primary key |
| TenantId | Guid | The tenant that owns this developer profile |
| DeveloperName | string | Public display name of the developer / organization |
| Website | string | Developer's website URL for branding and verification |
| SupportEmail | string | Email address for support inquiries from app users |
| Bio | string | Developer biography / description shown on the developer page |
| IsVerified | bool | Whether the developer has been verified by platform admins |
| StripeConnectAccountId | string | Stripe Connect account ID for receiving marketplace payouts |
AppSubmission Entity
Represents a version submission of an app listing for marketplace review. Each submission goes through a lifecycle: Submitted → InAutomatedScan → InManualReview → Approved/Rejected. Only approved submissions result in the listing being published.
| Field | Type | Description |
|---|---|---|
| Id | Guid | Primary key |
| AppListingId | Guid | FK to the app listing this submission belongs to |
| PluginVersionId | Guid | FK to the specific plugin version being submitted for review |
| Status | SubmissionStatus | Current status in the review pipeline (Submitted, InAutomatedScan, InManualReview, Approved, Rejected) |
| SubmittedAt | DateTime | UTC timestamp when the developer submitted this version for review |
| ReviewedAt | DateTime? | UTC timestamp when an admin completed the review (null if still pending) |
DeveloperPayout Entity
Records a revenue-sharing payout to a developer for a specific period. Payouts are calculated from purchase commissions and transferred to the developer's Stripe Connect account.
| Field | Type | Description |
|---|---|---|
| Id | Guid | Primary key |
| DeveloperProfileId | Guid | FK to the developer receiving this payout |
| Amount | decimal | Total payout amount after platform commission deduction |
| Currency | string | ISO 4217 currency code (e.g. "USD") |
| PeriodStart | DateTime | Start date of the payout period (inclusive) |
| PeriodEnd | DateTime | End date of the payout period (inclusive) |
| Status | PayoutStatus | Current payout status (Pending, Processing, Paid, Failed) |
| StripeTransferId | string | Stripe Transfer ID for reconciliation (empty until transfer is initiated) |
Developer Onboarding Flow
The end-to-end onboarding flow from profile creation to receiving first payout.