summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_signatures.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index 29008fc9a..85c681dac 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -860,6 +860,33 @@ struct TALER_ContractPS
struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
/**
+ * Merchant-generated transaction ID to detect duplicate
+ * transactions, in big endian. The merchant must communicate a
+ * merchant-unique ID to the customer for each transaction. Note
+ * that different coins that are part of the same transaction can
+ * use the same transaction ID. The transaction ID is useful for
+ * later disputes, and the merchant's contract offer (@e h_contract)
+ * with the customer should include the offer's term and transaction
+ * ID signed with a key from the merchant. This field must match
+ * the corresponding field in the JSON contract.
+ */
+ uint64_t transaction_id GNUNET_PACKED;
+
+ /**
+ * The total amount to be paid to the merchant. Note that if deposit
+ * fees are higher than @e max_fee, the actual total must be higher
+ * to cover the additional fees. This field must match the
+ * corresponding field in the JSON contract.
+ */
+ struct TALER_AmountNBO total_amount;
+
+ /**
+ * The maximum fee the merchant is willing to cover. This field
+ * must match the corresponding field in the JSON contract.
+ */
+ struct TALER_AmountNBO max_fee;
+
+ /**
* Hash of the JSON contract in UTF-8 including 0-termination,
* using JSON_COMPACT | JSON_SORT_KEYS
*/