Summary
Transactions with 3 payment methods being one of their gift card have incorrect refund amounts. In some cases we have a negative refund which causes the payment to be canceled.
Thread with the discussion
Simulation
The procedure appears to be random, we realized that the negative refund amount is the total amount requested - the payment methods that were correctly refunded - the GC amount. In the case that above: Payment 1(American express): 66,99 BRL Payment 2(Diners): 67,00 BRL Payment 3(GC): 30,99 BRL
Refund requested: 104.99 BRL
Refund on giftcard: 30,99 BRL Refund on American express: 66,99 BRL Refund on Diners: -23,98 BRL
The negative value in the Diners refund is (104,99 - 30,99 - 66,99 - 30,99) = -23,98. What appears to be is that somehow the value of the GC is being discounted twice.
Workaround
There is no workaround for this bug