summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-27 00:37:50 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-27 00:37:50 +0200
commitc391985dd7ce9c1ed81b8ca9cf7dde43c9a0987c (patch)
treea36c27bf02b0f6a9b9acb496abca220667f1ba62
parentef7253cbcd2d4906a2326f25e0423f7fea97afa1 (diff)
downloadmerchant-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.c31
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))