diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-08-27 00:37:50 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-08-27 00:37:50 +0200 |
commit | c391985dd7ce9c1ed81b8ca9cf7dde43c9a0987c (patch) | |
tree | a36c27bf02b0f6a9b9acb496abca220667f1ba62 | |
parent | ef7253cbcd2d4906a2326f25e0423f7fea97afa1 (diff) | |
download | merchant-c391985dd7ce9c1ed81b8ca9cf7dde43c9a0987c.tar.gz merchant-c391985dd7ce9c1ed81b8ca9cf7dde43c9a0987c.tar.bz2 merchant-c391985dd7ce9c1ed81b8ca9cf7dde43c9a0987c.zip |
oops, check query result first
-rw-r--r-- | src/backend/taler-merchant-httpd_check-payment.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/backend/taler-merchant-httpd_check-payment.c b/src/backend/taler-merchant-httpd_check-payment.c index e5e82dab..a52c4f55 100644 --- a/src/backend/taler-merchant-httpd_check-payment.c +++ b/src/backend/taler-merchant-httpd_check-payment.c @@ -374,6 +374,21 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh, "db error fetching contract terms"); } + if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) + { + /* Check that we're at least aware of the order */ + ret = check_order_and_request_payment (connection, + mi, + final_contract_url, + session_id, + fulfillment_url, + order_id); + GNUNET_free (final_contract_url); + return ret; + } + + GNUNET_assert (NULL != contract_terms); + /* Get the amount and fulfillment_url from the contract. */ { struct TALER_Amount amount; @@ -394,22 +409,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh, TALER_amount_get_zero (amount.currency, &refund_amount); } - - if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) - { - /* Check that we're at least aware of the order */ - ret = check_order_and_request_payment (connection, - mi, - final_contract_url, - session_id, - fulfillment_url, - order_id); - GNUNET_free (final_contract_url); - return ret; - } - - GNUNET_assert (NULL != contract_terms); - if (GNUNET_OK != TALER_JSON_hash (contract_terms, &h_contract_terms)) |