# ORDER_TOTAL_DIFFERENT

# ORDER_TOTAL_DIFFERENT

The order total submitted at placement does not match the total computed by the server. This guards against stale price data on the client.

## Summary

| Field | Value |
|---|---|
| HTTP status | `400` |
| `errorCategory` | `validation` |
| `retryable` | `false` |

## When This Fires

- **`POST /v1/marketfront/orders/place`** — the `amounts.total` (or any subordinate amount) on the request differs from the total computed by re-pricing the cart against the live catalog.

The most common cause is a price change between the `validate` call and the `place` call (the user's session held a stale catalog), or a client-side rounding mismatch.

## Recommended Action

Re-fetch the canonical totals and confirm with the user before retrying:

1. Re-call `POST /v1/marketfront/orders/validate` to retrieve the fresh `amounts` block.
2. Diff against what the user previously saw and surface any change ("the price of one of your items has changed").
3. On user confirmation, resubmit `place` with the updated `amounts`.

Do not blindly retry with a server-supplied total — the user must accept the new amount.

## Example

```json
{
  "type": "https://developer.gett-tech.com/errors/ORDER_TOTAL_DIFFERENT",
  "title": "Bad Request",
  "status": 400,
  "detail": "Order totals did not match!",
  "instance": "/v1/marketfront/orders/place",
  "requestId": "req_abc123",
  "timestamp": "2026-04-27T14:30:00.000Z",
  "errorCode": "ORDER_TOTAL_DIFFERENT",
  "errorCategory": "validation",
  "retryable": false
}
```
