View Issue Details

IDProjectCategoryView StatusLast Update
0004883Talerexchangepublic2017-06-06 14:18
ReporterFlorian Dold Assigned ToFlorian Dold  
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.

Activities

Florian Dold

2017-02-06 12: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 12: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 14:31

reporter   ~0011694

Last edited: 2017-02-06 15: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 15: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 15: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 Modified Username Field Change
2017-02-06 12:06 Florian Dold New Issue
2017-02-06 12:06 Florian Dold Status new => assigned
2017-02-06 12:06 Florian Dold Assigned To => Florian Dold
2017-02-06 12:07 Florian Dold Note Added: 0011690
2017-02-06 12:08 Florian Dold Note Added: 0011691
2017-02-06 12:09 Florian Dold Description Updated
2017-02-06 12:10 Florian Dold Description Updated
2017-02-06 14:31 Marcello Stanisci Note Added: 0011694
2017-02-06 14:48 Marcello Stanisci Note Edited: 0011694
2017-02-06 14:49 Marcello Stanisci Note Edited: 0011694
2017-02-06 14:52 Marcello Stanisci Note Edited: 0011694
2017-02-06 15:36 Florian Dold Note Added: 0011695
2017-02-06 15:44 Marcello Stanisci Note Edited: 0011694
2017-02-06 15:48 Florian Dold Status assigned => resolved
2017-02-06 15:48 Florian Dold Resolution open => fixed
2017-02-06 15:48 Florian Dold Note Added: 0011696
2017-02-06 19:33 Christian Grothoff Product Version => git (master)
2017-02-06 19:33 Christian Grothoff Fixed in Version => 0.3
2017-02-06 19:33 Christian Grothoff Target Version => 0.3
2017-06-06 14:18 Christian Grothoff Status resolved => closed