---
title: "POST /payment-intents"
method: POST
path: "/payment-intents"
tags: ["PaymentIntent"]
---

# POST /payment-intents

`POST /payment-intents`

## Request body

- StorePaymentIntentRequest — POST /api/v1/payment-intents — request validation. Scope enforcement (payments:write) handled upstream by EnforceApiScope. Tenant isolation: booking_id is decoded + looked up under BelongsToTenant, so a cross-tenant booking reference resolves to 404 in the controller. amount_minor is OPTIONAL — when omitted, the controller derives the amount from the booking total. Pass it explicitly only for partial-pay / deposit flows where the charged amount diverges from booking.total_price.
  - `booking_id` string, required
  - `amount_minor` integer, nullable
  - `currency` string, nullable

## Response `201`

- string

## Other responses

- `404`
- `422` — Validation error
- `502`

---

[API](https://skmtc.dev/boothzen/apis/boothzen-api-v1.md) · [All operations](https://skmtc.dev/boothzen/apis/boothzen-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/boothzen/boothzen-api-v1/revisions/a5ae040e3ba3/schema)
