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.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/backend/taler-merchant-httpd_check-payment.c b/src/backend/taler-merchant-httpd_check-payment.c
index e00c8a70..b0d380f9 100644
--- a/src/backend/taler-merchant-httpd_check-payment.c
+++ b/src/backend/taler-merchant-httpd_check-payment.c
@@ -290,6 +290,7 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
session_id = MHD_lookup_connection_value (connection,
MHD_GET_ARGUMENT_KIND,
"session_id");
+
session_sig_str = MHD_lookup_connection_value (connection,
MHD_GET_ARGUMENT_KIND,
"session_sig");
@@ -362,6 +363,22 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
GNUNET_assert (NULL != contract_terms);
GNUNET_assert (NULL != last_session_id);
+ if ( (NULL != session_id) && (0 != strcmp (session_id, last_session_id)) )
+ {
+
+ ret = send_pay_request (connection,
+ final_contract_url,
+ session_id,
+ resource_url,
+ h_contract_terms_str,
+ mi);
+
+ json_decref (contract_terms);
+ GNUNET_free (last_session_id);
+ GNUNET_free (final_contract_url);
+ return ret;
+ }
+
if (GNUNET_OK !=
TALER_JSON_hash (contract_terms,
&h_contract_terms))