summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd_check-payment.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/taler-merchant-httpd_check-payment.c')
-rw-r--r--src/backend/taler-merchant-httpd_check-payment.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/backend/taler-merchant-httpd_check-payment.c b/src/backend/taler-merchant-httpd_check-payment.c
index b0d380f9..b4526b14 100644
--- a/src/backend/taler-merchant-httpd_check-payment.c
+++ b/src/backend/taler-merchant-httpd_check-payment.c
@@ -363,6 +363,22 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
GNUNET_assert (NULL != contract_terms);
GNUNET_assert (NULL != last_session_id);
+ if (GNUNET_OK !=
+ TALER_JSON_hash (contract_terms,
+ &h_contract_terms))
+ {
+ GNUNET_break (0);
+ json_decref (contract_terms);
+ GNUNET_free (last_session_id);
+ GNUNET_free (final_contract_url);
+ return TMH_RESPONSE_reply_internal_error (connection,
+ TALER_EC_CHECK_PAYMENT_FAILED_COMPUTE_PROPOSAL_HASH,
+ "Failed to hash proposal");
+ }
+
+ h_contract_terms_str = GNUNET_STRINGS_data_to_string_alloc (&h_contract_terms,
+ sizeof (struct GNUNET_HashCode));
+
if ( (NULL != session_id) && (0 != strcmp (session_id, last_session_id)) )
{
@@ -379,21 +395,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
return ret;
}
- if (GNUNET_OK !=
- TALER_JSON_hash (contract_terms,
- &h_contract_terms))
- {
- GNUNET_break (0);
- json_decref (contract_terms);
- GNUNET_free (last_session_id);
- GNUNET_free (final_contract_url);
- return TMH_RESPONSE_reply_internal_error (connection,
- TALER_EC_CHECK_PAYMENT_FAILED_COMPUTE_PROPOSAL_HASH,
- "Failed to hash proposal");
- }
-
- h_contract_terms_str = GNUNET_STRINGS_data_to_string_alloc (&h_contract_terms,
- sizeof (struct GNUNET_HashCode));
/* Check if paid */
{