View Issue Details

IDProjectCategoryView StatusLast Update
0009719Talermerchant backendpublic2025-04-18 15:06
ReporterChristian Grothoff Assigned Tosebasjm  
PrioritynormalSeveritytextReproducibilityN/A
Status resolvedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version1.0Fixed in Version1.0 
Summary0009719: test 0-limit for deposit instant-triggers KYC requirement in SPA
DescriptionThis is the common use-case for GLS, and must work.
TagsNo tags attached.

Relationships

related to 0009487 resolvedsebasjm qc merchant KYC 

Activities

sebasjm

2025-04-10 22:24

developer   ~0024504

test-kyc-merchant-deposit already validate this, but AFAIK to get an up to date information from the merchant backend the merchant needs to try to create an order, otherwise is just cached in the database

sebasjm

2025-04-11 17:11

developer   ~0024513

kyc-merchant-deposit-rewrite has been updated to fail

Ends with
FATAL: test failed with exception Error: Too many retries

here https://git.taler.net/taler-typescript-core.git/tree/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit-rewrite.ts#n241

After retrying 10 times asking kyc status

Christian Grothoff

2025-04-11 21:07

manager   ~0024517

Well we see the following in the logs:

2025-04-11T20:57:15.490909+0200 taler-merchant-kyccheck-46502 INFO Will repeat inquiry in 6 days

That's after we got the KYC-still-required from the exchange. Naturally, your test doesn't then wait for 6 days.

There are several points to consider here thus:
1) 6 days is probably a bit high;
2) the test probably should still not rely on the background job to do this in a timely fashion, and instead should
start taler-merchant-kyccheck explicitly with timetravel (--timetravel) to force it to fetch the latest status.

I'll go and reduce it from 6 days to 6 hours, but please add the taler-merchant-kyccheck with timetravel (after the KYC was done!). Let's see if we then pass.

Christian Grothoff

2025-04-11 21:15

manager   ~0024518

ee77fb01..ce5fe921 increases kyc-check frequency to 6h as long as we have relevant soft zero-limits in the limits.

sebasjm

2025-04-11 22:07

developer   ~0024520

the test now does a timetravel +7 days before asking for kyc.

still the same behavior

Christian Grothoff

2025-04-14 20:51

manager   ~0024542

please modifiy to make sure to run the kyccheck in testmode (-t).

Florian Dold

2025-04-16 15:03

manager   ~0024575

I've added the "-t", but the command seems to hang. To reproduce, run

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

with the latest taler-typescript-core.git.

Christian Grothoff

2025-04-18 14:44

manager   ~0024601

I now did a simple merchant setup against the tops-deployment, and after starting the taler-merchant-{httpd, exchangekeyupdate,kyccheck} processes against the attache config file, I get the following weird error message:
""
The payment service provider requires you to make a wire transfer using the account provided but this account is not compatible with the exchange. / Can't complete due to wire transfer incomptability.
""
(with the typo in 'incomptability'!). Aside from the error message having typos and being hard to understand, the /kyc endpoint did indeed return:

Object { payto_uri: "payto://iban/CH6208704048981247126?receiver-name=Christian%20Grothoff", h_wire: "YXAS165XPW4YXRZP998459MXNPMPNS24BDDMKVAM37JA1S4RQ880XEGMXFX1D9GFYJS7WBZW59XQZX0K42WTRD3BYXSE0D3C54KPW38", status: "kyc-wire-impossible", … }
payto_uri "payto://iban/CH6208704048981247126?receiver-name=Christian%20Grothoff"
h_wire "YXAS165XPW4YXRZP998459MXNPMPNS24BDDMKVAM37JA1S4RQ880XEGMXFX1D9GFYJS7WBZW59XQZX0K42WTRD3BYXSE0D3C54KPW38"
status "kyc-wire-impossible"
exchange_url "https://exchange.taler-ops.ch/"
no_keys false
auth_conflict true
exchange_http_status 404
exchange_code 1939
limits [ {…}, {…}, {…}, {…}, {…}, {…}, {…} ]
0 Object { operation_type: "TRANSACTION", threshold: "CHF:1000", soft_limit: false, … }
1 Object { operation_type: "MERGE", threshold: "CHF:2500", soft_limit: false, … }
2 Object { operation_type: "WITHDRAW", threshold: "CHF:2500", soft_limit: false, … }
3 Object { operation_type: "MERGE", threshold: "CHF:15000", soft_limit: false, … }
4 Object { operation_type: "WITHDRAW", threshold: "CHF:15000", soft_limit: false, … }
5 Object { operation_type: "DEPOSIT", threshold: "CHF:0", soft_limit: true, … }
6 Object { operation_type: "MERGE", threshold: "CHF:0", soft_limit: true, … }
payto_kycauths []

So the question is: why do we create "kyc-wire-impossible" here. Will investigate.

Christian Grothoff

2025-04-18 14:48

manager   ~0024602

I've fixed the bug, now we get the prope "action required". That said, we should definitively improve the error message.
For the description use:

"Incompatible core banking system"
for the long text (when clicking on the line) use
"The core banking system cannot perform wire transfers between the payment service provider's accounts and your bank accounts. Thus you cannot use this exchange."

Christian Grothoff

2025-04-18 15:06

manager   ~0024606

f23402f15..e95565b7a fixes the strings.

Issue History

Date Modified Username Field Change
2025-04-09 17:21 Christian Grothoff New Issue
2025-04-09 17:21 Christian Grothoff Status new => assigned
2025-04-09 17:21 Christian Grothoff Assigned To => sebasjm
2025-04-10 22:24 sebasjm Note Added: 0024504
2025-04-11 17:11 sebasjm Note Added: 0024513
2025-04-11 17:12 sebasjm Assigned To sebasjm => Christian Grothoff
2025-04-11 17:12 sebasjm Category merchant backoffice SPA => merchant backend
2025-04-11 21:07 Christian Grothoff Note Added: 0024517
2025-04-11 21:15 Christian Grothoff Note Added: 0024518
2025-04-11 21:15 Christian Grothoff Assigned To Christian Grothoff => sebasjm
2025-04-11 22:07 sebasjm Note Added: 0024520
2025-04-11 22:07 sebasjm Assigned To sebasjm => Christian Grothoff
2025-04-14 20:51 Christian Grothoff Note Added: 0024542
2025-04-14 20:51 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2025-04-16 15:03 Florian Dold Note Added: 0024575
2025-04-16 15:03 Florian Dold Assigned To Florian Dold => Christian Grothoff
2025-04-17 21:03 Christian Grothoff Relationship added related to 0009487
2025-04-18 14:44 Christian Grothoff Note Added: 0024601
2025-04-18 14:48 Christian Grothoff Note Added: 0024602
2025-04-18 14:48 Christian Grothoff Assigned To Christian Grothoff => sebasjm
2025-04-18 14:48 Christian Grothoff Severity feature => text
2025-04-18 15:06 Christian Grothoff Note Added: 0024606
2025-04-18 15:06 Christian Grothoff Status assigned => resolved
2025-04-18 15:06 Christian Grothoff Resolution open => fixed
2025-04-18 15:06 Christian Grothoff Fixed in Version => 1.0