What SVN version is you check out?
Sandeep A sent the following on 1/18/2012 10:46 AM:
> Hi,
>
> I had a question regarding the capture process in the ofbiz...
>
>
> Below is the code in
> org.ofbiz.accounting.payment.PaymentGatewayServices.java
> OrderReadHelper orh = new OrderReadHelper(orderHeader);
> BigDecimal orderGrandTotal = orh.getOrderGrandTotal();
> orderGrandTotal = orderGrandTotal.setScale(decimals, rounding);
>
> //Here getting total payments from payment entity
> ** BigDecimal totalPayments =
> PaymentWorker.getPaymentsTotal(orh.getOrderPayments()); **//this is where
> my question is
> totalPayments = totalPayments.setScale(decimals, rounding);
> BigDecimal remainingTotalBd = orderGrandTotal.subtract(totalPayments);
>
> // The amount to capture cannot be greater than the remaining total
> amountToCapture = amountToCapture.min(remainingTotalBd);
>
> What i understood from the line
> PaymentWorker.getPaymentsTotal(orh.getOrderPayments());
> is we get all payments (i.e received or sent) and add their amounts.
>
> Now my question is why are we not distinguishing between the status of
> Payment while adding them up?
> This question comes from
> Assume we had order with $100 captured and $10 refunded... total payments
> results in $110,
> but the order grand total would reflect as $90.
>
> Now if we perform a capture of $19 again i.e order total would be $90 +
> $19=$109
> the above mentioned condition was capturing $1, whereas it should have
> captured $19
>
> Any ideas of why this is being done?
>
>