summaryrefslogtreecommitdiff
path: root/transaction-refund-states.dot
blob: 8bd9ce6242de73bd4e8a8a4279ee1d2e1d616059 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
digraph G {

  initial[label="", shape="circle"];
  pending_in[label="pending(lookup-refund)"];
  pending_ar[label="pending(user-accept)", shape="box"];
  pending_me[label="pending(merchant)"];
  pending_re[label="pending(refresh)"];
  suspended_in[label="suspended(lookup-refund)", shape="box"];
  suspended_me[label="suspended(merchant)", shape="box"];
  suspended_re[label="suspended(refresh)", shape="box"];
  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"];
  pending_in->deleted [color="red", label="failure"];

  suspended_in->pending_in [color="blue", label="resume"];
  suspended_in->deleted [color="blue", label="force-delete"];

  pending_ar->pending_me [color="blue", label="accept"];
  pending_ar->deleted [color="blue", label="force-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="force-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="force-delete"];

  done->deleted [color="blue", label="delete"];

  failed->deleted [color="blue", label="delete"];

}