Release Radar

Fixing Paddle Payments After Our Domain Split

August 13, 2026

·

3 min read

·
Fixing Paddle Payments After Our Domain Split

We have an important operational update for our users: checkout and payment processing through Paddle is fully restored.

If you recently tried to upgrade your plan or purchase extra resource capacity on Crystade and ran into a payment error, we apologize for the friction. Below is a quick breakdown of what caused the issue, how we worked with the Paddle team to resolve it, and what it means for your account today.

The Cause: Separating the Web Application Domain

To improve platform performance, modularity, and security, we recently separated our frontend architecture into two dedicated domains:

  • crystade.com: Hosts our primary website, marketing pages, and technical documentation.

  • app.crystade.com: Hosts the core SaaS application platform, dashboard, and monitoring engine.

Because Paddle acts as our Merchant of Record (MoR)—handling global tax collection, compliance, and invoicing—it enforces domain origin checks during checkout initialization. Our Paddle account was originally registered for crystade.com. When users tried to initiate payments or manage subscriptions from app.crystade.com, Paddle’s security checks flagged the domain mismatch, preventing checkout overlays from launching.

Edge Blockers with Cloudflare Workers

Resolving this was not as simple as updating an origin URL in an administrative dashboard. We host our frontend using Cloudflare Workers to deliver fast, edge-rendered pages to our global audience.

During the re-verification process, this serverless edge setup introduced a few technical hurdles:

  • Origin Header Modifications: Edge routing rules on Cloudflare Workers inadvertently modified host and referer headers required by Paddle’s security verification.

  • Domain Verification Failures: Automated domain checks failed when probing the worker routes due to how edge fetches were configured.

These blockers required custom routing adjustments to ensure request headers remained intact before Paddle could re-verify our domain application.

Resolution and Approval

We worked closely with the Paddle support engineering team to trace the edge requests and resolve the configuration blockers.

  1. Header Realignment: We updated our Cloudflare Worker configuration to preserve pristine origin headers on all outbound billing API calls.

  2. Domain Review: The Paddle support team reviewed our architecture update and approved app.crystade.com as an authorized domain.

  3. End-to-End Verification: We completed test transactions across plan changes, addon updates, and webhook callbacks to confirm synchronization.

We extend a huge thank you to the Paddle support team for their quick response times, hands-on guidance, and swift review of our case. Their support was instrumental in minimizing downtime for our billing workflows.

What This Means for You

All billing capabilities on app.crystade.com are fully operational. Billing admins can now execute all self-service actions without error:

Feature

Status

Description

Plan Upgrades & Downgrades

Operational

Switch between Free, Starter, and Standard plans seamlessly.

Addon Purchases

Operational

Add extra capacity (such as Cron Job slots) on demand.

Hosted Billing Portal

Operational

Update payment methods, edit tax IDs, and download invoices.

Webhook Provisioning

Operational

Automated, real-time granting of entitlements upon payment.

Share this post