> For the complete index of the 402pay docs, see [llms.txt](https://developer.402pay.co/llms.txt).

# Overview

What you can build with the 402pay API, and where to start.

The 402pay API is a REST API. It takes and returns JSON, uses standard HTTP status codes, and authenticates with a secret key. Your server creates payments, customers pay on a hosted checkout, and every confirmed payment lands in a wallet only your business controls, so there's nothing to withdraw.

- [Payments](https://developer.402pay.co/guides/accept-a-payment.md): Create a payment for an exact amount and send the customer to its checkout.
- [Hosted checkout](https://developer.402pay.co/guides/hosted-checkout.md): Cards, Apple Pay, Google Pay and five coins on five networks, on one page.
- [Webhooks](https://developer.402pay.co/guides/webhooks.md): A signed event for every change, retried until your server answers.
- [Wallet](https://developer.402pay.co/guides/settlement.md): Balances and transactions for the self-custody wallet every payment lands in.

## Choose your integration

Every option lands payments in your wallet the same way. They differ in how much you build.

No code

### Payment link

Create a link in the dashboard and share it anywhere: your site, an invoice, a chat or a QR code.

[Payment links](https://developer.402pay.co/guides/payment-links.md)

- **Code needed**: None
- **Time**: Minutes
- **Customization**: The link's name, price and currency, plus your checkout settings
- **Best for**: One price for many customers, such as a product, a donation or a fixed invoice

Recommended

### Your server and hosted checkout

Your server creates a payment for each order and sends the customer to its checkout. A webhook says when it's paid.

[Accept a payment](https://developer.402pay.co/guides/accept-a-payment.md)

- **Code needed**: One API call and a webhook handler
- **Time**: An afternoon
- **Customization**: Amount, reference, metadata, redirects and expiry on every payment
- **Best for**: Stores and apps with their own orders

Most control

### Your own checkout

Your server still creates the payment, and your app shows the payment screens itself, on the public checkout endpoints.

[Build your own](https://developer.402pay.co/guides/hosted-checkout.md#custom-checkout)

- **Code needed**: The server calls, plus your own payment screens
- **Time**: A few days
- **Customization**: Every screen, in your app's own design
- **Best for**: Apps that keep customers on their own pages

## Popular tasks

- [Create a payment and send the customer to checkout](https://developer.402pay.co/guides/accept-a-payment.md)
- [Verify a webhook signature](https://developer.402pay.co/guides/webhooks.md#verify)
- [Find a payment by your order ID](https://developer.402pay.co/api/payments/list.md)
- [Rehearse underpaid and late transfers](https://developer.402pay.co/testing.md)
- [Ask for the rest of an underpaid payment](https://developer.402pay.co/guides/underpayments.md)
- [Limit what a secret key can do](https://developer.402pay.co/authentication.md)

## Base URL

Every path in these docs is relative to it.

Base URL: `https://dash.402pay.co/api/v1`

## Where to next

- [Quickstart](https://developer.402pay.co/quickstart.md): Take your first payment in five steps, from a new account to a fulfilled order.
- [Core concepts](https://developer.402pay.co/concepts.md): Payments, checkouts, links, customers, events and your wallet, and how they fit together.
- [Webhooks](https://developer.402pay.co/guides/webhooks.md): Signed events for every change, retried until your server answers.
- [Introduction](https://developer.402pay.co/api.md): The base URL, how requests and responses are shaped, and every endpoint.
