View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0011183 | Taler | specification | public | 2026-03-04 13:57 | 2026-06-08 22:53 |
| Reporter | Christian Grothoff | Assigned To | sebasjm | ||
| Priority | high | Severity | feature | Reproducibility | N/A |
| Status | confirmed | Resolution | open | ||
| Platform | i7 | OS | Debian GNU/Linux | OS Version | squeeze |
| Product Version | git (master) | ||||
| Target Version | 1.8 | ||||
| Summary | 0011183: swap ToS and KYC Auth steps in UX | ||||
| Description | The more common UX is that the ToS acceptance comes first, and the KYC AUTH step also takes too long to be a first step. It would be better if KYC AUTH came last in the UX. But we cannot change this in the protocol, so the idea is to allow the merchant to *ask* for the ToS acceptance first, and then to have the merchant backend 'fake' the ToS acceptance submission after it learns KYC AUTH is done. This will be a MAJOR hack and requires both API changes, specification changes, and work in exchange and merchant. | ||||
| Tags | ux | ||||
|
|
03040266..0a48679b contains the necessary specification changes. |
|
|
exchange support added in protocol v36 / 72c3c3b8df0ea1cd9354aabe4fd13c9e102ca752 |
|
|
c77d9adc..357a283a adds the logic to the merchant to signal the SPA to swap ToS acceptance and to allow the SPA to tell the backend that the user did already accept the ToS. Missing: - SPA modifications: if ToS swapping is on, download /terms and make user accept them before going for KYC auth details. - sending the 'accept' of the ToS to the exchange during taler-merchant-kyccheck when we learn that this is what is needed and see that the user did already accept the ToS. Probably requires some minor fix-up to the protocol from the exchange to signal to the merchant which ToS version must be accepted. |
|
|
tos_required is now returned in GET /kyc-check/ as per exchange spec. However, there is a FIXME left to actually determine if the jrules are in the "ToS required" state. |
|
|
cefa2afe..eb86e454 in principle finishes the merchant backend logic for this. taler-merchant-kyccheck now notices IF the user did accept a ToS early, and if it is the right version (ETag) 'fakes' the POST /kyc-upload/ request to the exchange for that version. Next: would be good to have some wallet-core test of the logic, and most importantly this now needs SPA support. The SPA must support the protocol v31 changes in a proper onboarding "wizzard": 1) Detect that an exchange is requesting the KYC swap *and* that KYC Auth is required (and that the user didn't yet accept the ToS). 2) Instead of directing the user to do the KYC AUTH transfer, show him the exchange ToS (download via /terms of the exchange!!!), do the acceptance process we usually do in the exchange KYC SPA (require download, accept), and then POST to /private/accept-tos-early the ETag of the accepted terms of service. 3) Then immediately show the wire transfer instructions. If this is done, after the wire transfer is completed, taler-merchant-kyccheck will do the ToS acceptance and the account should immediately become operational (unless even more KYC/KYB onboarding is required, of course). @sebasjm: please ask me on MM if you have any questions about the design. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-03-04 13:57 | Christian Grothoff | New Issue | |
| 2026-03-04 13:57 | Christian Grothoff | Status | new => confirmed |
| 2026-03-04 13:57 | Christian Grothoff | Tag Attached: ux | |
| 2026-05-27 15:14 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2026-05-27 15:14 | Christian Grothoff | Status | confirmed => assigned |
| 2026-05-27 15:14 | Christian Grothoff | Status | assigned => confirmed |
| 2026-05-28 00:11 | Christian Grothoff | Status | confirmed => assigned |
| 2026-05-28 00:11 | Christian Grothoff | Target Version | post-1.0 => 1.8 |
| 2026-05-31 14:09 | Christian Grothoff | Note Added: 0028742 | |
| 2026-05-31 14:35 | Christian Grothoff | Note Added: 0028744 | |
| 2026-06-02 21:36 | Christian Grothoff | Note Added: 0028756 | |
| 2026-06-02 21:53 | Christian Grothoff | Note Added: 0028757 | |
| 2026-06-08 22:53 | Christian Grothoff | Note Added: 0028804 | |
| 2026-06-08 22:53 | Christian Grothoff | Assigned To | Christian Grothoff => sebasjm |
| 2026-06-08 22:53 | Christian Grothoff | Priority | normal => high |
| 2026-06-08 22:53 | Christian Grothoff | Status | assigned => confirmed |