diff options
-rw-r--r-- | api/api-common.rst | 2 | ||||
-rw-r--r-- | api/api-exchange.rst | 5 | ||||
-rw-r--r-- | api/api-merchant.rst | 17 |
3 files changed, 22 insertions, 2 deletions
diff --git a/api/api-common.rst b/api/api-common.rst index 944bafca..0d4cf50f 100644 --- 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 index 876f1631..d3014cb8 100644 --- 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 index 3bad4917..5b0e71e9 100644 --- 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; } |