- POST /withdrawal-operation/$WITHDRAWAL_ID#
This endpoint is used by the GNU Taler wallet to supply additional details needed to complete a withdraw operation.
Request:
interface BankWithdrawalOperationPostRequest { // Reserve public key that should become the wire transfer // subject to fund the withdrawal. reserve_pub: EddsaPublicKey; // Full RFC 8905 (payto) address of the exchange account to be // credited for the withdrawal. selected_exchange: string; // Selected amount to be transferred. Optional if the // backend already knows the amount. // @since **v4** amount?: Amount; }
Response:
- 200 OK:
The bank has accepted the withdrawal operation parameters chosen by the wallet. The response is a BankWithdrawalOperationPostResponse.
- 404 Not found:
The bank does not know about a withdrawal operation with the specified
WITHDRAWAL_ID.- 409 Conflict:
TALER_EC_BANK_UPDATE_ABORT_CONFLICT: the withdrawal has been aborted previously and can’t be modified.TALER_EC_BANK_WITHDRAWAL_OPERATION_RESERVE_SELECTION_CONFLICT: The wallet selected a different exchange or reserve public key under the same withdrawal ID.TALER_EC_BANK_DUPLICATE_RESERVE_PUB_SUBJECT: the reserve public key is already used.TALER_EC_BANK_UNKNOWN_ACCOUNT: the selected exchange account was not found.TALER_EC_BANK_ACCOUNT_IS_NOT_EXCHANGE: the selected account is not an exchange.TALER_EC_BANK_AMOUNT_DIFFERS: the specified amount will not work for this withdrawal (since v4).TALER_EC_BANK_UNALLOWED_DEBIT: the account does not have sufficient funds or the amount is too low or too high (since v4).
Details:
interface BankWithdrawalOperationPostResponse { // 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 status: "selected" | "aborted" | "confirmed"; // 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 withdrawal operation id confirm_transfer_url?: string; // @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; }