commit a740df5a08f16fe695334f8aace5ccb021197832
parent 63120ecba7bf99db6e3be498d6b9006d9d60ccdb
Author: bohdan-potuzhnyi <bohdan.potuzhnyi@gmail.com>
Date: Sat, 25 Jul 2026 23:23:28 +0200
[mixed-payments] add description of updated logic for refund endpoint
Diffstat:
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/core/merchant/post-private-orders-ORDER_ID-refund.rst b/core/merchant/post-private-orders-ORDER_ID-refund.rst
@@ -3,6 +3,10 @@
Increase the refund amount associated with a given order. The user should be
redirected to the ``taler_refund_uri`` to trigger refund processing in the wallet.
+ Since ``vMixedPayments``. For orders with refunds settled through external payment methods,
+ the cumulative Taler refund must not exceed the full order total minus those
+ external refunds.
+
**Required permission:** ``orders-refund``
**Request:**
@@ -24,10 +28,12 @@
The order is unknown to the merchant.
Returned with ``TALER_EC_MERCHANT_GENERIC_ORDER_UNKNOWN``.
:http:statuscode:`409 Conflict`:
- The refund amount exceeds the amount originally paid or
- the order was not yet paid.
+ The refund amount exceeds the amount originally paid, the combined Taler
+ and external refunds would exceed the full order total (since ``vMixedPayments``), or the order was
+ not yet paid.
Returned with ``TALER_EC_MERCHANT_GENERIC_CURRENCY_MISMATCH`` or
- ``TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_ORDER_UNPAID``.
+ ``TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_ORDER_UNPAID``,
+ ``TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_INCONSISTENT_AMOUNT`` (since ``vMixedPayments``).
:http:statuscode:`410 Gone`:
It is too late for refunds, the exchange may have already wired the funds
to the merchant.