View Issue Details

IDProjectCategoryView StatusLast Update
0004883Talerexchangepublic2017-06-06 12:18
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 
Product Versiongit (master) 
Target Version0.3Fixed in Version0.3 
Summary0004883: either remove transaction_id from exchange or use it for multiple payments for the same proposal
DescriptionBefore the contract->proposal rename, the exchange got the transaction_id from the merchant, but never did anything with it.

After the rename, the merchant has a order_id instead of a transaction_id, but the transaction_id might still be used to disambiguate multiple payments from the same proposal between merchant BACKEND and exchange. The merchant-frontend or wallet should never see it.

However, it is not clear whether the mechant-backend and exchange really need the transaction_id, or the hash of the (normalized / with sorted coins) deposit permission suffices.
EDIT: we need it, since coins are deposited with multiple independent API calls, and we need to correlate those.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2017-02-06 11:07

manager   ~0011690

Christian, you're more familiar with the exchange but currently out of office, can you give your opinion on this so I can work on it?

Florian Dold

2017-02-06 11:08

manager   ~0011691

Ohh, what I said above is wrong actually. We submit coins one-by-one, so we can't use the deposit permission hash.

We still need the transaction_id! But it's only visible between merchant-backend and exchange.

Marcello Stanisci

2017-02-06 13:31

reporter   ~0011694

Last edited: 2017-02-06 14:44

FIXME:

the functions:

1) TALER_EXCHANGE_deposit
2) TALER_EXCHANGE_track_transaction

in the exchange's lib needs to

1) rename the transaction_id to order_id (Not sure about that: from the exchage's perspective, they might be _transactions_)
2) type it as "const char *" (as now it's uint64_t)
3) remove the use of h_contract.

Florian Dold

2017-02-06 14:36

manager   ~0011695

Not quite, the exchange never actually cares about the order_id. We must keep transaction_id as it's important for the merchant taxation when having multiple payments per proposal.

Florian Dold

2017-02-06 14:48

manager   ~0011696

Fixed in:
https://git.taler.net/exchange.git/commit/?id=8c820b6916
https://git.taler.net/exchange.git/commit/?id=4363911618

Note that the transaction_id is still there, but on the wallet/merchant's side, it won't be part of the contract anymore. It's only used to group deposits together on the merchant side for tax and wire transfer reasons.

Issue History

Date ModifiedUsernameFieldChange
2017-02-06 11:06Florian DoldNew Issue
2017-02-06 11:06Florian DoldStatusnew => assigned
2017-02-06 11:06Florian DoldAssigned To => Florian Dold
2017-02-06 11:07Florian DoldNote Added: 0011690
2017-02-06 11:08Florian DoldNote Added: 0011691
2017-02-06 11:09Florian DoldDescription Updated
2017-02-06 11:10Florian DoldDescription Updated
2017-02-06 13:31Marcello StanisciNote Added: 0011694
2017-02-06 13:48Marcello StanisciNote Edited: 0011694
2017-02-06 13:49Marcello StanisciNote Edited: 0011694
2017-02-06 13:52Marcello StanisciNote Edited: 0011694
2017-02-06 14:36Florian DoldNote Added: 0011695
2017-02-06 14:44Marcello StanisciNote Edited: 0011694
2017-02-06 14:48Florian DoldStatusassigned => informing
2017-02-06 14:48Florian DoldResolutionopen => fixed
2017-02-06 14:48Florian DoldNote Added: 0011696
2017-02-06 18:33Christian GrothoffProduct Version => git (master)
2017-02-06 18:33Christian GrothoffFixed in Version => 0.3
2017-02-06 18:33Christian GrothoffTarget Version => 0.3
2017-06-06 12:18Christian GrothoffStatusinforming => closed