アバターyakumo

自分の手元で確認したところ問題なく分解ができました。
エラーメッセージを見る限り、明細行の amount 合計が

* マイナス値になっている
* 更新対象の合計 amount を超えている

気がします。
明細行が1行で amount が 1000 のものを、
明細行が2行で amount がそれぞれ -500, -500 だったり、
500, 501 だったりすることで更新できてないのではないでしょうか?

リクエスト対象の取引とリクエストパラメータを確認すると良いと思われます。