Contents

GET [/instances/$INSTANCE]/private/incoming/$ID#

Obtain details about an expected incoming wire transfers the backend is anticipating. ID must be the expected_transfer_serial_id from ExpectedTransferDetails. Since protocol v26.

Required permission: transfers-read

Response:

200 OK:

The body of the response is a ExpectedTransferDetailResponse.

404 Not found:

The expected wire transfer $ID is unknown.

409 Conflict:

The exchange did not yet provide the transaction details (the last_http_status of the ExpectedTransferDetails is not 200). The information may be available later but is not yet.

Details:

interface ExpectedTransferDetailResponse {

  // List of orders that are settled by this wire
  // transfer according to the exchange.  Only
  // available if last_http_status is 200.
  reconciliation_details?: ExchangeTransferReconciliationDetails[];

  // Wire fee paid by the merchant. Only
  // available if last_http_status is 200.
  // Not present if the backend was unable to obtain the
  // wire fee for the execution_time from the exchange.
  // (If missing, this is thus indicative of a minor error.)
  wire_fee?: Amount;

  // How much should be wired to the merchant (minus fees).
  // Optional, missing if unknown. Happens if we are still waiting for
  // details from the exchange.
  // Since protocol **v27**.
  expected_credit_amount?: Amount;

  // Raw wire transfer identifier identifying the wire transfer (a base32-encoded value).
  // Since protocol **v27**.
  wtid: WireTransferIdentifierRawP;

  // Full payto://-URI of the bank account that should
  // receive the wire transfer.
  // Since protocol **v27**.
  payto_uri: string;

  // Base URL of the exchange that made the wire transfer.
  // Since protocol **v27**.
  exchange_url: string;

  // Expected time of the execution of the wire transfer
  // by the exchange, according to the exchange. Used
  // to compute the applicable wire fee.
  // Since protocol **v27**.
  expected_time: Timestamp;

  // Actual execution time of the wire transfer
  // as seen by us.
  // Optional, missing if not confirmed.
  // Since protocol **v27**.
  execution_time?: Timestamp;

  // True if we checked the exchange's answer and are happy with
  // the reconciation data.
  // False if we have an answer and are unhappy, missing if we
  // do not (yet) have an answer from the exchange.
  // Does not imply that the wire transfer was settled.
  // Since protocol **v27**.
  validated: boolean;

}
interface ExchangeTransferReconciliationDetails {

  // ID of the order for which these are the
  // reconciliation details.
  order_id: string;

  // Remaining deposit total to be paid,
  // that is the total amount of the order
  // minus any refunds that were granted.
  // The actual amount to be wired is this
  // amount minus deposit_fee and (overall)
  // minus the wire_fee of the transfer.
  remaining_deposit: Amount;

  // Deposit fees paid to the exchange for this order.
  deposit_fee: Amount;

}