taler-docs

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

commit 87265fdf985cc48172ede01b8083414dbb75f94b
parent added705853e4e4097d146f67881c064d24f76b6
Author: Florian Dold <florian@dold.me>
Date:   Fri,  9 Feb 2024 11:36:30 +0100

improve bank integration docs based on feedback from Antoine and Christian

Diffstat:
Mcore/intro-bank-apis.rst | 44++++++++++++++++++++++++++++++++------------
1 file changed, 32 insertions(+), 12 deletions(-)

diff --git a/core/intro-bank-apis.rst b/core/intro-bank-apis.rst @@ -34,8 +34,10 @@ Improved Withdrawal Process In principle, any typical account-based (core-)banking system can be used as the underlying account-based financial layer for GNU Taler. -However, without extra support from the bank, the user experience for Taler -withdrawals is not ideal. +However, without extra support from the bank, withdrawals can be difficult for +unexperienced users. Thus to make sure that a Taler deployment can achieve +mass adoption from non-technical users, extra integration by the bank / core +banking system should be provided. Withdrawals without any extra support from the core banking system require the user to make a transaction to a particular bank account (i.e. the exchange's @@ -44,10 +46,10 @@ This identifier is generated by the user's wallet when initiating a withdrawal from the wallet application. If the user misspells the identifier, the payment will be sent back automatically by the exchange. -However, the wallet has no information about whether bank the transfer was -already made by the user or if it was even made correctly. This makes it hard -to show accurate information to the user about the status of withdrawing -digital cash into their Taler wallet. +However, until the wire transfer is successfully completed, the wallet has no +information about whether the transfer was already made by the user or if it +was even made correctly. This makes it hard to show accurate information to +the user about the status of withdrawing digital cash into their Taler wallet. Withdrawal Bank-Integration API @@ -90,7 +92,8 @@ Payto-URI Integration ===================== When initiating a withdrawal from the Taler wallet, the wallet can generate a -payto:// link or QR code with the payment information necessary to make a +payto:// link or QR code (see `RFC 8905 <https://www.rfc-editor.org/rfc/rfc8905.txt>`_) +with the payment information necessary to make a credit transfer to the exchange's settlement account. Banking apps may provide integration here simply by handling payto:// URIs. @@ -106,9 +109,26 @@ Future: Intent-Based Integration on Android (This type of integration is currently not specified, but planned for the future.) -On the Android platform, applications can communicate via Intents. That would -allow the Taler wallet to open a credit transfer dialog in a supported banking -app to fund a withdrawal. The banking app can send the status of the credit -transfer (confirmed/aborted by the user) back to the wallet, which can then -show more accurate status information about the withdrawal to the user. +On the Android platform, applications can communicate via +`Intents <https://developer.android.com/guide/components/intents-filters>`_. +That would allow the Taler wallet to open a credit transfer dialog in a +supported banking app to fund a withdrawal. The banking app can send the +status of the credit transfer (confirmed/aborted by the user) back to the +wallet, which can then show more accurate status information about the +withdrawal to the user. + + +Integration for Merchants +######################### + +The Taler merchant backend has the option to connect to what +we call the :doc:`Bank Revenue API <api-bank-revenue>`. + +A core banking system may provide this API to merchants that have a business +account at the that bank. The API provides read-only access to incoming +transactions on the merchant bank account. +It allows merchants to easily and automatically reconcile incoming bank +transfers from the Taler exchange's settlement account with the respective +Taler payments. Usually multiple Taler payments are aggregated into one larger +payment in the underlying banking layer.