Documentation
Integrations And Commerce
Technical reference for Postmark, Stripe, Stripe Connect, Search Console, IndexNow, GeoIP, provider inheritance, and commerce readiness.
INTEGRATIONS_AND_COMMERCE.mdDesertCMS keeps provider configuration in the master/operator layer by default. Contributor sites inherit platform services unless a plan explicitly allows a controlled override.
Postmark
Postmark settings include:
postmark_sender_mode =
postmark_from_email =
postmark_server_token =
postmark_webhook_token =
Default contributor behavior is platform-managed email delivery.
A service plan can allow a custom sender signature through allow_postmark_sender_override. When enabled, the contributor site can use its own approved sender identity while platform support still owns delivery readiness.
Keep raw provider tokens out of contributor-facing screens.
Forms can send Postmark notifications for public contact, quote, application, intake, and RSVP submissions. The Forms module uses forms_notification_email first and falls back to the contributor request recipient when a dedicated Forms recipient is not configured. Uploaded files are not attached to the email; the notification links staff back to the authenticated Forms inbox where private uploads can be downloaded.
Stripe Service Billing
Service billing is the hosted-site subscription or plan payment.
Service plan fields include:
monthly_price_centscurrencystripe_price_idstripe_checkout_session_idstripe_customer_idstripe_subscription_idbilling_statusbilling_current_period_end
The master platform account owns service billing.
Stripe Site Payments
Site payments are visitor purchases on a contributor or master site.
For direct sales, the CMS uses Stripe Checkout with a configured secret key and webhook secret.
For contributor marketplace sales, the desired model is:
- Checkout uses the master Stripe account.
- The contributor connects a Stripe payout account.
- Proceeds transfer to the contributor connected account.
- The platform keeps the configured fee.
Relevant fields include:
allow_stripe_connectstripe_connect_account_idstripe_connect_onboarding_statusstripe_connect_charges_enabledstripe_connect_payouts_enabledstripe_platform_fee_bps
Commerce Modes
DesertCMS::Commerce supports:
| Mode | Checkout |
|---|---|
disabled | No checkout. |
master_owned | Direct Stripe Checkout for the master instance. |
contributor_owned | Direct Stripe Checkout for a contributor instance. |
platform_marketplace | Master Stripe account with contributor connected account and platform fee. |
marketplace_pending | Planning state, not ready for live checkout. |
Readiness checks look at module state, selected model, Stripe key, webhook secret, Connect account, and whether the contributor plan allows Connect.
Shop Module
The Shop module adds:
- Public
/shopstorefront. - Catalog records tied to media assets.
- Personal, commercial, and full-rights prices.
- Stripe Checkout session creation.
- Stripe webhook fulfillment.
- Order records.
Private source files remain private. Public shop cards use optimized image derivatives.
Full-rights fulfillment can remove an item from sale after purchase.
Search Console
Search Console settings include:
google_oauth_client_id =
google_oauth_client_secret =
google_search_console_property =
Contributor sites inherit indexing defaults unless the plan allows indexing override.
IndexNow
IndexNow settings include:
indexnow_enabled = 0
indexnow_key =
Use IndexNow for sitemap or URL submission only when configured and allowed.
GeoIP
GeoIP is local analytics enrichment.
Supported maintenance commands include:
desertcms-maint.pl geoip-import /var/desertcms/geoip.tsv
desertcms-maint.pl geoip-backfill
desertcms-maint.pl geoip-refresh-dbip-lite
Analytics can store raw IP values based on settings. DB-IP Lite attribution is shown when that source is imported.
Provider Readiness
Provider readiness should be operator-facing.
Check:
- Postmark token and sender.
- Stripe key and webhook.
- Search Console configuration.
- IndexNow key.
- OpenBSD TLS and HTTP readiness.
- Local assets.
- Worker state.
Contributor-facing screens should summarize inherited status and plan-controlled options without exposing platform internals.