> ## Documentation Index
> Fetch the complete documentation index at: https://yn-c9bb3266.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Authorize Payment

> Hold funds on a card without charging, then capture or cancel within the authorization window.

Authorizing a card payment is **not a separate endpoint**. It's [Create Payment](/api-reference/payments/create) with `payment_method.detail.card.capture` set to `false`. Funds are held on the cardholder's account and released to you only when you [Capture](/api-reference/payments/capture) the transaction. If you don't capture before the authorization expires, or you call [Cancel](/api-reference/payments/cancel), the hold is released back to the cardholder.

## When to use authorize-only

* You need to verify funds and customer eligibility before shipping, fulfilling, or producing a digital good.
* Final amount is not known at checkout (hotels, car rentals, marketplaces, delivery with tip).
* You want to split capture across multiple shipments from a single authorization.

## The request

Send a normal Create Payment request with `payment_method.detail.card.capture: false`:

```bash theme={"theme":{"light":"github-dark","dark":"github-dark"}}
curl --request POST \
  --url https://api-sandbox.y.uno/v1/payments \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'public-api-key: YOUR_PUBLIC_API_KEY' \
  --header 'private-secret-key: YOUR_PRIVATE_SECRET_KEY' \
  --data '{
  "account_id": "<account_id>",
  "merchant_order_id": "auth-20260419-001",
  "merchant_reference": "auth-ref-001",
  "description": "Pre-authorization for order #12345",
  "country": "US",
  "amount": { "currency": "USD", "value": 100.00 },
  "workflow": "DIRECT",
  "customer_payer": {
    "first_name": "Dee",
    "last_name": "Hock",
    "email": "john.doe@example.com"
  },
  "payment_method": {
    "type": "CARD",
    "vaulted_token": "<vaulted_token>",
    "detail": {
      "card": {
        "capture": false,
        "installments": 1
      }
    }
  }
}'
```

## The response

On success, Yuno returns the full [Payment object](/api-reference/payments/object) with `status: PENDING` and `sub_status: AUTHORIZED`, and a transaction of `type: AUTHORIZE`. The card is not charged at this point. Funds are held.

```json theme={"theme":{"light":"github-dark","dark":"github-dark"}}
{
  "code": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "status": "PENDING",
  "sub_status": "AUTHORIZED",
  "amount": { "currency": "USD", "value": "100.00", "captured": "0", "refunded": "0" },
  "transactions": {
    "type": "AUTHORIZE",
    "status": "SUCCEEDED",
    "response_code": "SUCCEEDED"
  }
}
```

## Next steps

<CardGroup cols={2}>
  <Card title="Capture" icon="circle-check" href="/api-reference/payments/capture">
    Settle the authorization. Supports partial capture up to the authorized amount.
  </Card>

  <Card title="Cancel" icon="circle-xmark" href="/api-reference/payments/cancel">
    Release the hold before capture.
  </Card>
</CardGroup>

<Note>
  Authorization windows are issuer- and scheme-dependent, typically 7 days for most card brands. Uncaptured authorizations expire automatically. Plan capture/cancel calls well inside that window.
</Note>

<Warning>
  Only card-family methods (`CARD`, `APPLE_PAY`, `GOOGLE_PAY`) support authorize-only. Bank transfers, vouchers, BNPL, and wallets settle immediately. `capture: false` is ignored for those methods.
</Warning>
