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:
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