View Issue Details

IDProjectCategoryView StatusLast Update
0010256Talersandcastle (containerized demo deployment)public2025-10-31 19:49
Reportersebasjm Assigned ToAntoine A Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version1.0 
Target Version1.1Fixed in Version1.1 
Summary0010256: bank reports wrong payto URI
DescriptionCreate a normal withdrawal

$ taler-wallet-cli handle-uri 'taler://withdraw/bank.demo.taler.net/taler-integration/786555b7-0167-4c8a-94b5-9160ad624277'

Then payto host is wrong, "sandcastle" instead of "bank.demo.taler.net"

$ taler-wallet-cli transactions | jq '.transactions[0].withdrawalDetails.exchangeCreditAccountDetails[0].paytoUri'
"payto://x-taler-bank/sandcastle/exchange?receiver-name=Sandcastle%20Echange%20Inc&amount=KUDOS%3A5"

Also, confirmation URL contains a hardcoded port

$ taler-wallet-cli transactions | jq '.transactions[0].withdrawalDetails.bankConfirmationUrl'
"https://bank.demo.taler.net:443/webui/#/operation/786555b7-0167-4c8a-94b5-9160ad624277"

Next, the bank account in wallet-core is "localhost", which is double wrong (maybe is using localhost when the x-taler-bank host can't be resolved)

$ taler-wallet-cli bank-accounts list
Bank accounts: {
  "accounts": [
    {
      "bankAccountId": "acct:3GT0FEM2HC9CKX6B4VY1CE76ZHBRX5Y16ZH13ZANK0XMD94N323G",
      "paytoUri": "payto://x-taler-bank/localhost/sebasjm2?receiver-name=other%20sebasjm",
      "kycCompleted": false,
      "currencies": [
        "KUDOS"
      ]
    }
  ]
}


This maybe a sancastle's configuration problem
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2025-08-19 19:55

manager   ~0025659

The URI with `sandcastle` as the host is simply the configuration. It doesn't really matter that it's not the real domain, it should be treated opaquely. But we can of course adjust the config.

@Antoine: How does libeufin-bank determine which hostname to use for its internal bank account names? Is/should there be an option? In general, does libeufin-bank even take the domain into account or does it ignore it?

sebasjm

2025-08-21 13:29

developer   ~0025673

I disagree

The payto:// documentation says that it is the hostname and wallet webex renders it as <a href /> and maybe we want in the future show/verify related information from the domain certificate? My point is that it should be a valid domain a be related to the base_url of libeufin

We can use the hostname to infer the taler-revenue API endpoint and in the merchant backoffice we can create a more simpler setup (asking for payto:// and the password/access-token of the account)

The other problems is way taler-wallet-core reports the payto with localhost instead of sandcastle

Antoine A

2025-09-19 14:25

manager   ~0025947

Should not happens again if BASE_URL is set after 0a39bbc41c5502dd1305c41ed7e28e174223b0e9

Issue History

Date ModifiedUsernameFieldChange
2025-08-18 13:49sebasjmNew Issue
2025-08-18 18:41Christian GrothoffAssigned To => Florian Dold
2025-08-18 18:41Christian GrothoffStatusnew => assigned
2025-08-19 19:55Florian DoldNote Added: 0025659
2025-08-19 19:55Florian DoldAssigned ToFlorian Dold => Antoine A
2025-08-21 13:29sebasjmNote Added: 0025673
2025-08-31 17:08Christian GrothoffProduct Version => 1.0
2025-08-31 17:08Christian GrothoffTarget Version1.0 stretch goals => 1.1
2025-09-19 14:25Antoine AStatusassigned => informing
2025-09-19 14:25Antoine AResolutionopen => fixed
2025-09-19 14:25Antoine ANote Added: 0025947
2025-10-18 22:51Christian GrothoffFixed in Version => 1.1
2025-10-31 19:49Christian GrothoffStatusinforming => closed