# Recipes

> End-to-end Moov API recipes: accept a card payment, pay out to a bank account, fund a wallet, handle webhooks, and refund or cancel payments.

> AI agents: search and read all Moov docs with the docs MCP server at https://docs.moov.io/mcp (no API key). Setup: https://docs.moov.io/guides/developer-tools/mcp-ai/docs-mcp/index.md

Recipes chain the individual Moov guides into one complete flow, from creating an account to watching the money land.

Each recipe is a sequence of API calls you can run in [test mode](/guides/get-started/api-authentication/test-mode/index.md) with your own API keys. Every step shows one request with the current API version (`X-Moov-Version: v2026.07.00`) and links to the guide that covers that step in depth. If you haven't made an API call yet, start with the [quick start](/guides/get-started/quick-start/index.md) and the [glossary](/guides/developer-tools/glossary/index.md), which explains accounts, sources, payment methods, and transfers.

- [Accept a card payment](/guides/get-started/recipes/accept-card-payment/index.md): Onboard a merchant, link a customer's card, charge it, and track the payment with webhooks.
- [Pay out to a bank account](/guides/get-started/recipes/bank-payout/index.md): Link and verify a recipient's bank account, then pay out with ACH or instant payments (RTP or FedNow).
- [Fund and spend from a wallet](/guides/get-started/recipes/wallet-funding/index.md): Check a wallet balance, fund it with an ACH debit, pay out from it, and automate settlement with sweeps.
- [Handle webhooks end to end](/guides/get-started/recipes/webhooks/index.md): Register an endpoint, verify signatures, process events once, and react to transfer status changes.
- [Refund, reverse, or cancel a payment](/guides/get-started/recipes/refunds-cancellations/index.md): Choose between a cancellation, refund, or reversal for card and ACH payments, and track the outcome.

## Before you start

All recipes assume you have:

- A Moov account in test mode. [Sign up](/guides/get-started/quick-start/index.md) if you don't have one.
- An [API key](/guides/get-started/api-authentication/api-keys/index.md) and a way to authenticate. Follow [authenticate API requests](/guides/get-started/api-authentication/authentication/index.md) to get an access token (or use Basic authentication from your server, which doesn't need scopes). Every recipe request sends these headers:
  
  ```zsh
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
  ```
  
  If you use a token, also send the `Origin` header you used to request it, and make sure the token has the scope listed on each endpoint's API reference page. Account-specific scopes need the account ID, so request a new token after you create an account.
- Your partner account ID. In the Dashboard, open **Settings**; the ID appears below your account name and logo. Transfers are created under the partner account, so `POST /accounts/{accountID}/transfers` uses your partner account ID.
- A webhook endpoint, or a plan to poll. Recipes point out which [webhook events](/guides/webhooks/webhook-events/index.md) to listen for at each stage.

