taler-docs

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

get-withdrawal-operation-WITHDRAWAL_ID.rst (4862B)


      1 .. http:get:: /withdrawal-operation/$WITHDRAWAL_ID
      2 
      3   Query information about a withdrawal operation, identified by the ``WITHDRAWAL_ID``.
      4 
      5   **Request:**
      6 
      7   :query timeout_ms: *Optional.*
      8     Timeout in milliseconds, for :ref:`long-polling <long-polling>`, to wait for operation state to be different from ``old_state``. Since protocol **v3**.
      9   :query old_state:
     10     *Optional.* Defaults to "pending".
     11   :query long_poll_ms: *Optional.*
     12     Deprecated in protocol **v3**. Use *timeout_ms* instead.
     13 
     14   **Response:**
     15 
     16   :http:statuscode:`200 OK`:
     17     The withdrawal operation is known to the bank, and details are given
     18     in the `BankWithdrawalOperationStatus` response body.
     19   :http:statuscode:`404 Not found`:
     20     The operation was not found.
     21 
     22   **Details:**
     23 
     24   .. ts:def:: BankWithdrawalOperationStatus
     25 
     26     interface BankWithdrawalOperationStatus {
     27       // Current status of the operation
     28       // pending: the operation is pending parameters selection (exchange and reserve public key)
     29       // selected: the operations has been selected and is pending confirmation
     30       // aborted: the operation has been aborted
     31       // confirmed: the transfer has been confirmed and registered by the bank
     32       // @since **v1**
     33       status: "pending" | "selected" | "aborted" | "confirmed";
     34 
     35       // Currency used for the withdrawal.
     36       // MUST be present when amount is absent.
     37       // @since **v2**, may become mandatory in the future.
     38       currency?: string;
     39 
     40       // Amount that will be withdrawn with this operation
     41       // (raw amount without fee considerations).  Only
     42       // given once the amount is fixed and cannot be changed.
     43       // Optional since **v4**.
     44       amount?: Amount;
     45 
     46       // Suggestion for the amount to be withdrawn with this
     47       // operation.  Given if a suggestion was made but the
     48       // user may still change the amount.
     49       // Optional since **v4**.
     50       suggested_amount?: Amount;
     51 
     52       // Minimum amount that the wallet can choose to withdraw.
     53       // Only applicable when the amount is not fixed.
     54       // @since **v4**.
     55       min_amount?: Amount;
     56 
     57       // Maximum amount that the wallet can choose to withdraw.
     58       // Only applicable when the amount is not fixed.
     59       // @since **v4**.
     60       max_amount?: Amount;
     61 
     62       // The non-Taler card fees the customer will have
     63       // to pay to the bank / payment service provider
     64       // they are using to make the withdrawal in addition
     65       // to the amount.
     66       // @since **v4**
     67       card_fees?: Amount;
     68 
     69       // Bank account of the customer that is debiting, as a
     70       // full RFC 8905 ``payto`` URI.
     71       sender_wire?: string;
     72 
     73       // Base URL of the suggested exchange.  The bank may have
     74       // neither a suggestion nor a requirement for the exchange.
     75       // This value is typically set in the bank's configuration.
     76       suggested_exchange?: string;
     77 
     78       // Base URL of an exchange that must be used.  Optional,
     79       // not given *unless* a particular exchange is mandatory.
     80       // This value is typically set in the bank's configuration.
     81       // @since **v4**
     82       required_exchange?: string;
     83 
     84       // URL that the user needs to navigate to in order to
     85       // complete some final confirmation (e.g. 2FA).
     86       // Only applicable when ``status`` is ``selected`` or ``pending``.
     87       // It may contain the withdrawal operation id.
     88       confirm_transfer_url?: string;
     89 
     90       // Wire transfer types supported by the bank.
     91       wire_types: string[];
     92 
     93       // Reserve public key selected by the exchange,
     94       // only non-null if ``status`` is ``selected`` or ``confirmed``.
     95       // @since **v1**
     96       selected_reserve_pub?: EddsaPublicKey;
     97 
     98       // Exchange account selected by the wallet;
     99       // only non-null if ``status`` is ``selected`` or ``confirmed``.
    100       // @since **v1**
    101       selected_exchange_account?: string;
    102 
    103       // If true, tells the wallet not to allow the user to
    104       // specify an amount to withdraw and to not provide
    105       // any amount when registering with the withdrawal
    106       // operation. The amount to withdraw will be set
    107       // by the final ``/withdrawals/$WITHDRAWAL_ID/confirm`` step.
    108       // @since **v5**
    109       no_amount_to_wallet?: boolean;
    110 
    111       // @deprecated since **v1**, use ``status`` instead
    112       // Indicates whether the withdrawal was aborted.
    113       aborted: boolean;
    114 
    115       // @deprecated since **v1**, use ``status`` instead
    116       // Has the wallet selected parameters for the withdrawal operation
    117       // (exchange and reserve public key) and successfully sent it
    118       // to the bank?
    119       selection_done: boolean;
    120 
    121       // @deprecated since **v1**, use ``status`` instead
    122       // The transfer has been confirmed and registered by the bank.
    123       // Does not guarantee that the funds have arrived at the exchange already.
    124       transfer_done: boolean;
    125     }