merchant

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

commit 25071b2fb92e4e30c3eb722733cbc3a973fc3e12
parent fa44a2157bceb89d126f4a02a860b1ea38cb493e
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue,  2 Jun 2026 22:25:59 +0200

-more test fixes

Diffstat:
Msrc/backend/taler-merchant-httpd_get-private-orders.c | 20+++++++++++++++++++-
Msrc/backend/taler-merchant-kyccheck.c | 7++++++-
Msrc/backenddb/insert_unit.sql | 2+-
Msrc/backenddb/update_instance.c | 2+-
4 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_get-private-orders.c b/src/backend/taler-merchant-httpd_get-private-orders.c @@ -27,6 +27,7 @@ #include <taler/taler_dbevents.h> #include "merchant-database/lookup_contract_terms3.h" #include "merchant-database/lookup_order.h" +#include "merchant-database/set_instance.h" #include "merchant-database/lookup_order_status_by_serial.h" #include "merchant-database/lookup_orders.h" #include "merchant-database/lookup_refunds_detailed.h" @@ -490,6 +491,15 @@ add_order (void *cls, orig_order_id, (unsigned long long) order_serial, po->instance_id); + qs = TALER_MERCHANTDB_set_instance ( + TMH_db, + po->instance_id); + if (qs <= 0) + { + GNUNET_break (0); + po->result = TALER_EC_GENERIC_DB_FETCH_FAILED; + return; + } qs = TALER_MERCHANTDB_lookup_order_status_by_serial (TMH_db, po->instance_id, order_serial, @@ -500,7 +510,7 @@ add_order (void *cls, { GNUNET_break (0); po->result = TALER_EC_GENERIC_DB_FETCH_FAILED; - return; + goto cleanup; } if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) { @@ -510,6 +520,10 @@ add_order (void *cls, { /* Got a DB trigger about a new proposal, but it was already deleted again. Just ignore the event. */ + GNUNET_break (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == + TALER_MERCHANTDB_set_instance ( + TMH_db, + NULL)); return; } order_id = GNUNET_strdup (orig_order_id); @@ -843,6 +857,10 @@ add_order (void *cls, } /* end switch po->format */ cleanup: + GNUNET_break (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == + TALER_MERCHANTDB_set_instance ( + TMH_db, + NULL)); json_decref (terms); GNUNET_free (order_id); if (NULL != order) diff --git a/src/backend/taler-merchant-kyccheck.c b/src/backend/taler-merchant-kyccheck.c @@ -597,7 +597,12 @@ exchange_check_cb ( progress = true; i->rule_gen = ks->details.accepted.rule_gen; i->last_kyc_check = GNUNET_TIME_timestamp_get (); - + if (NULL != ks->details.accepted.tos_required) + { + /* FIXME: #11183: check if our user *did* already + accept the ToS, if so, send acceptance to exchange + and try again! */ + } /* exchange says KYC is required */ i->auth_ok = true; store_kyc_status (i, diff --git a/src/backenddb/insert_unit.sql b/src/backenddb/insert_unit.sql @@ -61,7 +61,7 @@ BEGIN in_unit_allow_fraction, in_unit_precision_level, in_unit_active) - ON CONFLICT (merchant_serial, unit) + ON CONFLICT (unit) DO NOTHING RETURNING unit_serial INTO out_unit_serial; diff --git a/src/backenddb/update_instance.c b/src/backenddb/update_instance.c @@ -79,7 +79,7 @@ TALER_MERCHANTDB_update_instance ( ",phone_number=$12" ",phone_validated=$13" ",email_validated=$14" - ",default_wire_transfer_rounding_interval=($15::time_rounder_interval)" + ",default_wire_transfer_rounding_interval=($15::merchant.time_rounder_interval)" " WHERE merchant_id=$1"); return GNUNET_PQ_eval_prepared_non_select (pg->conn, "update_instance",