# PlutoPay API > PlutoPay is a REST API for accepting card, ACH, terminal, and hosted-checkout payments. All amounts are integer minor units (cents). Auth is a Bearer secret key. Errors use one envelope: {"error":{"type","message","code?","param?"}}. ## Docs - [Introduction](https://docs.plutopayus.com/): overview and quickstart - [Authentication](https://docs.plutopayus.com/guides/authentication.html): API keys, Bearer auth, and test vs live mode. - [Choosing an integration](https://docs.plutopayus.com/guides/choosing-an-integration.html): Pick the right way to accept cards: links, hosted checkout, or Elements. - [Libraries & SDKs](https://docs.plutopayus.com/guides/libraries.html): Official Node, PHP, and Python SDKs — install commands and examples. - [Errors](https://docs.plutopayus.com/guides/errors.html): The canonical error envelope and HTTP status codes. - [Idempotency](https://docs.plutopayus.com/guides/idempotency.html): Safely retry requests with the Idempotency-Key header. - [Rate limits](https://docs.plutopayus.com/guides/rate-limits.html): Per-merchant limits and the X-RateLimit headers. - [Card payments](https://docs.plutopayus.com/guides/payments.html): Create, capture, cancel, and refund card payments. - [Hosted checkout & links](https://docs.plutopayus.com/guides/checkout.html): Checkout sessions and shareable payment links. - [ACH bank payments](https://docs.plutopayus.com/guides/ach.html): US bank debit via Financial Connections (async). - [Terminal (in-person)](https://docs.plutopayus.com/guides/terminal.html): Card-present payments on a physical reader. - [Webhooks](https://docs.plutopayus.com/guides/webhooks.html): Event catalog and signature verification (Node + PHP). - [Testing](https://docs.plutopayus.com/guides/testing.html): Test cards, the terminal simulator, and a full test loop. ## Reference - [OpenAPI spec](https://docs.plutopayus.com/openapi.yaml): machine-readable OpenAPI 3.1 for every endpoint - [API Reference](https://docs.plutopayus.com/reference/): interactive reference