View Issue Details

IDProjectCategoryView StatusLast Update
0010194Talermerchant backendpublic2025-08-31 17:32
ReporterFlorian Dold Assigned ToChristian Grothoff 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
PriorityurgentSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.0 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0010194: merchant backend should improve bank account selection when creating orders
DescriptionIn particular, the merchant should prefer accounts that are supported by the exchanges relevant for the order.

Right now, the merchant can select bank accounts where payment of the order would be impossible, since the supported exchanges do not support the wire method of the bank account.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

has duplicate 0009748 closedChristian Grothoff improve selection of bank account on order creation 

Activities

Christian Grothoff

2025-07-20 14:46

manager   ~0025540

e4f7102c..12951e28 contains a possible fix, should be checked.

Christian Grothoff

2025-07-20 14:48

manager   ~0025541

Note that the wallet test
    {
      "name": "kyc-fail-recover-double",
      "timeSec": 2.997,
      "status": "fail"
    },
fails, and we should double-check if the merchant is too permissive or if the test needs to be updated.

Florian Dold

2025-08-20 17:22

manager   ~0025669

The test now pass, it it was an unrelated issues (wrong assumptions in the test).

@Christian: Can we resolve this? Or do we want/need a test in taler-harness for the new behavior of the merchant? Is it tested at all so far?

Christian Grothoff

2025-08-20 17:52

manager   ~0025671

I thought there was one test in the taler-harness now already. I'm OK with this being resolved for now, but also OK with more tests ;-).

Florian Dold

2025-08-25 00:00

manager   ~0025687

I've implemented a proper test, and the merchant *almost* does the right thing, but it returns the same exchange twice!

You can reproduce it with:
$ taler-harness run-integrationtests merchant-acctsel

You'll get something like this:

[...]
    "exchanges": [
      {
        "master_pub": "317HC716S2M9QSMEYX21SFV3VEKCS327GXBRHZKT83Q1SSM6NNSG",
        "priority": 1024,
        "url": "http://localhost:8181/",
        "max_contribution": "TESTKUDOS:5"
      },
      {
        "master_pub": "317HC716S2M9QSMEYX21SFV3VEKCS327GXBRHZKT83Q1SSM6NNSG",
        "priority": 1024,
        "url": "http://localhost:8181/",
        "max_contribution": "TESTKUDOS:5"
      }
    ],
[...]

FATAL: test failed with exception AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:

2 !== 1

Christian Grothoff

2025-08-28 11:47

manager   ~0025714

Test passes with the latest merchant backend.

Issue History

Date ModifiedUsernameFieldChange
2025-07-16 13:46Florian DoldNew Issue
2025-07-16 15:11Florian DoldSeverityminor => feature
2025-07-16 18:24Christian GrothoffAssigned To => Christian Grothoff
2025-07-16 18:24Christian GrothoffStatusnew => assigned
2025-07-16 18:24Christian GrothoffProduct Version => 1.0
2025-07-17 12:32Christian GrothoffPrioritynormal => urgent
2025-07-20 14:46Christian GrothoffNote Added: 0025540
2025-07-20 14:48Christian GrothoffNote Added: 0025541
2025-07-30 09:19Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2025-08-20 17:22Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2025-08-20 17:22Florian DoldStatusassigned => feedback
2025-08-20 17:22Florian DoldNote Added: 0025669
2025-08-20 17:52Christian GrothoffNote Added: 0025671
2025-08-20 17:52Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2025-08-25 00:00Florian DoldNote Added: 0025687
2025-08-25 00:01Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2025-08-25 00:01Florian DoldStatusfeedback => assigned
2025-08-28 11:47Christian GrothoffStatusassigned => informing
2025-08-28 11:47Christian GrothoffResolutionopen => fixed
2025-08-28 11:47Christian GrothoffFixed in Version => 1.0 stretch goals
2025-08-28 11:47Christian GrothoffNote Added: 0025714
2025-08-28 11:47Christian GrothoffTarget Version1.1 => 1.0 stretch goals
2025-08-31 17:09Christian GrothoffStatusinforming => closed
2025-08-31 17:32Christian GrothoffRelationship addedhas duplicate 0009748