merchant

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

commit 7de305af405fa04da82684c1921fb3c636434a3b
parent 64667c6f86b9a52957453bf173ff9dc866529240
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu,  7 Jan 2021 22:57:56 +0100

fix #6674

Diffstat:
Msrc/testing/testing_api_cmd_merchant_get_order.c | 50++++++++++++++++++++++++++++++++++++--------------
Msrc/testing/testing_api_cmd_refund_order.c | 47++++++++++++++++++++++++++++++++++-------------
Msrc/testing/testing_api_cmd_wallet_get_order.c | 45++++++++++++++++++++++++++++++++++-----------
3 files changed, 104 insertions(+), 38 deletions(-)

diff --git a/src/testing/testing_api_cmd_merchant_get_order.c b/src/testing/testing_api_cmd_merchant_get_order.c @@ -485,21 +485,43 @@ merchant_get_order_cb ( 0, &claim_token)) TALER_TESTING_FAIL (gos->is); - - if ((0 != strcmp ("localhost:8080", - pud.merchant_host)) || - (NULL != pud.merchant_prefix_path) || - (0 != strcmp (order_id, - pud.order_id)) || - (NULL != pud.ssid)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Order pay uri does not match, got %s/%s\n", - pud.merchant_host, - pud.order_id); - TALER_TESTING_interpreter_fail (gos->is); - TALER_MERCHANT_parse_pay_uri_free (&pud); - return; + char *port; + char *host; + + if (GNUNET_OK != + GNUNET_CONFIGURATION_get_value_string (gos->is->cfg, + "merchant", + "PORT", + &port)) + { + /* How did we get here without a configured port? */ + GNUNET_break (0); + TALER_TESTING_interpreter_fail (gos->is); + TALER_MERCHANT_parse_pay_uri_free (&pud); + return; + } + GNUNET_asprintf (&host, + "localhost:%s", + port); + GNUNET_free (port); + if ((0 != strcmp (host, + pud.merchant_host)) || + (NULL != pud.merchant_prefix_path) || + (0 != strcmp (order_id, + pud.order_id)) || + (NULL != pud.ssid)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Order pay uri does not match, got %s/%s\n", + pud.merchant_host, + pud.order_id); + TALER_TESTING_interpreter_fail (gos->is); + TALER_MERCHANT_parse_pay_uri_free (&pud); + GNUNET_free (host); + return; + } + GNUNET_free (host); } /* The claim token is not given in the pay uri if the order has been claimed already. */ diff --git a/src/testing/testing_api_cmd_refund_order.c b/src/testing/testing_api_cmd_refund_order.c @@ -115,21 +115,42 @@ refund_cb (void *cls, TALER_TESTING_interpreter_fail (ris->is); return; } - - if ((0 != strcmp ("localhost:8080", - rud.merchant_host)) || - (NULL != rud.merchant_prefix_path) || - (0 != strcmp (ris->order_id, - rud.order_id)) || - (NULL != rud.ssid)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Taler refund uri does not match\n"); - TALER_TESTING_interpreter_fail (ris->is); - TALER_MERCHANT_parse_refund_uri_free (&rud); - return; + char *port; + char *host; + + if (GNUNET_OK != + GNUNET_CONFIGURATION_get_value_string (ris->is->cfg, + "merchant", + "PORT", + &port)) + { + /* How did we get here without a configured port? */ + GNUNET_break (0); + TALER_TESTING_interpreter_fail (ris->is); + TALER_MERCHANT_parse_refund_uri_free (&rud); + return; + } + GNUNET_asprintf (&host, + "localhost:%s", + port); + GNUNET_free (port); + if ((0 != strcmp (host, + rud.merchant_host)) || + (NULL != rud.merchant_prefix_path) || + (0 != strcmp (ris->order_id, + rud.order_id)) || + (NULL != rud.ssid)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Taler refund uri does not match\n"); + TALER_TESTING_interpreter_fail (ris->is); + TALER_MERCHANT_parse_refund_uri_free (&rud); + GNUNET_free (host); + return; + } + GNUNET_free (host); } - TALER_MERCHANT_parse_refund_uri_free (&rud); } break; diff --git a/src/testing/testing_api_cmd_wallet_get_order.c b/src/testing/testing_api_cmd_wallet_get_order.c @@ -183,18 +183,41 @@ wallet_get_order_cb ( &claim_token)) TALER_TESTING_FAIL (gos->is); - if ((0 != strcmp ("localhost:8080", - pud.merchant_host)) || - (NULL != pud.merchant_prefix_path) || - (0 != strcmp (order_id, - pud.order_id)) || - (NULL != pud.ssid)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Order pay uri does not match\n"); - TALER_TESTING_interpreter_fail (gos->is); - TALER_MERCHANT_parse_pay_uri_free (&pud); - return; + char *port; + char *host; + + if (GNUNET_OK != + GNUNET_CONFIGURATION_get_value_string (gos->is->cfg, + "merchant", + "PORT", + &port)) + { + /* How did we get here without a configured port? */ + GNUNET_break (0); + TALER_TESTING_interpreter_fail (gos->is); + TALER_MERCHANT_parse_pay_uri_free (&pud); + return; + } + GNUNET_asprintf (&host, + "localhost:%s", + port); + GNUNET_free (port); + if ((0 != strcmp (host, + pud.merchant_host)) || + (NULL != pud.merchant_prefix_path) || + (0 != strcmp (order_id, + pud.order_id)) || + (NULL != pud.ssid)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Order pay uri does not match\n"); + TALER_TESTING_interpreter_fail (gos->is); + TALER_MERCHANT_parse_pay_uri_free (&pud); + GNUNET_free (host); + return; + } + GNUNET_free (host); } /* The claim token is not given in the pay uri if the order has been claimed already. */