# Acme Payments (/docs)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 317 · updated: 2026-07-05 -->
Related: [Quickstart](/docs/quickstart.md), [Webhooks](/docs/webhooks.md)



The Acme Payments API lets you create charges, manage customers, and receive
webhooks from a single REST surface. Every endpoint lives under one base URL:

```txt
https://api.acme.dev/v1
```

## Core concepts [#core-concepts]

* **Charges** — a one-time payment against a card or wallet. Charges are
  immutable once captured; refunds create a linked `refund` object instead.
* **Customers** — reusable payment profiles. Attach a payment method once and
  charge it later without handling card data yourself.
* **Idempotency** — every `POST` accepts an `Idempotency-Key` header. Retries
  with the same key return the original result instead of double-charging.

## Authentication [#authentication]

Authenticate with a secret API key in the `Authorization` header:

```bash
curl https://api.acme.dev/v1/charges \
  -H "Authorization: Bearer sk_test_51AcmeDemoKey"
```

Keys prefixed `sk_test_` operate on test data only — no real money moves.
Keys prefixed `sk_live_` are production keys; never ship them to a browser.

<Cards>
  <Card title="Quickstart" href="/docs/quickstart" description="Create your first charge in under five minutes." />

  <Card title="Webhooks" href="/docs/webhooks" description="Verify signatures and react to payment events." />
</Cards>
