taler-docs

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

commit 3da439773f360152f938006e6f2d5c8a646b7fc8
parent 48e9d2c4deff3935ecc92f9b357a19ef81207b94
Author: Joel Häberli <haebu@rubigen.ch>
Date:   Wed, 17 Apr 2024 10:58:54 +0200

docs: integrate review feedback

Diffstat:
Mcore/api-bank-integration.rst | 60++++++++++++++----------------------------------------------
1 file changed, 14 insertions(+), 46 deletions(-)

diff --git a/core/api-bank-integration.rst b/core/api-bank-integration.rst @@ -129,7 +129,7 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr // Reserve public key selected by the exchange, // only non-null if ``status`` is ``selected`` or ``confirmed``. // @since v1 - selected_reserve_pub?: string; + selected_reserve_pub?: EddsaPublicKey; // Exchange account selected by the wallet // only non-null if ``status`` is ``selected`` or ``confirmed``. @@ -151,27 +151,6 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr // Does not guarantee that the funds have arrived at the exchange already. transfer_done: boolean; } - - .. ts:def:: IndirectWithdrawalOperationStatus - - // Since vC2EC - interface IndirectWithdrawalOperationStatus { - - // the current status of the withdrawal - status: "pending" | "selected" | "aborted" | "confirmed"; - - // the withdrawable amount - amount: Amount; - - // a refund capable payto-uri - sender_wire: string; - - // the wire type used for the transaction - wire_types: string[]; - - // the reserve public key tied to the withdrawal - reserve_public_key: EddsaPublicKey; - } .. http:post:: /withdrawal-operation/$WITHDRAWAL_ID @@ -182,23 +161,10 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr interface BankWithdrawalOperationPostRequest { // Reserve public key. - reserve_pub: string; + reserve_pub: EddsaPublicKey; // Payto address of the exchange selected for the withdrawal. - selected_exchange: string; - } - - .. ts:def:: IndirectWithdrawalOperationPostRequest - - // Since vC2EC - interface ProviderWithdrawalOperationPostRequest { - // Reserve public key. - reserve_pub: string; - - // Id of the terminal of a provider. The terminal - // is the specific device leveraged for the withdrawal - // owned by a specific provider. - terminal_id: number; + selected_exchange?: string; } **Response:** @@ -206,10 +172,6 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr :http:statuscode:`200 OK`: The bank has accepted the withdrawal operation parameters chosen by the wallet. The response is a `BankWithdrawalOperationPostResponse`. - :http:statuscode:`204 No Content`: - The bank has accepted the withdrawal operation parameters chosen by the wallet. - This response will be returned in case of a `IndirectWithdrawalOperationPostRequest`. - Since vC2EC :http:statuscode:`404 Not found`: The bank does not know about a withdrawal operation with the specified ``WITHDRAWAL_ID``. :http:statuscode:`409 Conflict`: @@ -242,7 +204,7 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr transfer_done: boolean; } -.. http:post:: /withdrawal-operation/$WITHDRAWAL_ID/payment +.. http:post:: /withdrawal-operation/$WITHDRAWAL_ID/confirm Since protocol vC2EC @@ -256,20 +218,26 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr **Request:** - .. ts:def:: PaymentNotification + .. ts:def:: BankWithdrawalConfirmationRequest - interface PaymentNotification { + interface WithdrawalConfirmationRequest { // The provider specific transaction identifier. // This identifier is used by the bank to attest the // payment at the providers backend. provider_transaction_id: string; + + // An identifier, which identifies the device + // processing the payment for the withdrawal + // triggering the confirmation (e.g. Terminal + // or ATM). Intended for accountability. + src_device_id: string; // The amount to withdraw. Fees are to be sent in the // separate field 'fees' and not included in the amount. - amount Amount; + amount: Amount; // The fees, the customer payed at the providers facility. - fees: Amount; + card_fees: Amount; } **Response**