Public checkout relay

A clean handoff from intent to checkout.

Pass an amount and session ID. Get a platform-hosted checkout handoff. Receive a verified payment event when the platform confirms completion.

No authentication. No accounts. No dashboard required for this MVP.

Session lifecycle
  1. 01

    Accept

    Validate a USD amount and your correlation ID.

  2. 02

    Handoff

    Return the MadeThis hosted checkout URL.

  3. 03

    Verify

    Persist the signed completion event as paid.

One public endpoint

`POST /api/checkout`

Send JSON with `amount` and `sessionId`. The optional `successUrl` and `cancelUrl` are accepted only for `*.madethis.app` destinations.

A query-param `GET /api/checkout` compatibility path accepts the same fields. Use POST for production integrations.

API example
curl -X POST https://sessionpay.madethis.app/api/checkout \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "25.00",
    "sessionId": "invoice_1042"
  }'
API example
{
  "requestId": "spreq_…",
  "sessionId": "invoice_1042",
  "amount": "25.00",
  "status": "checkout_ready",
  "checkoutUrl": "https://madethis.com/checkout/sessionpay/md…"
}

Strict by default

Useful errors before a customer reaches checkout.

Amounts must be positive USD values with at most two decimals.

Session IDs are required, URL-safe, and capped at 160 characters.

Return URLs must be HTTPS on a `*.madethis.app` host.

Requests are rate-limited and logs retain only safe correlation metadata.

Hosted checkout only

Payments stay on MadeThis's platform-hosted checkout.

SessionPay never collects card details. This MVP supports a configured fixed-price demo handoff; arbitrary-price sessions require a platform capability that is not currently present in this storefront.