taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit f8b1c04607b79758e6f295e3158db45faaafb5df
parent dba2b83e01b9d64e5567507c7d48b63054d3a91a
Author: Florian Dold <florian@dold.me>
Date:   Sun, 23 Apr 2023 22:26:16 +0200

No auto-refunds, fix diagram.

Still leaving in refunds for peer-pull-debit, even though exchange
doesn't support it.

Diffstat:
Mdesign-documents/037-wallet-transactions-lifecycle.rst | 29++++++++++++++++++-----------
Mtransaction-deposit-states.dot | 8++++++++
Mtransaction-pull-debit-states.dot | 1-
3 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst @@ -679,12 +679,13 @@ Transaction Type: Deposit All the coins were submitted, waiting to be wired. * ``[poll-success] => done`` - * ``[poll-accepted] => pending(kyc)`` + * ``[poll-accepted-kyc] => pending(kyc)`` + * ``[poll-accepted-aml] => pending(aml)`` * ``[action:abort] => aborting(refund)`` * ``pending(kyc)`` - Exchange requires KYC (or AML) before making the wire transfer. + Exchange requires KYC before making the wire transfer. * ``[long-poll:kyc] => done`` * ``[action:suspend] => suspended(kyc)`` @@ -696,6 +697,20 @@ Transaction Type: Deposit * ``[action:resume] => pending(kyc)`` * ``[action:force-delete] => deleted`` +* ``pending(aml)`` + + Exchange requires AML before making the wire transfer. + + * ``[long-poll:aml] => done`` + * ``[action:suspend] => suspended(aml)`` + +* ``suspended(aml)`` + + The user suspended us while we were waiting for AML to be finished. + + * ``[action:resume] => pending(aml)`` + * ``[action:force-delete] => deleted`` + * ``aborting(refund)`` Wallet should try to get the deposited amount back from the exchange (by submitting a refund). @@ -1105,8 +1120,7 @@ Transaction Type: Peer Pull Debit into the provided purse. * ``[action:suspend] => suspended(deposit)`` - * ``[processed-success(auto-refund-enabled)] => pending(refundable)``. FIXME(CG): I think we should not support auto-refund. - * ``[processed-success(auto-refund-disabled)] => done`` + * ``[processed-success] => done`` * ``[failure:timeout] => aborting(refresh)`` * ``[processed-success] => done`` * ``[failure:other] => aborting(refund)`` @@ -1118,13 +1132,6 @@ Transaction Type: Peer Pull Debit * ``[action:resume] => pending(deposit)`` * ``[action:abort] => aborting_refund`` -* ``pending(refundable)`` - - The payment succeed but if auto-refund-check is active it will be checking for refunds. - FIXME(CG): I do not think we should support auto-refunds here. Not included in diagram. - - * ``[auto-refund-timeout] => done`` - * ``aborting(refund)`` Aborts the payment, asking for the already deposited coins to be refunded. diff --git a/transaction-deposit-states.dot b/transaction-deposit-states.dot @@ -6,6 +6,8 @@ digraph G { pending_track[label="pending(track)"]; pending_kyc[label="pending(kyc)"]; suspended_kyc[label="suspended(kyc)", shape="box"]; + pending_aml[label="pending(aml)"]; + suspended_aml[label="suspended(aml)", shape="box"]; aborting_refresh[label="aborting(refresh)"]; aborting_refund[label="aborting(refund)"]; @@ -28,6 +30,7 @@ digraph G { pending_track->aborting_refund [color="blue", label="abort"]; pending_track->done; pending_track->pending_kyc; + pending_track->pending_aml; pending_kyc->suspended_kyc [color="blue", label="suspend"]; pending_kyc->done [color="purple", label="long-poll:kyc"]; @@ -35,6 +38,11 @@ digraph G { suspended_kyc->pending_kyc [color="blue", label="resume"]; suspended_kyc->deleted [color="blue", label="force-delete"]; + pending_aml->suspended_aml [color="blue", label="suspend"]; + pending_aml->done [color="purple", label="long-poll:aml"]; + + suspended_aml->pending_kyc [color="blue", label="resume"]; + suspended_aml->deleted [color="blue", label="force-delete"]; suspended_abort_refund->aborting_refund [color="blue", label="resume"]; suspended_abort_refresh->aborting_refresh [color="blue", label="resume"]; diff --git a/transaction-pull-debit-states.dot b/transaction-pull-debit-states.dot @@ -32,7 +32,6 @@ digraph G { pending_user->aborted [label="timeout"]; pending_deposit->done; - pending_deposit->aborting_refund [color="red", label="failure"]; pending_deposit->suspended_deposit [color="blue", label="suspend"]; pending_deposit->aborting_refresh [color="red", label="failure:timeout"];