diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/taler-merchant-httpd_post-orders-ID-pay.c | 17 |
1 files changed, 17 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 index 8a5b7993..dddac983 100644 --- a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c +++ b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c @@ -652,6 +652,23 @@ resume_pay_with_response (struct PayContext *pc, GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Resuming /pay handling. HTTP status for our reply is %u.\n", response_code); + for (unsigned int i = 0; i<pc->num_exchanges; i++) + { + struct ExchangeGroup *eg = pc->egs[i]; + + if (NULL != eg->fo) + { + TMH_EXCHANGES_keys4exchange_cancel (eg->fo); + eg->fo = NULL; + pc->pending_at_eg--; + } + if (NULL != eg->bdh) + { + TALER_EXCHANGE_batch_deposit_cancel (eg->bdh); + eg->bdh = NULL; + } + } + GNUNET_assert (0 == pc->pending_at_eg); if (NULL != pc->timeout_task) { GNUNET_SCHEDULER_cancel (pc->timeout_task); |