taler-docs

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

commit 747637dac068daf7a02efcf69f3c0eb90285ee89
parent 6f76d961cb15f206153f415edf6cb0eb808e3f1d
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 28 Dec 2025 20:06:57 +0100

change money pots to include an array of currencies

Diffstat:
Mcore/api-merchant.rst | 52+++++++++++++++++++++++++++++++++++++---------------
1 file changed, 37 insertions(+), 15 deletions(-)

diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -3909,6 +3909,7 @@ Creating orders // OTP device ID to associate with the order. // This parameter is optional. otp_id?: string; + } The `Order` object represents the starting point for new `ContractTerms`. @@ -4039,6 +4040,14 @@ Creating orders // contract without storing it separately in their database. // Must really be an Object (not a string, integer, float or array). extra?: Object; + + // Money pot to increment for whatever order payment amount + // is not yet assigned to a pot via the ``Product``. + // Not useful to wallets, only for + // merchant-internal accounting. + // Since protocol **vPOTS**. + order_default_money_pot?: Integer; + } @@ -4162,7 +4171,13 @@ Creating orders quantity?: Integer; // Preferred quantity string using "<integer>[.<fraction>]" syntax. - unit_quantity?: string; + unit_quantity?: string + + // Money pot to use for this product, overrides value from + // the inventory if given. + // Since **vPOTS**. + product_money_pot: Integer; + } Supply either ``quantity`` or ``unit_quantity`` when referencing inventory products. If both are @@ -6043,9 +6058,6 @@ Adding pots // Name of the pot. Must be unique per instance. pot_name: string; - // Currency of the pot. Must be a valid Taler currency string. - currency: string; - } .. ts:def:: PotAddedResponse @@ -6094,19 +6106,19 @@ Editing pots // Name of the pot. Must be unique per instance. pot_name: string; - // Expected current total amount in the pot. + // Expected current totals amount in the pot. // Should be given if ``new_pot_total`` is specified // as this allows checking that the pot total did // not change in the meantime. However, this is // not enforced server-side, the client may choose // to not use this safety-measure. - expected_pot_total?: Amount; + expected_pot_totals?: Amount[]; - // Expected new total amount to store in the pot. - // Does **not** have to be in the same currency as - // the existing amount in the pot. Used to reset - // the pot and/or change the currency. - new_pot_total?: Amount; + // Expected new total amounts to store in the pot. + // Does **not** have to be in the same currencies as + // the existing amounts in the pot. Used to reset + // the pot and/or change the amounts. + new_pot_totals?: Amount[]; } @@ -6161,8 +6173,8 @@ Inspecting pots // Name of the pot. Must be unique per instance. pot_name: string; - // Current total amount in the pot. - pot_total: Amount; + // Current total amounts in the pot. + pot_totals: Amount[]; } @@ -6195,7 +6207,7 @@ Inspecting pots pot_name: string; // Current total amount in the pot. - pot_total: Amount; + pot_totals: Amount[]; } @@ -6205,7 +6217,10 @@ Removing pots .. http:delete:: [/instances/$INSTANCES]/private/pots/$POT_SERIAL - This is used to delete information about a pot. + This is used to delete information about a pot. Existing + references to the pot will simply be lost and treated as "no pot"; + there will be no indication that the pot is still in used from the + backend. **Required permission:** ``pots-write`` @@ -7066,6 +7081,13 @@ It has the following structure: // Time indicating when this product should be delivered. delivery_date?: Timestamp; + + // Money pot to use for this product, overrides value from + // the inventory if given. Not useful to wallets, only for + // merchant-internal accounting. + // Since **vPOTS**. + product_money_pot: Integer; + } .. ts:def:: Tax