Идеальный способ сделать это - изменить часть (подресурс) ресурса и заставить сервер вернуть 303 См. Другое с заголовком Location, указывающим на измененный ресурс. 303 См. Другое сообщает клиенту, что в результате запроса изменился какой-то другой ресурс и что клиент должен обновить представление, которое он содержит.
В вашем примере (гипотетические типы носителейконечно):
1. Client retrieves payment representation
GET /payments/2
200 Ok
Content-Type: application/payment+xml
<payment>
<status href="/payments/2/status" value="pending"/>
</payment>
2. Client updates status
PUT /payments/2/status
Content-Type: text/plain
payed
303 See Other
Location: /payments/2
3. Client follows the 303 redirect
GET /payments/2
200 Ok
Content-Type: application/payment+xml
<payment>
<status href="/payments/2/status" value="payed"/>
</payment>