---
title: "Authorize payment or setup intent"
method: POST
path: "/api/v2/organizations/{orgSlug}/payment-gateways/authorize"
tags: ["Payment Gateways"]
---

# Authorize payment or setup intent

`POST /api/v2/organizations/{orgSlug}/payment-gateways/authorize`

Authorize a payment intent or setup intent (e.g. Stripe payment intent or Stripe setup intent). Returns clientSecret and optional paymentIntent or setupIntent. 

 Required scopes: `flex.billing.paymentGateways.authorize`

## Path parameters

- `orgSlug` string, required

## Request body

- AuthorizePaymentDto
  - `locations` string[], required — Location IDs for which the payment/authorization is being made.
  - `type` 'stripe', required — The payment provider type. Currently only Stripe is supported.
  - `paymentConfiguration` 'recurring-payments' | 'one-time-payments', required — The payment configuration (recurring-payments or one-time-payments).
  - `payment` AuthorizePaymentPaymentDto
    - `currency` string, required — ISO 4217 currency code (e.g. eur, usd). Expects lowercase.
    - `amount` number, required — Amount in the smallest currency unit (e.g. cents). Expects a positive integer (e.g. 10.00 EUR = 1000).
    - `savePaymentDetails` boolean, required — Whether to save payment details for future use (e.g. for recurring charges).

## Response `201`

- AuthorizePaymentResponseDto
  - `clientSecret` string, required — The client secret of this intent. Used for client-side retrieval using a publishable key.
  - `paymentIntent` string — Stripe Payment Intent ID when authorizing a payment intent.
  - `setupIntent` string — Stripe Setup Intent ID when authorizing a setup intent.

---

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