merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit eae91defe8edb6765fa0f998ed442d5a3c5b94b3
parent 3840ce09be3ef90b947eb62258e31619dcc22f89
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu, 10 Sep 2020 00:41:14 +0200

fix the non-private GET logic, too

Diffstat:
Msrc/backend/taler-merchant-httpd_get-orders-ID.c | 15+++++++++++++--
Msrc/backend/taler-merchant-httpd_private-get-orders-ID.c | 13++++++++++---
2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_get-orders-ID.c b/src/backend/taler-merchant-httpd_get-orders-ID.c @@ -517,7 +517,9 @@ send_pay_request (struct GetOrderData *god, struct GNUNET_TIME_Relative remaining; remaining = GNUNET_TIME_absolute_get_remaining (god->sc.long_poll_timeout); - if (0 != remaining.rel_value_us) + if ( (0 != remaining.rel_value_us) && + ( (NULL == already_paid_order_id) || + (NULL != god->fulfillment_url) ) ) { /* long polling: do not queue a response, suspend connection instead */ suspend_god (god); @@ -544,7 +546,8 @@ send_pay_request (struct GetOrderData *god, { char *qr; - if ( (NULL != already_paid_order_id) && (NULL != god->fulfillment_url) ) + if ( (NULL != already_paid_order_id) && + (NULL != god->fulfillment_url) ) { struct MHD_Response *reply; MHD_RESULT ret; @@ -1015,6 +1018,10 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh, /* Check if paid within a session. */ char *already_paid_order_id = NULL; + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Running re-purchase detection for %s/%s\n", + god->session_id, + god->fulfillment_url); qs = TMH_db->lookup_order_by_fulfillment (TMH_db->cls, hc->instance->settings.id, god->fulfillment_url, @@ -1038,6 +1045,10 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh, { MHD_RESULT ret; + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Sending pay request for order %s (already paid: %s)\n", + order_id, + already_paid_order_id); ret = send_pay_request (god, already_paid_order_id); GNUNET_free (already_paid_order_id); diff --git a/src/backend/taler-merchant-httpd_private-get-orders-ID.c b/src/backend/taler-merchant-httpd_private-get-orders-ID.c @@ -922,6 +922,9 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, { paid = false; wired = false; + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Order %s unclaimed, no need to lookup payment status\n", + hc->infix); } else { @@ -945,8 +948,12 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, (NULL != gorc->fulfillment_url) && (NULL != gorc->session_id) ) { - char *already_paid_order_id; + char *already_paid_order_id = NULL; + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Running re-purchase detection for %s/%s\n", + gorc->session_id, + gorc->fulfillment_url); qs = TMH_db->lookup_order_by_fulfillment (TMH_db->cls, hc->instance->settings.id, gorc->fulfillment_url, @@ -970,7 +977,7 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, char *order_status_url; MHD_RESULT ret; - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Found already paid order %s\n", already_paid_order_id); taler_pay_uri = TMH_make_taler_pay_uri (connection, @@ -1001,7 +1008,7 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, GNUNET_free (already_paid_order_id); return ret; } - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "No already paid order for %s/%s\n", gorc->session_id, gorc->fulfillment_url);