cashless2ecash

cashless2ecash: pay with cards for digital cash (experimental)
Log | Files | Refs | README

commit fed3c4c0ef228a8585948b9bdb7ecf2623f532c6
parent 15c3fbfb7ece3e76b70928c0d1dc1c57a7ba85f5
Author: Joel-Haeberli <haebu@rubigen.ch>
Date:   Wed, 22 May 2024 15:57:47 +0200

poster: enhance text

Diffstat:
Mdocs/pictures/diagrams/components_images.png | 0
Mposter/cashless2ecash_poster.pdf | 0
Mposter/cashless2ecash_poster.tex | 2+-
Mspecs/components_images.odg | 0
Mwallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/RegisterParametersScreen.kt | 14++++++++------
Mwallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/SummaryActivity.kt | 2+-
6 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/docs/pictures/diagrams/components_images.png b/docs/pictures/diagrams/components_images.png Binary files differ. diff --git a/poster/cashless2ecash_poster.pdf b/poster/cashless2ecash_poster.pdf Binary files differ. diff --git a/poster/cashless2ecash_poster.tex b/poster/cashless2ecash_poster.tex @@ -74,7 +74,7 @@ \end{posterboxenv} \begin{posterboxenv}[title=PayDroid POS Terminal App (Wallee A50)]{name=wallee, column=2, row=4, span=3, span=3} - To show that the specification is able to capture the needs for third party withdrawals and allow the integration for theoretically any means of payment, an integration was done for the payment provider Wallee. The Android app was implemented on the Wallee platform. The newly created withdrawal application sets up the withdrawal and awaits the registration at the Terminals API by the Taler wallet. Once the wallet registered itself, the terminal authorizes the payment by letting the customer present their credit card. This triggers the confirmation of the payment at the provider backend through the C2EC backend. Upon the confirmation, the Exchange allows the withdrawal of the digtial cash through the Taler Wallet. + To show that the specification is able to capture the needs for third party withdrawals and allow the integration for theoretically any means of payment, an integration was done for the payment provider Wallee. Wallee supplies a PayDroid platform (Android based) which allows to write custom terminal applications enabling strong authentication of the customer. The newly created withdrawal application sets up the withdrawal and awaits the registration at the Terminals API by the Taler wallet. Once the wallet registered itself, the customer presents their credit card to the Terminal. Upon the reception of the final confirmation, the Exchange allows the withdrawal of the digtial cash through the Taler Wallet. \end{posterboxenv} \begin{posterboxenv}[title=Enter Amount]{name=flow-diagram,column=1,row=5,span=1, rowspan=1} diff --git a/specs/components_images.odg b/specs/components_images.odg Binary files differ. diff --git a/wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/RegisterParametersScreen.kt b/wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/RegisterParametersScreen.kt @@ -33,6 +33,14 @@ fun RegisterParametersScreen( val uiState by model.uiState.collectAsState() val configuration = LocalConfiguration.current + if (!ManageActivity.SIM_WALLET_ENABLED) { + LaunchedEffect(Unit) { + model.startAuthorizationWhenReadyOrAbort(navigateToWhenRegistered) { + activity.finish() + } + } + } + Column( Modifier.width(configuration.screenWidthDp.dp), verticalArrangement = Arrangement.Center, @@ -66,12 +74,6 @@ fun RegisterParametersScreen( }) { Text(text = "simulate registration") } - } else { - Executors.newSingleThreadExecutor().execute { - model.startAuthorizationWhenReadyOrAbort(navigateToWhenRegistered) { - activity.finish() - } - } } } } diff --git a/wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/SummaryActivity.kt b/wallee-c2ec/app/src/main/java/ch/bfh/habej2/wallee_c2ec/withdrawal/SummaryActivity.kt @@ -56,7 +56,7 @@ class SummaryActivity: ComponentActivity() { Text(text = "Withdrawable Amount: ${summary.amount} ${summary.currency}") Text(text = "Fees: ${summary.fees} ${summary.currency}") Text(text = "Withdrawal Operation ID (QR Code):") - QRCode(qrCodeContent = summary.encodedWopid, 2.dp) + // QRCode(qrCodeContent = summary.encodedWopid, 2.dp) } else { Text(text = "Failed processing transaction.")