# Tipping

> Let customers add a tip at checkout with percentage or fixed-amount presets and free-form tips, configured through transfer configurations.

> 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

Let customers add a tip when they pay through a payment link. Set percentage or fixed-amount tip presets for the account, then turn on tipping for each payment link.

Tipping presets for payment links allow you to set multiple options to display to customers during the checkout process. Tipping presets can be a percentage of the total, or a dollar amount, such as 10%, 15%, and 20%, or $1.00, $1.50, and $2.00. When choosing preset percentages, you must choose whether the calculations are based on the pre-tax or post-tax amount.

## Set tip presets

Set presets with the create transfer configuration [endpoint](/api/money-movement/transfers/create-transfer-config/index.md). By default, tipping is disabled. Additionally, if choosing preset percentages, you must set whether the tip is calculated on the pre-tax or post-tax amount.

**Percentages preset**

```zsh
curl -X POST "https://api.moov.io/accounts/{accountID}/transfer-config" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00" \
  -d '{
    "tipPresets": {
      "calculationBasis": "pre-tax",
      "percentageOptions": [
        5,
        15,
        25
      ]
    }
}'
```

**Fixed amount preset**

```zsh
curl -X POST "https://api.moov.io/accounts/{accountID}/transfer-config" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00" \
  -d '{
    "tipPresets": {
      "currency": "USD",
      "fixedAmountOptions": [
        { 
          "currency": "USD", 
          "valueDecimal": "1.00" 
        },
        { 
          "currency": "USD", 
          "valueDecimal": "2.00" 
        },
        { 
          "currency": "USD", 
          "valueDecimal": "5.00" 
        }
      ]
    }
}'
```

If a tip amount is selected at checkout, it's added to the total amount to be charged. The breakdown of different charges will be on the receipt sent to the customer:

- Subtotal: $10.00
- Sales tax: $1.00
- Tip: $2.50
- Total: $13.50

Once tipping presets are configured, you can enable tipping within payment links. See the [payment links](/guides/accept-payments/payment-links/index.md) or [Dashboard](/guides/accept-payments/payment-links/index.md#create-a-payment-link-in-the-dashboard) guide for more information.

## Manage tipping presets

Retrieve the transfer configuration for an account.

```zsh
curl -X GET "https://api.moov.io/accounts/{accountID}/transfer-config" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
```

### Update tipping presets

You can update the following tipping preset options:

- Preset type (percentage or fixed amount)
- Preset options
- Calculation basis (pre-tax or post-tax)

```zsh
curl -X PUT "https://api.moov.io/accounts/{accountID}/transfer-config" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00" \
  -d '{
    "tipPresets": {
      "fixedAmountOptions": [
        { 
          "currency": "USD", 
          "valueDecimal": "5.00" 
        },
        { 
          "currency": "USD", 
          "valueDecimal": "10.00" 
        },
        { 
          "currency": "USD", 
          "valueDecimal": "15.00" 
        }
	    ]
    }
}'
```

## Create transfer

In addition to tipping presets with [payment links](/guides/accept-payments/payment-links/index.md), you can create a basic transfer with a tip. In the transfers request, add a tip amount to `amountDetails`. The tip must be the same currency as the `amount`.

The `amount` is the total payment, which is the base price + tip. In the example below, the `amount.value` represents a base price of $349.00 with a tip of $20.00, totaling $549.00.

```zsh
 1curl -X POST "https://api.moov.io/accounts/{accountID}/transfers" \
 2  -H "Authorization: Bearer {token}" \
 3  -H "X-Moov-Version: v2026.07.00" \
 4  -d '{
 5    "source": {
 6      "paymentMethodID": "9506dbf6-4208-44c3-ad8a-e4431660e1f2"
 7    },
 8    "destination": {
 9      "paymentMethodID": "3f9969cf-a1f3-4d83-8ddc-229a506651cf"
10    },
11    "amount": {
12      "currency": "USD",
13      "value": 54900
14    },
15    "amountDetails": {
16      "tip": {
17        "currency": "USD",
18        "valueDecimal": "20.00"
19      }
20    },
21    "description": "Transfer from card to wallet",
22    "metadata": {
23      "optional": "metadata"
24    }
25}'
```

