taler-docs

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

commit 86274e64807f70386baea68557b9b8535d5fdf24
parent 705eeeafa67b47b8a73d9cedf032aefdd7a2fb01
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri,  1 May 2020 13:44:30 +0200

more refund documentation

Diffstat:
Mcore/api-merchant.rst | 34+++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -1021,6 +1021,8 @@ Receiving Payments .. ts:def:: RefundResult + // RefundResult differs from RefundDetail as in this case we + // can generate a substantially shorter response. interface RefundResult { // HTTP status of the request to the exchange. exchange_status: integer; @@ -1185,7 +1187,7 @@ Receiving Payments // Amount that was refunded in total. refund_amount: Amount; - // Refunds for this payment, empty array for none. + // Successful refunds for this payment, empty array for none. refunds: RefundDetail[]; // URI that the wallet must process to complete the payment. @@ -1197,6 +1199,36 @@ Receiving Payments } + .. ts:def:: RefundDetail + + // Additional details needed to verify the refund confirmation signature + // (``h_contract_terms`` and ``merchant_pub``) are already known + // to the wallet and thus not included. + interface RefundDetail { + + // the EdDSA :ref:`signature` (binary-only) with purpose + // `TALER_SIGNATURE_EXCHANGE_CONFIRM_REFUND` using a current signing key of the + // exchange affirming the successful refund + exchange_sig: EddsaSignature; + + // public EdDSA key of the exchange that was used to generate the signature. + // Should match one of the exchange's signing keys from /keys. It is given + // explicitly as the client might otherwise be confused by clock skew as to + // which signing key was used. + exchange_pub: EddsaPublicKey; + + // Refund transaction ID. + rtransaction_id: Integer; + + // public key of a coin that was refunded + coin_pub: EddsaPublicKey; + + // Amount that was refunded, including refund fee charged by the exchange + // to the customer. + refund_amout: Amount; + + } + .. http:delete:: /private/orders/$ORDER_ID