summaryrefslogtreecommitdiff
path: root/transaction-refund-states.dot
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-04-09 11:43:11 +0200
committerChristian Grothoff <christian@grothoff.org>2023-04-09 11:43:11 +0200
commiteaa726572e42adc623190f4922d0bd0d6363b5b9 (patch)
treec7e5815274a305a1c58b02b4bb6c8e38f21d6e07 /transaction-refund-states.dot
parentb617c6452ec92c06533e98a26b09c23165fbbf44 (diff)
downloaddocs-eaa726572e42adc623190f4922d0bd0d6363b5b9.tar.gz
docs-eaa726572e42adc623190f4922d0bd0d6363b5b9.tar.bz2
docs-eaa726572e42adc623190f4922d0bd0d6363b5b9.zip
more spec work on dd37
Diffstat (limited to 'transaction-refund-states.dot')
-rw-r--r--transaction-refund-states.dot51
1 files changed, 51 insertions, 0 deletions
diff --git a/transaction-refund-states.dot b/transaction-refund-states.dot
new file mode 100644
index 00000000..0becc9c3
--- /dev/null
+++ b/transaction-refund-states.dot
@@ -0,0 +1,51 @@
+digraph G {
+
+ initial[label="", shape="circle"];
+ pending_in[label="pending(lookup-refund)"];
+ pending_ar[label="pending(user-accept)"];
+ pending_me[label="pending(merchant)"];
+ pending_re[label="pending(refresh)"];
+ suspended_in[label="suspended(lookup-refund)"];
+ suspended_me[label="suspended(merchant)"];
+ suspended_re[label="suspended(refresh)"];
+ done[label="done", shape="box"];
+ deleted[label="deleted", shape="box"];
+ failed[label="failed", shape="box"];
+
+ subgraph {
+ rank = same; pending_in; pending_ar; pending_me; pending_re;
+ }
+ subgraph {
+ rank = same; suspended_in; suspended_me; suspended_re; done;
+ }
+
+ initial->pending_in [color="blue", label="URI trigger"];
+
+ pending_in->pending_ar;
+ pending_in->suspended_in [color="blue", label="suspend"];
+
+ suspended_in->pending_in [color="blue", label="resume"];
+ suspended_in->deleted [color="blue", label="delete"];
+
+ pending_ar->pending_me [color="blue", label="accept"];
+ pending_ar->deleted [color="blue", label="delete"];
+
+ pending_me->pending_re;
+ pending_me->suspended_me [color="blue", label="suspend"];
+ pending_me->failed [color="red", label="failure"];
+
+ suspended_me->pending_me [color="blue", label="resume"];
+ suspended_me->deleted [color="blue", label="delete"];
+
+ pending_re->suspended_re [color="blue", label="suspend"];
+ pending_re->done;
+ pending_re->failed [color="red", label="failure"];
+
+ suspended_re->pending_re [color="blue", label="resume"];
+ suspended_re->deleted [color="blue", label="delete"];
+
+ done->deleted [color="blue", label="delete"];
+
+ failed->deleted [color="blue", label="delete"];
+
+}