commit 59606705d11c3173e87873d700075b4a6acff2f0 parent 265fff6ca125bed77b1745cf8bbda0e58871e160 Author: Florian Dold <florian@dold.me> Date: Thu, 22 Jul 2021 19:58:46 +0200 comment about abort-pay Diffstat:
| M | src/backend/taler-merchant-httpd_post-orders-ID-pay.c | | | 9 | +++++++++ |
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c @@ -1044,6 +1044,15 @@ check_coin_refunded (void *cls, { struct PayContext *pc = cls; + /* We look at refunds here that apply to the coins + that the customer is currently trying to pay us with. + + Such refunds are not "normal" refunds, but abort-pay refunds, which are + given in the case that the wallet aborts the payment. + In the case the wallet then decides to complete the payment *after* doing + an abort-pay refund (an unusual but possible case), we need + to make sure that existing refunds are accounted for. */ + for (unsigned int i = 0; i<pc->coins_cnt; i++) { struct DepositConfirmation *dc = &pc->dc[i];