# 

`tip` records how much of a transaction is gratuity. Card networks want that
split reported separately, and some industry categories price differently
because of it, so it is worth sending rather than folding silently into the
total.

## The one rule that matters

**`amount` is the whole charge. `tip` says how much of it is a tip.**

The two are not added together. A 100.00 meal with a 20.00 tip is:

```json
{
  "amount": 12000,
  "tip": 2000
}
```

The cardholder is charged 120.00. Sending `"amount": 10000, "tip": 2000` charges
them 100.00 and reports 20.00 of it as gratuity, which is not what you meant.

Both fields are integers in cents. `tip` accepts `0`, and omitting it means the
same thing.

## On a sale

Send both fields with the transaction.

## On a capture

This is the more common shape in hospitality: authorize the bill, let the
customer add a tip, capture the total.

Authorize the base amount first, then send the total and the tip together at
capture.

```json
{
  "amount": 12000,
  "tip": 2000
}
```

Two things to get right:

* **The capture `amount` includes the tip.** It is the total you are taking, the
same rule as on a sale.
* **You cannot capture more than you authorized.** A tip that pushes the total
above the authorization will not go through. Authorize with enough headroom for
the tip you expect — the usual practice is to add a percentage to the bill when
you authorize.


[Authorize and capture](/docs/payments/authorize-and-capture) covers the rest of that flow.

## Reading it back

The response echoes `tip` alongside `amount`, on the transaction and on every
later read of it. The settled amount is `amount`; the tip is reported to the card
network separately and does not add to it.

## Next steps

* [Authorize and capture](/docs/payments/authorize-and-capture)
* [Accept a card payment](/docs/payments/accept-a-card-payment)
* [Find and report on transactions](/docs/after-the-payment/find-and-report-on-transactions)