- GET /withdrawal-operation/$WITHDRAWAL_ID#
Query information about a withdrawal operation, identified by the
WITHDRAWAL_ID.Request:
- Query Parameters:
timeout_ms – Optional. Timeout in milliseconds, for long-polling, to wait for operation state to be different from
old_state. Since protocol v3.old_state – Optional. Defaults to “pending”.
long_poll_ms – Optional. Deprecated in protocol v3. Use timeout_ms instead.
Response:
- 200 OK:
The withdrawal operation is known to the bank, and details are given in the BankWithdrawalOperationStatus response body.
- 404 Not found:
The operation was not found.
Details:
interface BankWithdrawalOperationStatus { // Current status of the operation // pending: the operation is pending parameters selection (exchange and reserve public key) // selected: the operations has been selected and is pending confirmation // aborted: the operation has been aborted // confirmed: the transfer has been confirmed and registered by the bank // @since **v1** status: "pending" | "selected" | "aborted" | "confirmed"; // Currency used for the withdrawal. // MUST be present when amount is absent. // @since **v2**, may become mandatory in the future. currency?: string; // Amount that will be withdrawn with this operation // (raw amount without fee considerations). Only // given once the amount is fixed and cannot be changed. // Optional since **v4**. amount?: Amount; // Suggestion for the amount to be withdrawn with this // operation. Given if a suggestion was made but the // user may still change the amount. // Optional since **v4**. suggested_amount?: Amount; // Minimum amount that the wallet can choose to withdraw. // Only applicable when the amount is not fixed. // @since **v4**. min_amount?: Amount; // Maximum amount that the wallet can choose to withdraw. // Only applicable when the amount is not fixed. // @since **v4**. max_amount?: Amount; // The non-Taler card fees the customer will have // to pay to the bank / payment service provider // they are using to make the withdrawal in addition // to the amount. // @since **v4** card_fees?: Amount; // Bank account of the customer that is debiting, as a // full RFC 8905 payto URI. sender_wire?: string; // Base URL of the suggested exchange. The bank may have // neither a suggestion nor a requirement for the exchange. // This value is typically set in the bank's configuration. suggested_exchange?: string; // Base URL of an exchange that must be used. Optional, // not given *unless* a particular exchange is mandatory. // This value is typically set in the bank's configuration. // @since **v4** required_exchange?: string; // URL that the user needs to navigate to in order to // complete some final confirmation (e.g. 2FA). // Only applicable when status is selected or pending. // It may contain the withdrawal operation id. confirm_transfer_url?: string; // Wire transfer types supported by the bank. wire_types: string[]; // Reserve public key selected by the exchange, // only non-null if status is selected or confirmed. // @since **v1** selected_reserve_pub?: EddsaPublicKey; // Exchange account selected by the wallet; // only non-null if status is selected or confirmed. // @since **v1** selected_exchange_account?: string; // If true, tells the wallet not to allow the user to // specify an amount to withdraw and to not provide // any amount when registering with the withdrawal // operation. The amount to withdraw will be set // by the final /withdrawals/$WITHDRAWAL_ID/confirm step. // @since **v5** no_amount_to_wallet?: boolean; // @deprecated since **v1**, use status instead // Indicates whether the withdrawal was aborted. aborted: boolean; // @deprecated since **v1**, use status instead // Has the wallet selected parameters for the withdrawal operation // (exchange and reserve public key) and successfully sent it // to the bank? selection_done: boolean; // @deprecated since **v1**, use status instead // The transfer has been confirmed and registered by the bank. // Does not guarantee that the funds have arrived at the exchange already. transfer_done: boolean; }