diff options
author | Jonathan Buchanan <jonathan.russ.buchanan@gmail.com> | 2020-07-16 17:03:07 -0400 |
---|---|---|
committer | Jonathan Buchanan <jonathan.russ.buchanan@gmail.com> | 2020-07-16 17:03:07 -0400 |
commit | 6c04f551883da165fa90ae830ebd56642abca361 (patch) | |
tree | 694e835ff494786fa778a6534d70671ce1309f3c /src/backend/taler-merchant-httpd_private-get-orders-ID.c | |
parent | 90adbb36f71224fe4ae8ebace1bc091c4651734f (diff) | |
download | merchant-6c04f551883da165fa90ae830ebd56642abca361.tar.gz merchant-6c04f551883da165fa90ae830ebd56642abca361.tar.bz2 merchant-6c04f551883da165fa90ae830ebd56642abca361.zip |
fix #6430
Diffstat (limited to 'src/backend/taler-merchant-httpd_private-get-orders-ID.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_private-get-orders-ID.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backend/taler-merchant-httpd_private-get-orders-ID.c b/src/backend/taler-merchant-httpd_private-get-orders-ID.c index 87408fe5..de5cb980 100644 --- a/src/backend/taler-merchant-httpd_private-get-orders-ID.c +++ b/src/backend/taler-merchant-httpd_private-get-orders-ID.c @@ -825,6 +825,14 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, hc->infix, &gorc->contract_terms, &gorc->order_serial); + if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) + { + /* We don't have contract terms, but the order may still exist. */ + qs = TMH_db->lookup_order (TMH_db->cls, + hc->instance->settings.id, + hc->infix, + &gorc->contract_terms); + } if (0 > qs) { /* single, read-only SQL statements should never cause @@ -906,7 +914,7 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, gorc->session_id, &paid, &wired); - if (0 >= qs) + if (0 > qs) { /* single, read-only SQL statements should never cause serialization problems, and the entry should exist as per above */ @@ -916,6 +924,7 @@ TMH_private_get_orders_ID (const struct TMH_RequestHandler *rh, TALER_EC_GET_ORDERS_DB_FETCH_PAYMENT_STATUS, "DB error fetching payment status"); } + /* qs == 0: the order hasn't been claimed, but this is okay. */ if ((! paid) && (NULL != gorc->session_id)) { |