View Issue Details

IDProjectCategoryView StatusLast Update
0009244Talermerchant backendpublic2024-12-13 18:15
ReporterFlorian Dold Assigned ToFlorian Dold 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
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version0.14Fixed in Version0.14 
Summary0009244: merchant should refuse order creation when it would trigger a DEPOSIT limit
DescriptionCreating this order would lead to an order that the user can't possibly pay for.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0009171 closedFlorian Dold merchant kyc integration test [4h] 
related to 0009218 closedFlorian Dold merchant's /private/kyc endpoint does not update KYC status after AMLO decision 

Activities

Christian Grothoff

2024-10-02 17:54

manager   ~0023428

Hmm. taler-merchant-http_private-post-orders.c actually has code for exactly this (see: get_acceptable). Do you have a test to easily reproduce this?

Florian Dold

2024-10-04 13:02

manager   ~0023439

Can be reproduced easily by

$ taler-harness run-integrationtests kyc-merchant-deposit

But that test currently dies because of the assertion for 0009245.

Do you need a separate test that just triggers the order creation or can 0009245 be fixed first?

Christian Grothoff

2024-10-06 15:46

manager   ~0023452

From what I see here at *taler-merchant-httpd_private-post-orders.c:2253*:
>>
  if (1 ==
      TALER_amount_cmp (&oc->parse_order.brutto,
                        &oc->set_exchanges.total_exchange_limit))
<<
the merchant backend determines that a hard limit of *TESTKUDOS:5* applies, and the order is *exactly for 5 TESTKUDOS, so it is allowed.
If I change the test to allow only orders that are strictly below, it seems to me that the test fails differently (but still fails).

So I think this is:
1) test failure: the order total must be strictly above the limit, and
2) test failure: even if I change this in the merchant backend, the test still fails.

Please confirm/refute!

Florian Dold

2024-10-07 08:33

manager   ~0023462

The config has the following rule:

[KYC-RULE-R1]
OPERATION_TYPE = deposit
ENABLED = yes
EXPOSED = yes
IS_AND_COMBINATOR = yes
THRESHOLD = TESTKUDOS:0
TIMEFRAME = 1d
NEXT_MEASURES = M1

So I'm not sure why you're saying that a hard limit of TESTKUDOS:5 applies.

This is about a *deposit* limit, not a hard limit. The order creation should still fail, since wallets won't be able to pay for the order until the merchant does KYC.

Christian Grothoff

2024-10-07 14:00

manager   ~0023466

Latest Git fixes the issue (we only checked hard limits, not soft zero limits). You also must upgrade the exchange.
However, test still fails, despite the merchant now clearly returning 451.

Issue History

Date ModifiedUsernameFieldChange
2024-10-02 17:11Florian DoldNew Issue
2024-10-02 17:11Florian DoldStatusnew => assigned
2024-10-02 17:11Florian DoldAssigned To => Christian Grothoff
2024-10-02 17:17Florian DoldRelationship addedrelated to 0009171
2024-10-02 17:31Florian DoldRelationship addedrelated to 0009218
2024-10-02 17:54Christian GrothoffNote Added: 0023428
2024-10-04 13:02Florian DoldNote Added: 0023439
2024-10-06 15:46Christian GrothoffNote Added: 0023452
2024-10-06 15:47Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2024-10-06 15:47Christian GrothoffStatusassigned => feedback
2024-10-07 08:33Florian DoldNote Added: 0023462
2024-10-07 08:33Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2024-10-07 14:00Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2024-10-07 14:00Christian GrothoffNote Added: 0023466
2024-10-07 14:01Christian GrothoffStatusfeedback => assigned
2024-10-07 14:27Florian DoldStatusassigned => informing
2024-10-07 14:27Florian DoldResolutionopen => fixed
2024-10-07 14:35Christian GrothoffFixed in Version => 0.14
2024-12-13 18:15Christian GrothoffStatusinforming => closed
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend