diff options
Diffstat (limited to 'src/backend/taler-merchant-httpd_check-payment.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_check-payment.c | 31 |
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 */ { |