View Issue Details

IDProjectCategoryView StatusLast Update
0011415Talermerchant backendpublic2026-05-19 09:36
Reportersebasjm Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityalways
Status confirmedResolutionopen 
Product Versiongit (master) 
Target Version1.8 
Summary0011415: outofstock response makes no sense [2h]
Descriptioncreate product with stock 10
create an order with 1 item, i didnt pay it
create a new order with 10 items

expected: outofstock with available_quantity 9
got available_quantity 10

the response 410 is ok but the content is not right


curl 'https://merchant.taler/private/orders' \
  -H 'Authorization: Bearer secret-token:K7CA85NRKN38NKT2DNSGG0SVEQVKP29H4B3D29G81EQY54QTMPW0' \
  --data-raw '{"order":{"version":0,"amount":"CHF:10","summary":"sd","products":[],"pay_deadline":{"t_s":1779104124},"refund_deadline":{"t_s":1779104184},"wire_transfer_deadline":{"t_s":1779104244}},"inventory_products":[{"product_id":"we","quantity":10}],"create_token":true}'

{
  "product_id": "we",
  "requested_quantity": 10,
  "unit_requested_quantity": "10",
  "available_quantity": 10,
  "unit_available_quantity": "10"
}
TagsNo tags attached.

Activities

Christian Grothoff

2026-05-19 09:31

manager   ~0028650

Ah, the code does NOT include locked in the calculations!

Christian Grothoff

2026-05-19 09:34

manager   ~0028651

See "taler-merchant-httpd_post-private-orders.c::compute_available_quantity". It does not even get the locked amounts (from merchant_inventory_locks) as an input!

Issue History

Date Modified Username Field Change
2026-05-18 14:05 sebasjm New Issue
2026-05-19 09:23 Christian Grothoff Assigned To => Christian Grothoff
2026-05-19 09:23 Christian Grothoff Status new => assigned
2026-05-19 09:31 Christian Grothoff Note Added: 0028650
2026-05-19 09:34 Christian Grothoff Note Added: 0028651
2026-05-19 09:36 Christian Grothoff Status assigned => confirmed
2026-05-19 09:36 Christian Grothoff Target Version 1.6 => 1.8
2026-05-19 09:36 Christian Grothoff Summary outofstock response makes no sense => outofstock response makes no sense [2h]