taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 1c8129715262b58589d641bf7284a78813d8d840
parent a740df5a08f16fe695334f8aace5ccb021197832
Author: bohdan-potuzhnyi <bohdan.potuzhnyi@gmail.com>
Date:   Sun, 26 Jul 2026 13:35:11 +0200

[mixed-payments] private->public + no timeout

Diffstat:
Mcore/merchant/post-private-orders-ORDER_ID-collect.rst | 4++--
Mdesign-documents/096-partial-payments.rst | 6+++---
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/core/merchant/post-private-orders-ORDER_ID-collect.rst b/core/merchant/post-private-orders-ORDER_ID-collect.rst @@ -9,7 +9,7 @@ for a wallet payment of a free order. The operation is idempotent: the backend derives the claim nonce - deterministically from the instance key and the order identifier, so + deterministically from the instance public key and the order identifier, so repeating the request after a success (or a crash between the claim and the payment step) completes or replays harmlessly. @@ -17,7 +17,7 @@ wallet has already claimed the order, the wallet owns the order and must execute the free payment itself. A point-of-sale application should therefore offer the order QR code first and only collect after the customer - declined or a timeout passed. + declined collecting it with own wallet. Collection is restricted to genuinely free Taler payments: the Taler ``amount`` must be zero and, for v1 contracts, the selected choice must have diff --git a/design-documents/096-partial-payments.rst b/design-documents/096-partial-payments.rst @@ -251,8 +251,8 @@ order with a backend-generated nonce, and then marks the contract as paid. Payment notifications, webhooks, triggers and inventory updates behave exactly as for a wallet payment of a free order. -The backend derives the claim nonce deterministically from the instance key -and the order identifier. This makes the collect operation idempotent +The backend derives the claim nonce deterministically from the instance +public key and the order identifier. This makes the collect operation idempotent (repeating it after a success or a crash between the claim and the payment step completes or replays harmlessly) and lets the backend distinguish orders it collected itself from orders claimed by a customer wallet. @@ -264,7 +264,7 @@ was claimed by a wallet (``TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_COLLECT_ALREADY_CLAIMED``). This preserves the customer's ability to obtain a wallet receipt: a POS should offer the order QR code first and only collect after the -customer declined or a timeout passed. +customer declined collecting it with own wallet. Collection is restricted to genuinely free Taler payments: the Taler ``amount`` must be zero and, for v1 contracts, the selected choice must have no