taler-docs

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

get-transfers-WTID.rst (2451B)


      1 .. http:get:: /transfers/$WTID
      2 
      3   Provides deposits associated with a given wire transfer.  The
      4   wire transfer identifier (WTID) and the base URL for tracking
      5   the wire transfer are both given in the wire transfer subject.
      6 
      7   **Request:**
      8 
      9   **Response:**
     10 
     11   :http:statuscode:`200 OK`:
     12     The wire transfer is known to the exchange, details about it follow in the body.
     13     The body of the response is a `TrackTransferResponse`.
     14   :http:statuscode:`404 Not found`:
     15     The wire transfer identifier is unknown to the exchange.
     16 
     17   .. ts:def:: TrackTransferResponse
     18 
     19     interface TrackTransferResponse {
     20       // Actual amount of the wire transfer, excluding the wire fee.
     21       total: Amount;
     22 
     23       // Applicable wire fee that was charged.
     24       wire_fee: Amount;
     25 
     26       // Public key of the merchant (identical for all deposits).
     27       merchant_pub: EddsaPublicKey;
     28 
     29       // Hash of the payto:// account URI (identical for all deposits).
     30       h_payto: FullPaytoHash;
     31 
     32       // Time of the execution of the wire transfer by the exchange.
     33       execution_time: Timestamp;
     34 
     35       // Details about the deposits.
     36       deposits: TrackTransferDetail[];
     37 
     38       // Signature from the exchange made with purpose
     39       // ``TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT``
     40       // over a `TALER_WireDepositDataPS`.
     41       exchange_sig: EddsaSignature;
     42 
     43       // Public EdDSA key of the exchange that was used to generate the signature.
     44       // Should match one of the exchange's signing keys from ``/keys``.  Again given
     45       // explicitly as the client might otherwise be confused by clock skew as to
     46       // which signing key was used.
     47       exchange_pub: EddsaSignature;
     48     }
     49 
     50   .. ts:def:: TrackTransferDetail
     51 
     52     interface TrackTransferDetail {
     53       // SHA-512 hash of the contact of the merchant with the customer.
     54       h_contract_terms: HashCode;
     55 
     56       // Coin's public key, both ECDHE and EdDSA.
     57       coin_pub: CoinPublicKey;
     58 
     59       // The total amount the original deposit was worth,
     60       // including fees and after applicable refunds.
     61       deposit_value: Amount;
     62 
     63       // Applicable fees for the deposit, possibly
     64       // reduced or waived due to refunds.
     65       deposit_fee: Amount;
     66 
     67       // Refunds that were applied to the value of
     68       // this coin. Optional.
     69       // @since protocol **v19**.  Before, refunds were
     70       // incorrectly still included in the
     71       // ``deposit_value`` (!).
     72       refund_total?: Amount;
     73 
     74     }