diff options
author | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-03-14 17:10:52 +0100 |
---|---|---|
committer | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-03-24 15:27:28 +0100 |
commit | 64f2825408599589079191d53dbcfc61b8f7ba7d (patch) | |
tree | 4cfcf0b36191c3d5e4d515dbe4294b1072ac8929 /api | |
parent | 65f4bc149da9c1bca3a226fb8dbf12425d15b3dd (diff) | |
download | docs-64f2825408599589079191d53dbcfc61b8f7ba7d.tar.gz docs-64f2825408599589079191d53dbcfc61b8f7ba7d.tar.bz2 docs-64f2825408599589079191d53dbcfc61b8f7ba7d.zip |
Specing new /track/transfer and /track/order responses.
Diffstat (limited to 'api')
-rw-r--r-- | api/api-merchant.rst | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/api/api-merchant.rst b/api/api-merchant.rst index 705a3206..16a78526 100644 --- a/api/api-merchant.rst +++ b/api/api-merchant.rst @@ -243,7 +243,7 @@ The following API are made available by the merchant's `backend` to the merchant :status 200 OK: The wire transfer is known to the exchange, details about it follow in the body. - The body of the response is a :ref:`TrackTransferResponse <TrackTransferResponse>`. Note that + The body of the response is a `MerchantTrackTransferResponse`_. Note that the similarity to the response given by the exchange for a /track/transfer is completely intended. @@ -255,6 +255,55 @@ The following API are made available by the merchant's `backend` to the merchant details don't match the details stored in merchant's database about the same keyed coin. The response body contains the `TrackTransferConflictDetails`_. + .. _MerchantTrackTransferResponse: + .. _tsref-type-TrackTransferResponse: + .. code-block:: tsref + + interface TrackTransferResponse { + // 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; + + // hash of the wire details (identical for all deposits) + H_wire: HashCode; + + // Time of the execution of the wire transfer by the exchange + execution_time: Timestamp; + + // details about the deposits + deposits_sums: TrackTransferDetail[]; + + // signature from the exchange made with purpose + // `TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT` + 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. Again given + // explicitly as the client might otherwise be confused by clock skew as to + // which signing key was used. + exchange_pub: EddsaSignature; + } + + .. _tsref-type-TrackTransferDetail: + .. code-block:: tsref + + interface TrackTransferDetail { + // Business activity associated with the wire tranfered amount + // `deposit_value`. + order_id: string; + + // The total amount the exchange paid back for `order_id`. + deposit_value: Amount; + + // applicable fees for the deposit + deposit_fee: Amount; + } + **Details:** @@ -344,8 +393,9 @@ The following API are made available by the merchant's `backend` to the merchant // execution time of the wire transfer execution_time: Timestamp; - // Array of data about coins - coins: CoinWireTransfer[]; + // Total amount that has been wire transfered + // to the merchant + amount: Amount; } .. _tsref-type-CoinWireTransfer: |