---
title: "Create a server-side checkout (merchant-scoped)"
method: POST
path: "/v2/internal/checkouts"
---

# Create a server-side checkout (merchant-scoped)

`POST /v2/internal/checkouts`

## Request

- Base URL: `https://t3rnel-wavepay-production.t3ratech.workers.dev`
- URL: `https://t3rnel-wavepay-production.t3ratech.workers.dev/v2/internal/checkouts`
- Auth: API key in header `x-wavepay-service-key`

## Headers

- `idempotency-key` string, required

## Request body

- object
  - `productId` string, required
  - `planId` string, required
  - `provider` string, required
  - `email` string
  - `externalSubject` string
  - `amountMinor` integer
  - `currency` string

## Response `201`

{ reference, checkoutUrl, provider, amountMinor, currency, test }

## Other responses

- `403`: MERCHANT_SCOPE — product not bound to this merchant

---

[API](https://skmtc.dev/t3ratech/apis/wavepay-public-api.md) · [All operations](https://skmtc.dev/t3ratech/apis/wavepay-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/t3ratech/apis/wavepay-public-api/revisions/0510400e9fb8?raw)
