Help Center / Payments (Administrators)

Configure Stripe and PayPal without accidentally opening sales.

Upgrade the database, store encrypted credentials, register webhooks, test in sandbox and understand all three checkout locks.

Applies toWebsite administrators onlyTypical time20–45 minutesGuide formatPrepare → Click → Verify → Recover
Pre-release rule: leave Global Checkout off and every product Coming Soon. Saving gateway credentials does not require opening sales.

1. Upgrade an existing installation

Website path: Sign in as Admin → open /upgrade.php

  1. Create a current hosting/database backup.
  2. Upload the complete updated website over the existing files, preserving config.local.php and uploaded release packages.
  3. Visit https://your-domain.example/upgrade.php.
  4. Select Create missing tables and defaults.
  5. Open Admin → Payments. Confirm all products say Coming Soon and Global Checkout is locked.

2. Configure Stripe in test mode

Website path: Admin → Payments → Stripe Checkout

  1. In Stripe, switch to test mode and copy the test publishable and secret keys.
  2. Paste the publishable key and secret key into the Stripe card.
  3. In Stripe Developers → Webhooks, add the webhook URL displayed by Domain Command Post.
  4. Subscribe at minimum to checkout.session.completed.
  5. Copy the webhook signing secret beginning whsec_ into the website.
  6. Enable Stripe only for testing. Keep Global Checkout off.
  7. Select Save encrypted payment settings. The page should later say the secret is saved without displaying it.

3. Configure PayPal Sandbox

Website path: Admin → Payments → PayPal

  1. In the PayPal Developer Dashboard, create or choose a Sandbox REST app.
  2. Copy its Client ID and Client Secret.
  3. Leave Mode set to Sandbox (testing) and paste both values.
  4. Add the displayed PayPal webhook URL to that sandbox app.
  5. Subscribe to checkout/order and payment capture completion events.
  6. Copy the resulting Webhook ID into Domain Command Post.
  7. Enable PayPal only for testing and save. Keep Global Checkout off.

Understand the three locks

LockWhereRequired for a sale
Global checkoutTop of Admin → PaymentsMust be enabled deliberately.
GatewayStripe or PayPal cardThe selected provider must be enabled and fully configured.
ProductCatalog status and priceThe individual product must be Available with a valid price.

If any lock is closed, checkout rejects the order server-side. Hiding a button is not the security boundary.

Test before live mode

  1. Use sandbox/test credentials only.
  2. On a temporary non-production copy, mark one ordinary paid edition Available and enter a test price.
  3. Enable one test gateway and Global Checkout.
  4. Use a verified customer account to complete the provider’s test checkout.
  5. Confirm Admin → Payments shows the order and its status changes to Paid after the verified return/webhook.
  6. Cancel another test and confirm it records Cancelled without issuing access.
  7. Return the product to Coming Soon and turn Global Checkout off.

Move to live only after release approval

  1. Finalize price, refund policy, taxes, fulfillment, installers and support process.
  2. Replace test credentials with live credentials and create live webhook endpoints.
  3. Run a small authorized live transaction and refund test.
  4. Approve products individually. Monitor-Only, Custom, and Developer are intentionally excluded from ordinary public checkout.
  5. Enable Global Checkout last.
Secret handling: secret keys are encrypted at rest. Leaving a secret field blank keeps the saved value. Use the explicit Clear checkbox to remove it. Never send secrets in support tickets.

Still stuck?

Write down the edition, program version, the exact path you opened, the last successful step and the full visible error. Do not send product keys, passwords or provider secrets.

Contact support with those detailsBack to Help Center