Contents

getWithdrawalDetailsForUrideprecated#

This operation is deprecated. Use prepareBankIntegratedWithdrawal instead.

Get details for withdrawing via a taler://withdraw URI, without creating a withdrawal transaction.

Request:

The request must be a GetWithdrawalDetailsForUriRequest object.

Response:

On success, the result is a WithdrawUriInfoResponse object (see prepareBankIntegratedWithdrawal).

Side effects:

Queries the bank’s bank integration API over the network; the exchange suggested by the bank may be fetched and ephemerally added to the wallet’s known exchanges. No transaction is created.

Expected errors:

The caller can handle the following errors inline: WALLET_TALER_URI_MALFORMED.

interface WithdrawUriInfoResponse {
  operationId: string;
  status: WithdrawalOperationStatusFlag;

  // URL for confirming the transfer at the bank.
  confirmTransferUrl?: string;

  currency: string;

  // Amount that will be withdrawn (raw amount, without fee
  // considerations).  Only given once the amount is fixed.
  amount: AmountString | undefined;

  // Set to true if the user is allowed to edit the amount.
  // Note that even with a non-editable amount, the amount might be
  // undefined at the beginning of the withdrawal process.
  editableAmount: boolean;

  // Maximum amount that the wallet can choose to withdraw.
  maxAmount: AmountString | undefined;

  wireFee: AmountString | undefined;

  // Exchange suggested by the bank, if any.
  defaultExchangeBaseUrl?: string;

  editableExchange: boolean;

  // Exchanges that can be used for the withdrawal, filtered to the
  // currency of the withdrawal operation.  If the exchange is not
  // editable, contains only the bank-suggested exchange.
  possibleExchanges: ExchangeListItem[];
}
// Status of a bank-integrated withdrawal operation:
// - "pending": pending parameter selection (exchange and reserve
//   public key)
// - "selected": parameters selected, pending confirmation
// - "aborted": the operation has been aborted
// - "confirmed": the transfer has been confirmed and registered by
//   the bank
type WithdrawalOperationStatusFlag =
  | "pending"
  | "selected"
  | "aborted"
  | "confirmed";
interface GetWithdrawalDetailsForUriRequest {
  talerWithdrawUri: string;

  // Deprecated, not used.
  restrictAge?: number;

  progressToken?: string;
}