taler-docs

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

commit e7d1232facc962f98721f84f62105e388cf0a223
parent ad2f4c7e06321de955ae52c143cfaac6fc0706be
Author: Marcello Stanisci <marcello.stanisci@inria.fr>
Date:   Mon,  6 Mar 2017 14:41:34 +0100

Merge branch 'master' of ssh://taler.net/api

Diffstat:
Mapi/api-common.rst | 2++
Mapi/api-exchange.rst | 5++++-
Mapi/api-merchant.rst | 17++++++++++++++++-
3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/api/api-common.rst b/api/api-common.rst @@ -600,6 +600,7 @@ within the * purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_FEES */ struct GNUNET_CRYPTO_EccSignaturePurpose purpose; + struct GNUNET_HashCode h_wire_method; struct GNUNET_TIME_AbsoluteNBO start_date; struct GNUNET_TIME_AbsoluteNBO end_date; struct TALER_AmountNBO wire_fee; @@ -642,6 +643,7 @@ within the */ struct GNUNET_CRYPTO_EccSignaturePurpose purpose; struct TALER_AmountNBO total; + struct TALER_AmountNBO wire_fee; struct TALER_MerchantPublicKeyP merchant_pub; struct GNUNET_HashCode h_wire; struct GNUNET_HashCode h_details; diff --git a/api/api-exchange.rst b/api/api-exchange.rst @@ -260,7 +260,7 @@ Obtaining wire-transfer information // Wire transfer fee structure. Specifies aggregate wire transfer fees. fees: AggregateTransferFee[]; - // Signaure of `TALER_MasterWireDetailsPS`_ with purpose TALER_SIGNATURE_MASTER_TEST_DETAILS + // Signature of `TALER_MasterWireDetailsPS`_ with purpose TALER_SIGNATURE_MASTER_TEST_DETAILS // Note that the `h_sepa_details` field of `TALER_MasterWireDetailsPS`_ is computed // by concatenating all of the above fields (in the same order they appear) and then // by hashing the obtained concatenation. @@ -990,6 +990,9 @@ typically also view the balance.) // Total amount transferred total: Amount; + // Applicable wire fee that was charged + wire_fee: Amount; + // public key of the merchant (identical for all deposits) merchant_pub: EddsaPublicKey; diff --git a/api/api-merchant.rst b/api/api-merchant.rst @@ -477,6 +477,21 @@ The `offer` must have the following structure: // Maximum total deposit fee accepted by the merchant for this contract max_fee: Amount; + // Maximum wire fee accepted by the merchant (customer share to be + // divided by the 'wire_fee_amortization' factor, and further reduced + // if deposit fees are below 'max_fee'). Default if missing is zero. + max_wire_fee: Amount; + + // Over how many customer transactions does the merchant expect to + // amortize wire fees on average? If the exchange's wire fee is + // above 'max_wire_fee', the difference is divided by this number + // to compute the expected customer's contribution to the wire fee. + // The customer's contribution may further be reduced by the difference + // between the 'max_fee' and the sum of the actual deposit fees. + // Optional, default value if missing is 1. 0 and negative values are + // invalid and also interpreted as 1. + wire_fee_amortization: Integer; + // A free-form identifier for this transaction. transaction_id: string; @@ -512,7 +527,7 @@ The `offer` must have the following structure: locations: { [label: string]: [location: Location], ... }; // Extra data that is only interpreted by the merchant frontend. - // Useful when the merchant needs to store extra information on a + // Useful when the merchant needs to store extra information on a // contract without storing it separately in their database. extra: any; }