merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 59606705d11c3173e87873d700075b4a6acff2f0
parent 265fff6ca125bed77b1745cf8bbda0e58871e160
Author: Florian Dold <florian@dold.me>
Date:   Thu, 22 Jul 2021 19:58:46 +0200

comment about abort-pay

Diffstat:
Msrc/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];