P
PayDock Docs

Hosted Checkout

Sell subscriptions via a public checkout page.

Overview

Hosted Checkout is a generic module that allows any PayDock user to create a public page where end-customers choose and pay for a subscription. Similar to Stripe Checkout or Zoho Billing.

Setup

  1. Create recurring product templates at Products > Recurring (e.g. 'Pro Monthly $19', 'Pro Yearly $120')
  2. Go to Settings > Hosted Checkout
  3. Activate the checkout
  4. Add the desired plans from your product templates
  5. Set labels, badges and highlight per plan
  6. Optional: set a redirect URL after payment
  7. Copy the checkout link and share on your website

Public checkout page

The checkout page is available at /checkout/{company-slug}. End-customers see the plans, fill in their details and pay via Adyen (iDEAL, credit card, etc.).

The checkout goes through 3 steps:

  1. Choose planSelect a subscription
  2. Enter detailsName, email, company name
  3. PayVia Adyen (iDEAL, credit card, etc.)

What happens after payment

  • A contact is created (or found by email)
  • A subscription is activated
  • The first invoice is generated and marked as paid
  • Recurring invoices are automatically generated

API integration (headless)

You can also call the checkout via the API for a fully headless integration. This is ideal if you want to build your own checkout page.

POST /api/checkout
X-API-Key: ftj_...

{
  "plan_product_id": "uuid-of-recurring-template",
  "contact_name": "Jane Doe",
  "contact_email": "jane@company.com",
  "company_name": "Acme BV"
}

→ {
  "success": true,
  "contact_id": "...",
  "subscription_id": "...",
  "invoice_id": "...",
  "payment_session": {
    "sessionId": "...",
    "clientKey": "...",
    "environment": "test"
  }
}

Examples

CompanyUse caseURL
PayDockSell own SaaS subscriptions/checkout/paydock
SpontSell Spont POS subscriptions/checkout/spont-labs
Any SaaSOffer own subscriptions/checkout/{slug}

Branding

The checkout page automatically shows your company logo and name. You can customize the primary color via the branding settings.