Update state machine documentation to use dash-separated naming
- Convert all state names from underscore to dash format in markdown documentation - Ensures consistency across all documentation formats (dot, svg, markdown) - All payment states now use dashes: confirmed-complete, underpaid-refunded, etc. - Maintains consistency with the source dot file which is the canonical reference This completes the documentation naming convention standardization.
This commit is contained in:
parent
fde7e2b2d0
commit
3fedfeb849
4 changed files with 405 additions and 387 deletions
7
Makefile
7
Makefile
|
|
@ -68,13 +68,18 @@ help:
|
|||
@echo " make sweep-all-doge - Sweep ALL Dogecoin wallet funds to cold storage (dust collection)"
|
||||
@echo " make monero-transactions - View recent wallet transactions"
|
||||
@echo ""
|
||||
@echo "DOCUMENTATION:"
|
||||
@echo " make docs/state-machine.dot.svg - Generate state machine diagram from .dot file"
|
||||
@echo ""
|
||||
@echo "CLEANUP:"
|
||||
@echo " make clean - Remove virtual environment"
|
||||
@echo ""
|
||||
@echo "For more info, see README.md and CRYPTO.rst"
|
||||
|
||||
docs/state-machine.dot.svg:
|
||||
docs/state-machine.dot.svg: docs/state-machine.dot
|
||||
@echo "Generating state machine diagram from docs/state-machine.dot..."
|
||||
dot -Tsvg docs/state-machine.dot -o docs/state-machine.dot.svg
|
||||
@echo "✓ Generated docs/state-machine.dot.svg"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Environment Setup Targets
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ This document visualizes the complete state machine for cryptocurrency payments
|
|||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> pending
|
||||
[*] --> doublepay_refunded : Duplicate payment detected
|
||||
[*] --> latepay_refunded: Late payment detected
|
||||
[*] --> doublepay-refunded : Duplicate payment detected
|
||||
[*] --> latepay-refunded: Late payment detected
|
||||
|
||||
%% Main payment flow
|
||||
pending --> received : Payment detected in mempool
|
||||
|
|
@ -18,47 +18,47 @@ stateDiagram-v2
|
|||
%% From received state - multiple possible outcomes
|
||||
%% NOTE: received payments CANNOT expire (detected in mempool, confirmations tracking)
|
||||
received --> confirmed : Sufficient payment + confirmations
|
||||
received --> confirmed_overpay : Overpayment detected
|
||||
received --> underpaid_refunded : Underpayment detected
|
||||
received --> out_of_stock_refunded : Product unavailable
|
||||
received --> confirmed-overpay : Overpayment detected
|
||||
received --> underpaid-refunded : Underpayment detected
|
||||
received --> out-of-stock-refunded : Product unavailable
|
||||
|
||||
%% Successful payment paths
|
||||
confirmed --> confirmed_complete : Swept to cold storage
|
||||
confirmed_complete --> [*] : ✓ Terminal Success
|
||||
confirmed --> confirmed-complete : Swept to cold storage
|
||||
confirmed-complete --> [*] : ✓ Terminal Success
|
||||
|
||||
%% Overpayment refund flow
|
||||
confirmed_overpay --> confirmed_overpay_refunded : Initiate refund
|
||||
confirmed_overpay_refunded --> confirmed_overpay_refunded_complete : Refund confirmed
|
||||
confirmed_overpay_refunded --> confirmed_overpay_not_refunded : No refund wallet configured
|
||||
confirmed_overpay_refunded_complete --> [*] : ✓ Terminal Success
|
||||
confirmed_overpay_not_refunded --> [*] : ✓ Terminal Success (Not Refunded)
|
||||
confirmed-overpay --> confirmed-overpay-refunded : Initiate refund
|
||||
confirmed-overpay-refunded --> confirmed-overpay-refunded-complete : Refund confirmed
|
||||
confirmed-overpay-refunded --> confirmed-overpay-not-refunded : No refund wallet configured
|
||||
confirmed-overpay-refunded-complete --> [*] : ✓ Terminal Success
|
||||
confirmed-overpay-not-refunded --> [*] : ✓ Terminal Success (Not Refunded)
|
||||
|
||||
%% Expired payment handling (terminal - late payments create new objects)
|
||||
expired --> [*] : ✓ Terminal Failed (Expired)
|
||||
|
||||
%% Late payment objects (created separately for payments after expiration)
|
||||
latepay_refunded --> latepay_refunded_complete : Refund confirmed
|
||||
latepay_refunded --> latepay_not_refunded : No refund wallet configured
|
||||
latepay_refunded_complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
latepay_not_refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
latepay-refunded --> latepay-refunded-complete : Refund confirmed
|
||||
latepay-refunded --> latepay-not-refunded : No refund wallet configured
|
||||
latepay-refunded-complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
latepay-not-refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
|
||||
%% Underpayment refund flow
|
||||
underpaid_refunded --> underpaid_refunded_complete : Refund confirmed
|
||||
underpaid_refunded --> underpaid_not_refunded : No refund wallet configured
|
||||
underpaid_refunded_complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
underpaid_not_refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
underpaid-refunded --> underpaid-refunded-complete : Refund confirmed
|
||||
underpaid-refunded --> underpaid-not-refunded : No refund wallet configured
|
||||
underpaid-refunded-complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
underpaid-not-refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
|
||||
%% Out of stock refund flow
|
||||
out_of_stock_refunded --> out_of_stock_refunded_complete : Refund confirmed
|
||||
out_of_stock_refunded --> out_of_stock_not_refunded : No refund wallet configured
|
||||
out_of_stock_refunded_complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
out_of_stock_not_refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
out-of-stock-refunded --> out-of-stock-refunded-complete : Refund confirmed
|
||||
out-of-stock-refunded --> out-of-stock-not-refunded : No refund wallet configured
|
||||
out-of-stock-refunded-complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
out-of-stock-not-refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
|
||||
%% Double payment refund flow
|
||||
doublepay_refunded --> doublepay_refunded_complete : Refund confirmed
|
||||
doublepay_refunded --> doublepay_not_refunded : No refund wallet configured
|
||||
doublepay_refunded_complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
doublepay_not_refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
doublepay-refunded --> doublepay-refunded-complete : Refund confirmed
|
||||
doublepay-refunded --> doublepay-not-refunded : No refund wallet configured
|
||||
doublepay-refunded-complete --> [*] : ✓ Terminal Failed (Refund Complete)
|
||||
doublepay-not-refunded --> [*] : ✓ Terminal Failed (Not Refunded)
|
||||
|
||||
%% User cancellation (always terminal, only from pending)
|
||||
cancelled --> [*] : ✓ Terminal Failed (Cancelled)
|
||||
|
|
@ -71,19 +71,19 @@ stateDiagram-v2
|
|||
classDef processingState fill:#cce5ff,stroke:#004085,color:#004085
|
||||
|
||||
%% Successful payments (customer received product)
|
||||
class confirmed,confirmed_complete,confirmed_overpay_refunded_complete,confirmed_overpay_not_refunded successState
|
||||
class confirmed,confirmed-complete,confirmed-overpay-refunded-complete,confirmed-overpay-not-refunded successState
|
||||
|
||||
%% Initial/waiting states (entry points that don't come from 'received')
|
||||
class pending,latepay_refunded,doublepay_refunded initialWaitingState
|
||||
class pending,latepay-refunded,doublepay-refunded initialWaitingState
|
||||
|
||||
%% Active refund processing states
|
||||
class confirmed_overpay_refunded,underpaid_refunded,out_of_stock_refunded refundState
|
||||
class confirmed-overpay-refunded,underpaid-refunded,out-of-stock-refunded refundState
|
||||
|
||||
%% Failed payments (customer did not receive product)
|
||||
class expired,cancelled,latepay_refunded_complete,latepay_not_refunded,underpaid_refunded_complete,underpaid_not_refunded,out_of_stock_refunded_complete,out_of_stock_not_refunded,doublepay_refunded_complete,doublepay_not_refunded failedState
|
||||
class expired,cancelled,latepay-refunded-complete,latepay-not-refunded,underpaid-refunded-complete,underpaid-not-refunded,out-of-stock-refunded-complete,out-of-stock-not-refunded,doublepay-refunded-complete,doublepay-not-refunded failedState
|
||||
|
||||
%% Processing states
|
||||
class received,confirmed_overpay processingState
|
||||
class received,confirmed-overpay processingState
|
||||
```
|
||||
|
||||
## Semantic State Groups
|
||||
|
|
@ -94,8 +94,8 @@ The state machine uses semantic groups to categorize states by business logic pu
|
|||
Entry point states that don't transition from `received` - they represent the start of payment flows:
|
||||
|
||||
- **`pending`** - Initial state for new payment requests
|
||||
- **`latepay_refunded`** - Initial state for late payment objects (payments received after expiration)
|
||||
- **`doublepay_refunded`** - Initial state for duplicate payment objects (separate payment instances)
|
||||
- **`latepay-refunded`** - Initial state for late payment objects (payments received after expiration)
|
||||
- **`doublepay-refunded`** - Initial state for duplicate payment objects (separate payment instances)
|
||||
|
||||
**Business Logic**: These states represent separate payment flows and are processed with Priority 0-2 depending on their nature.
|
||||
|
||||
|
|
@ -103,9 +103,9 @@ Entry point states that don't transition from `received` - they represent the st
|
|||
Customer received their product - invoices are preserved:
|
||||
|
||||
- **`confirmed`** - Normal successful payment (exact amount, confirmed)
|
||||
- **`confirmed_complete`** - Confirmed payment that has been swept to cold storage
|
||||
- **`confirmed_overpay_refunded_complete`** - Overpaid, customer got product + refund
|
||||
- **`confirmed_overpay_not_refunded`** - Overpaid, customer got product, no refund wallet configured
|
||||
- **`confirmed-complete`** - Confirmed payment that has been swept to cold storage
|
||||
- **`confirmed-overpay-refunded-complete`** - Overpaid, customer got product + refund
|
||||
- **`confirmed-overpay-not-refunded`** - Overpaid, customer got product, no refund wallet configured
|
||||
|
||||
**Business Logic**: `is_successful_payment() = True`, `should_keep_invoice() = True`
|
||||
|
||||
|
|
@ -114,18 +114,18 @@ Customer did not receive product - invoices are deleted:
|
|||
|
||||
- **`expired`** - Payment window expired before any blockchain detection
|
||||
- **`cancelled`** - User cancelled payment (only from pending)
|
||||
- **`*_refunded_complete`** - Failed payments with completed refunds
|
||||
- **`*_not_refunded`** - Failed payments with no refund wallet configured
|
||||
- **`*-refunded-complete`** - Failed payments with completed refunds
|
||||
- **`*-not-refunded`** - Failed payments with no refund wallet configured
|
||||
|
||||
**Business Logic**: `is_failed_payment() = True`, `should_keep_invoice() = False`
|
||||
|
||||
### 🟡 **Refund Processing States** (Yellow)
|
||||
Active refund workflows - intermediate states:
|
||||
|
||||
- **`confirmed_overpay_refunded`** - Overpayment refund in progress (customer got product)
|
||||
- **`underpaid_refunded`** - Underpayment refund in progress
|
||||
- **`out_of_stock_refunded`** - Out of stock refund in progress
|
||||
- **Note**: `latepay_refunded` and `doublepay_refunded` are Initial/Waiting states, not regular refund processing
|
||||
- **`confirmed-overpay-refunded`** - Overpayment refund in progress (customer got product)
|
||||
- **`underpaid-refunded`** - Underpayment refund in progress
|
||||
- **`out-of-stock-refunded`** - Out of stock refund in progress
|
||||
- **Note**: `latepay-refunded` and `doublepay-refunded` are Initial/Waiting states, not regular refund processing
|
||||
|
||||
**Business Logic**: Priority 0 processing (highest), actively monitored for confirmation
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ Active refund workflows - intermediate states:
|
|||
Active payment processing states:
|
||||
|
||||
- **`received`** - Payment detected on blockchain, being processed
|
||||
- **`confirmed_overpay`** - Overpayment confirmed, deciding refund action
|
||||
- **`confirmed-overpay`** - Overpayment confirmed, deciding refund action
|
||||
|
||||
**Business Logic**: Priority 1-3 processing, confirmation monitoring
|
||||
|
||||
|
|
@ -153,8 +153,8 @@ All status constants use past-tense naming for consistency:
|
|||
### **Rule 3: Entry Points vs Transitions**
|
||||
Some states are entry points for new payment objects, not transitions from existing payments:
|
||||
- `pending` - Entry point for new payments
|
||||
- `latepay_refunded` - Entry point for late payment objects (created after expiration)
|
||||
- `doublepay_refunded` - Entry point for duplicate payment objects
|
||||
- `latepay-refunded` - Entry point for late payment objects (created after expiration)
|
||||
- `doublepay-refunded` - Entry point for duplicate payment objects
|
||||
|
||||
### **Rule 4: Invoice Preservation Logic**
|
||||
```python
|
||||
|
|
@ -168,7 +168,7 @@ should_keep_invoice() = is_successful_payment()
|
|||
The crypto watcher processes payments by priority to ensure proper fund flow and customer service:
|
||||
|
||||
### **Priority 0 (Highest): Customer Refunds**
|
||||
- `doublepay_refunded`, `latepay_refunded`, `underpaid_refunded`, `out_of_stock_refunded`
|
||||
- `doublepay-refunded`, `latepay-refunded`, `underpaid-refunded`, `out-of-stock-refunded`
|
||||
- **Rationale**: Customer service is highest priority
|
||||
|
||||
### **Priority 1: New Incoming Payments**
|
||||
|
|
@ -180,50 +180,50 @@ The crypto watcher processes payments by priority to ensure proper fund flow and
|
|||
- **Rationale**: General processing tasks
|
||||
|
||||
### **Priority 3: Auto-Sweep to Shop Owner**
|
||||
- `confirmed`, `confirmed_overpay`
|
||||
- `confirmed`, `confirmed-overpay`
|
||||
- **Rationale**: Move confirmed funds to shop owner
|
||||
|
||||
### **Priority 4 (Lowest): Restocking Fee Sweeps**
|
||||
- `*_refunded_complete` states
|
||||
- `*-refunded-complete` states
|
||||
- **Rationale**: Most dangerous operation, requires high confirmations, done last
|
||||
|
||||
## Business Logic Flows
|
||||
|
||||
### **Normal Payment Flow**
|
||||
```
|
||||
pending → received → confirmed → confirmed_complete ✅
|
||||
pending → received → confirmed → confirmed-complete ✅
|
||||
```
|
||||
Customer pays exact amount, gets product, invoice kept, funds swept to cold storage.
|
||||
|
||||
### **Overpayment Flow**
|
||||
```
|
||||
pending → received → confirmed_overpay → confirmed_overpay_refunded → confirmed_overpay_refunded_complete ✅
|
||||
pending → received → confirmed-overpay → confirmed-overpay-refunded → confirmed-overpay-refunded-complete ✅
|
||||
```
|
||||
Customer overpays, gets product, gets refund, invoice kept.
|
||||
|
||||
### **Late Payment Flow**
|
||||
```
|
||||
Original: pending → expired ❌
|
||||
New object: latepay_refunded → latepay_refunded_complete ❌
|
||||
New object: latepay-refunded → latepay-refunded-complete ❌
|
||||
```
|
||||
Original payment expires. Late payment creates new object, gets refunded, invoice deleted.
|
||||
|
||||
### **Underpayment Flow**
|
||||
```
|
||||
pending → received → underpaid_refunded → underpaid_refunded_complete ❌
|
||||
pending → received → underpaid-refunded → underpaid-refunded-complete ❌
|
||||
```
|
||||
Customer pays too little, gets refund, no product, invoice deleted.
|
||||
|
||||
### **Duplicate Payment Flow**
|
||||
```
|
||||
Original: pending → received → confirmed ✅
|
||||
Duplicate: doublepay_refunded → doublepay_refunded_complete ❌
|
||||
Duplicate: doublepay-refunded → doublepay-refunded-complete ❌
|
||||
```
|
||||
First payment succeeds, duplicate creates separate object and gets refunded.
|
||||
|
||||
### **Out of Stock Flow**
|
||||
```
|
||||
pending → received → out_of_stock_refunded → out_of_stock_refunded_complete ❌
|
||||
pending → received → out-of-stock-refunded → out-of-stock-refunded-complete ❌
|
||||
```
|
||||
Product unavailable, customer gets refund, no product, invoice deleted.
|
||||
|
||||
|
|
@ -237,15 +237,15 @@ User cancels before payment detected, invoice deleted.
|
|||
|
||||
**Successful Terminals** (keep invoice):
|
||||
- `confirmed` - Normal success (awaiting sweep)
|
||||
- `confirmed_complete` - Normal success + swept to cold storage
|
||||
- `confirmed_overpay_refunded_complete` - Overpaid + refunded
|
||||
- `confirmed_overpay_not_refunded` - Overpaid, no refund wallet
|
||||
- `confirmed-complete` - Normal success + swept to cold storage
|
||||
- `confirmed-overpay-refunded-complete` - Overpaid + refunded
|
||||
- `confirmed-overpay-not-refunded` - Overpaid, no refund wallet
|
||||
|
||||
**Failed Terminals** (delete invoice):
|
||||
- `expired` - Never paid
|
||||
- `cancelled` - User cancelled
|
||||
- `*_refunded_complete` - Failed + refunded
|
||||
- `*_not_refunded` - Failed, no refund wallet
|
||||
- `*-refunded-complete` - Failed + refunded
|
||||
- `*-not-refunded` - Failed, no refund wallet
|
||||
|
||||
## State Transition Validation
|
||||
|
||||
|
|
|
|||
|
|
@ -4,61 +4,61 @@ digraph G {
|
|||
edge [penwidth=1.5, fontsize=10, fontname="Arial"];
|
||||
"[*]" [shape=circle, label="", width=0.2, fillcolor=black, style=filled];
|
||||
"pending" [fillcolor="#e7f3ff", fontcolor="#0056b3", color="#0056b3", fontsize=12];
|
||||
"doublepay_refunded" [fillcolor="#e7f3ff", fontcolor="#0056b3", color="#0056b3", fontsize=12];
|
||||
"latepay_refunded" [fillcolor="#e7f3ff", fontcolor="#0056b3", color="#0056b3", fontsize=12];
|
||||
"doublepay-refunded" [fillcolor="#e7f3ff", fontcolor="#0056b3", color="#0056b3", fontsize=12];
|
||||
"latepay-refunded" [fillcolor="#e7f3ff", fontcolor="#0056b3", color="#0056b3", fontsize=12];
|
||||
"received" [fillcolor="#cce5ff", fontcolor="#004085", color="#004085", fontsize=12];
|
||||
"expired" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"cancelled" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"confirmed" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"confirmed_complete" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"confirmed_overpay" [fillcolor="#cce5ff", fontcolor="#004085", color="#004085", fontsize=12];
|
||||
"underpaid_refunded" [fillcolor="#fff3cd", fontcolor="#856404", color="#856404", fontsize=12];
|
||||
"out_of_stock_refunded" [fillcolor="#fff3cd", fontcolor="#856404", color="#856404", fontsize=12];
|
||||
"confirmed_overpay_refunded" [fillcolor="#fff3cd", fontcolor="#856404", color="#856404", fontsize=12];
|
||||
"confirmed_overpay_refunded_complete" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"confirmed_overpay_not_refunded" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"latepay_refunded_complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"latepay_not_refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"underpaid_refunded_complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"underpaid_not_refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"out_of_stock_refunded_complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"out_of_stock_not_refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"doublepay_refunded_complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"doublepay_not_refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"confirmed-complete" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"confirmed-overpay" [fillcolor="#cce5ff", fontcolor="#004085", color="#004085", fontsize=12];
|
||||
"underpaid-refunded" [fillcolor="#fff3cd", fontcolor="#856404", color="#856404", fontsize=12];
|
||||
"out-of-stock-refunded" [fillcolor="#fff3cd", fontcolor="#856404", color="#856404", fontsize=12];
|
||||
"confirmed-overpay-refunded" [fillcolor="#fff3cd", fontcolor="#856404", color="#856404", fontsize=12];
|
||||
"confirmed-overpay-refunded-complete" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"confirmed-overpay-not-refunded" [fillcolor="#d4edda", fontcolor="#155724", color="#155724", fontsize=12];
|
||||
"latepay-refunded-complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"latepay-not-refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"underpaid-refunded-complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"underpaid-not-refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"out-of-stock-refunded-complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"out-of-stock-not-refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"doublepay-refunded-complete" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"doublepay-not-refunded" [fillcolor="#f8d7da", fontcolor="#721c24", color="#721c24", fontsize=12];
|
||||
"terminated" [shape=doubleoctagon, fillcolor="#e0e0e0", fontcolor="#333333", color="#333333", fontsize=12];
|
||||
"[*]" -> "pending";
|
||||
"[*]" -> "doublepay_refunded" [label="Duplicate payment detected"];
|
||||
"[*]" -> "latepay_refunded" [label="Late payment detected"];
|
||||
"[*]" -> "doublepay-refunded" [label="Duplicate payment detected"];
|
||||
"[*]" -> "latepay-refunded" [label="Late payment detected"];
|
||||
"pending" -> "received" [label="Payment detected in mempool"];
|
||||
"pending" -> "expired" [label="Payment timeout (never received)"];
|
||||
"pending" -> "cancelled" [label="User cancellation"];
|
||||
"received" -> "confirmed" [label="Sufficient payment + confirmations"];
|
||||
"received" -> "confirmed_overpay" [label="Overpayment detected"];
|
||||
"received" -> "underpaid_refunded" [label="Underpayment detected"];
|
||||
"received" -> "out_of_stock_refunded" [label="Product unavailable"];
|
||||
"confirmed" -> "confirmed_complete" [label="Swept to cold storage"];
|
||||
"confirmed_complete" -> "terminated" [label="✓ Terminal Success"];
|
||||
"confirmed_overpay" -> "confirmed_overpay_refunded" [label="Initiate refund"];
|
||||
"confirmed_overpay_refunded" -> "confirmed_overpay_refunded_complete" [label="Refund confirmed"];
|
||||
"confirmed_overpay_refunded" -> "confirmed_overpay_not_refunded" [label="No refund wallet configured"];
|
||||
"confirmed_overpay_refunded_complete" -> "terminated" [label="✓ Terminal Success"];
|
||||
"confirmed_overpay_not_refunded" -> "terminated" [label="✓ Terminal Success (Not Refunded)"];
|
||||
"received" -> "confirmed-overpay" [label="Overpayment detected"];
|
||||
"received" -> "underpaid-refunded" [label="Underpayment detected"];
|
||||
"received" -> "out-of-stock-refunded" [label="Product unavailable"];
|
||||
"confirmed" -> "confirmed-complete" [label="Swept to cold storage"];
|
||||
"confirmed-complete" -> "terminated" [label="✓ Terminal Success"];
|
||||
"confirmed-overpay" -> "confirmed-overpay-refunded" [label="Initiate refund"];
|
||||
"confirmed-overpay-refunded" -> "confirmed-overpay-refunded-complete" [label="Refund confirmed"];
|
||||
"confirmed-overpay-refunded" -> "confirmed-overpay-not-refunded" [label="No refund wallet configured"];
|
||||
"confirmed-overpay-refunded-complete" -> "terminated" [label="✓ Terminal Success"];
|
||||
"confirmed-overpay-not-refunded" -> "terminated" [label="✓ Terminal Success (Not Refunded)"];
|
||||
"expired" -> "terminated" [label="✓ Terminal Failed (Expired)"];
|
||||
"latepay_refunded" -> "latepay_refunded_complete" [label="Refund confirmed"];
|
||||
"latepay_refunded" -> "latepay_not_refunded" [label="No refund wallet configured"];
|
||||
"latepay_refunded_complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"latepay_not_refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"underpaid_refunded" -> "underpaid_refunded_complete" [label="Refund confirmed"];
|
||||
"underpaid_refunded" -> "underpaid_not_refunded" [label="No refund wallet configured"];
|
||||
"underpaid_refunded_complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"underpaid_not_refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"out_of_stock_refunded" -> "out_of_stock_refunded_complete" [label="Refund confirmed"];
|
||||
"out_of_stock_refunded" -> "out_of_stock_not_refunded" [label="No refund wallet configured"];
|
||||
"out_of_stock_refunded_complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"out_of_stock_not_refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"doublepay_refunded" -> "doublepay_refunded_complete" [label="Refund confirmed"];
|
||||
"doublepay_refunded" -> "doublepay_not_refunded" [label="No refund wallet configured"];
|
||||
"doublepay_refunded_complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"doublepay_not_refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"latepay-refunded" -> "latepay-refunded-complete" [label="Refund confirmed"];
|
||||
"latepay-refunded" -> "latepay-not-refunded" [label="No refund wallet configured"];
|
||||
"latepay-refunded-complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"latepay-not-refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"underpaid-refunded" -> "underpaid-refunded-complete" [label="Refund confirmed"];
|
||||
"underpaid-refunded" -> "underpaid-not-refunded" [label="No refund wallet configured"];
|
||||
"underpaid-refunded-complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"underpaid-not-refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"out-of-stock-refunded" -> "out-of-stock-refunded-complete" [label="Refund confirmed"];
|
||||
"out-of-stock-refunded" -> "out-of-stock-not-refunded" [label="No refund wallet configured"];
|
||||
"out-of-stock-refunded-complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"out-of-stock-not-refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"doublepay-refunded" -> "doublepay-refunded-complete" [label="Refund confirmed"];
|
||||
"doublepay-refunded" -> "doublepay-not-refunded" [label="No refund wallet configured"];
|
||||
"doublepay-refunded-complete" -> "terminated" [label="✓ Terminal Failed (Refund Complete)"];
|
||||
"doublepay-not-refunded" -> "terminated" [label="✓ Terminal Failed (Not Refunded)"];
|
||||
"cancelled" -> "terminated" [label="✓ Terminal Failed (Cancelled)"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,385 +4,398 @@
|
|||
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
|
||||
-->
|
||||
<!-- Title: G Pages: 1 -->
|
||||
<svg width="1684pt" height="698pt"
|
||||
viewBox="0.00 0.00 1684.38 697.74" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 693.74)">
|
||||
<svg width="1713pt" height="696pt"
|
||||
viewBox="0.00 0.00 1712.88 696.14" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 692.14)">
|
||||
<title>G</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-693.74 1680.38,-693.74 1680.38,4 -4,4"/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-692.14 1708.88,-692.14 1708.88,4 -4,4"/>
|
||||
<!-- [*] -->
|
||||
<g id="node1" class="node">
|
||||
<title>[*]</title>
|
||||
<ellipse fill="black" stroke="black" stroke-width="2" cx="7.2" cy="-167.91" rx="7.2" ry="7.2"/>
|
||||
<ellipse fill="black" stroke="black" stroke-width="2" cx="7.2" cy="-164.41" rx="7.2" ry="7.2"/>
|
||||
</g>
|
||||
<!-- pending -->
|
||||
<g id="node2" class="node">
|
||||
<title>pending</title>
|
||||
<path fill="#e7f3ff" stroke="#0056b3" stroke-width="2" d="M98.9,-267.91C98.9,-267.91 63.4,-267.91 63.4,-267.91 57.4,-267.91 51.4,-261.91 51.4,-255.91 51.4,-255.91 51.4,-243.91 51.4,-243.91 51.4,-237.91 57.4,-231.91 63.4,-231.91 63.4,-231.91 98.9,-231.91 98.9,-231.91 104.9,-231.91 110.9,-237.91 110.9,-243.91 110.9,-243.91 110.9,-255.91 110.9,-255.91 110.9,-261.91 104.9,-267.91 98.9,-267.91"/>
|
||||
<text text-anchor="middle" x="81.15" y="-245.64" font-family="Arial" font-size="12.00" fill="#0056b3">pending</text>
|
||||
<path fill="#e7f3ff" stroke="#0056b3" stroke-width="2" d="M98.9,-264.41C98.9,-264.41 63.4,-264.41 63.4,-264.41 57.4,-264.41 51.4,-258.41 51.4,-252.41 51.4,-252.41 51.4,-240.41 51.4,-240.41 51.4,-234.41 57.4,-228.41 63.4,-228.41 63.4,-228.41 98.9,-228.41 98.9,-228.41 104.9,-228.41 110.9,-234.41 110.9,-240.41 110.9,-240.41 110.9,-252.41 110.9,-252.41 110.9,-258.41 104.9,-264.41 98.9,-264.41"/>
|
||||
<text text-anchor="middle" x="81.15" y="-242.13" font-family="Arial" font-size="12.00" fill="#0056b3">pending</text>
|
||||
</g>
|
||||
<!-- [*]->pending -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>[*]->pending</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M13.15,-173.55C21.85,-183.47 40.45,-204.67 55.85,-222.22"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="52.82,-224.07 62.04,-229.27 58.08,-219.45 52.82,-224.07"/>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M13.15,-170.04C21.85,-179.96 40.45,-201.16 55.85,-218.71"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="52.82,-220.56 62.04,-225.77 58.08,-215.94 52.82,-220.56"/>
|
||||
</g>
|
||||
<!-- doublepay_refunded -->
|
||||
<!-- doublepay-refunded -->
|
||||
<g id="node3" class="node">
|
||||
<title>doublepay_refunded</title>
|
||||
<path fill="#e7f3ff" stroke="#0056b3" stroke-width="2" d="M943.52,-185.91C943.52,-185.91 841.27,-185.91 841.27,-185.91 835.27,-185.91 829.27,-179.91 829.27,-173.91 829.27,-173.91 829.27,-161.91 829.27,-161.91 829.27,-155.91 835.27,-149.91 841.27,-149.91 841.27,-149.91 943.52,-149.91 943.52,-149.91 949.52,-149.91 955.52,-155.91 955.52,-161.91 955.52,-161.91 955.52,-173.91 955.52,-173.91 955.52,-179.91 949.52,-185.91 943.52,-185.91"/>
|
||||
<text text-anchor="middle" x="892.4" y="-163.64" font-family="Arial" font-size="12.00" fill="#0056b3">doublepay_refunded</text>
|
||||
<title>doublepay-refunded</title>
|
||||
<path fill="#e7f3ff" stroke="#0056b3" stroke-width="2" d="M982.52,-182.41C982.52,-182.41 883.27,-182.41 883.27,-182.41 877.27,-182.41 871.27,-176.41 871.27,-170.41 871.27,-170.41 871.27,-158.41 871.27,-158.41 871.27,-152.41 877.27,-146.41 883.27,-146.41 883.27,-146.41 982.52,-146.41 982.52,-146.41 988.52,-146.41 994.52,-152.41 994.52,-158.41 994.52,-158.41 994.52,-170.41 994.52,-170.41 994.52,-176.41 988.52,-182.41 982.52,-182.41"/>
|
||||
<text text-anchor="middle" x="932.9" y="-160.13" font-family="Arial" font-size="12.00" fill="#0056b3">doublepay-refunded</text>
|
||||
</g>
|
||||
<!-- [*]->doublepay_refunded -->
|
||||
<!-- [*]->doublepay-refunded -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>[*]->doublepay_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M15.35,-167.91C28.28,-167.91 56.42,-167.91 80.15,-167.91 80.15,-167.91 80.15,-167.91 627.9,-167.91 691.45,-167.91 763.63,-167.91 816.36,-167.91"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="816.04,-171.41 826.04,-167.91 816.04,-164.41 816.04,-171.41"/>
|
||||
<text text-anchor="middle" x="355.03" y="-170.41" font-family="Arial" font-size="10.00">Duplicate payment detected</text>
|
||||
<title>[*]->doublepay-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M15.35,-164.41C28.28,-164.41 56.42,-164.41 80.15,-164.41 80.15,-164.41 80.15,-164.41 662.15,-164.41 728.41,-164.41 803.82,-164.41 858.03,-164.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="858.03,-167.91 868.03,-164.41 858.03,-160.91 858.03,-167.91"/>
|
||||
<text text-anchor="middle" x="355.03" y="-166.91" font-family="Arial" font-size="10.00">Duplicate payment detected</text>
|
||||
</g>
|
||||
<!-- latepay_refunded -->
|
||||
<!-- latepay-refunded -->
|
||||
<g id="node4" class="node">
|
||||
<title>latepay_refunded</title>
|
||||
<path fill="#e7f3ff" stroke="#0056b3" stroke-width="2" d="M934.9,-95.91C934.9,-95.91 849.9,-95.91 849.9,-95.91 843.9,-95.91 837.9,-89.91 837.9,-83.91 837.9,-83.91 837.9,-71.91 837.9,-71.91 837.9,-65.91 843.9,-59.91 849.9,-59.91 849.9,-59.91 934.9,-59.91 934.9,-59.91 940.9,-59.91 946.9,-65.91 946.9,-71.91 946.9,-71.91 946.9,-83.91 946.9,-83.91 946.9,-89.91 940.9,-95.91 934.9,-95.91"/>
|
||||
<text text-anchor="middle" x="892.4" y="-73.64" font-family="Arial" font-size="12.00" fill="#0056b3">latepay_refunded</text>
|
||||
<title>latepay-refunded</title>
|
||||
<path fill="#e7f3ff" stroke="#0056b3" stroke-width="2" d="M973.9,-95.41C973.9,-95.41 891.9,-95.41 891.9,-95.41 885.9,-95.41 879.9,-89.41 879.9,-83.41 879.9,-83.41 879.9,-71.41 879.9,-71.41 879.9,-65.41 885.9,-59.41 891.9,-59.41 891.9,-59.41 973.9,-59.41 973.9,-59.41 979.9,-59.41 985.9,-65.41 985.9,-71.41 985.9,-71.41 985.9,-83.41 985.9,-83.41 985.9,-89.41 979.9,-95.41 973.9,-95.41"/>
|
||||
<text text-anchor="middle" x="932.9" y="-73.13" font-family="Arial" font-size="12.00" fill="#0056b3">latepay-refunded</text>
|
||||
</g>
|
||||
<!-- [*]->latepay_refunded -->
|
||||
<!-- [*]->latepay-refunded -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>[*]->latepay_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M11.05,-160.91C19.01,-142.64 43.31,-94.91 80.15,-94.91 80.15,-94.91 80.15,-94.91 627.9,-94.91 695.1,-94.91 771.73,-89.34 824.96,-84.57"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="825.06,-88.08 834.7,-83.68 824.43,-81.11 825.06,-88.08"/>
|
||||
<text text-anchor="middle" x="355.03" y="-97.41" font-family="Arial" font-size="10.00">Late payment detected</text>
|
||||
<title>[*]->latepay-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M10.83,-157.3C18.38,-138.24 42.09,-87.41 80.15,-87.41 80.15,-87.41 80.15,-87.41 662.15,-87.41 732.19,-87.41 812.38,-84 867.01,-81.16"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="866.88,-84.67 876.68,-80.65 866.51,-77.68 866.88,-84.67"/>
|
||||
<text text-anchor="middle" x="355.03" y="-89.91" font-family="Arial" font-size="10.00">Late payment detected</text>
|
||||
</g>
|
||||
<!-- received -->
|
||||
<g id="node5" class="node">
|
||||
<title>received</title>
|
||||
<path fill="#cce5ff" stroke="#004085" stroke-width="2" d="M373.9,-479.91C373.9,-479.91 336.15,-479.91 336.15,-479.91 330.15,-479.91 324.15,-473.91 324.15,-467.91 324.15,-467.91 324.15,-455.91 324.15,-455.91 324.15,-449.91 330.15,-443.91 336.15,-443.91 336.15,-443.91 373.9,-443.91 373.9,-443.91 379.9,-443.91 385.9,-449.91 385.9,-455.91 385.9,-455.91 385.9,-467.91 385.9,-467.91 385.9,-473.91 379.9,-479.91 373.9,-479.91"/>
|
||||
<text text-anchor="middle" x="355.03" y="-457.64" font-family="Arial" font-size="12.00" fill="#004085">received</text>
|
||||
<path fill="#cce5ff" stroke="#004085" stroke-width="2" d="M373.9,-449.41C373.9,-449.41 336.15,-449.41 336.15,-449.41 330.15,-449.41 324.15,-443.41 324.15,-437.41 324.15,-437.41 324.15,-425.41 324.15,-425.41 324.15,-419.41 330.15,-413.41 336.15,-413.41 336.15,-413.41 373.9,-413.41 373.9,-413.41 379.9,-413.41 385.9,-419.41 385.9,-425.41 385.9,-425.41 385.9,-437.41 385.9,-437.41 385.9,-443.41 379.9,-449.41 373.9,-449.41"/>
|
||||
<text text-anchor="middle" x="355.03" y="-427.13" font-family="Arial" font-size="12.00" fill="#004085">received</text>
|
||||
</g>
|
||||
<!-- pending->received -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>pending->received</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M105.9,-268.77C113.26,-274.6 121.41,-281.03 128.9,-286.91 196.48,-339.92 275.85,-401.45 320,-435.61"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="317.8,-438.34 327.86,-441.69 322.09,-432.8 317.8,-438.34"/>
|
||||
<text text-anchor="middle" x="202.4" y="-402.12" font-family="Arial" font-size="10.00">Payment detected in mempool</text>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M103.6,-265.22C111.4,-271.81 120.39,-279.13 128.9,-285.41 191.03,-331.22 267.06,-378.9 312.96,-406.83"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="311.08,-409.79 321.45,-411.98 314.71,-403.8 311.08,-409.79"/>
|
||||
<text text-anchor="middle" x="202.4" y="-384.08" font-family="Arial" font-size="10.00">Payment detected in mempool</text>
|
||||
</g>
|
||||
<!-- expired -->
|
||||
<g id="node6" class="node">
|
||||
<title>expired</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M499.53,-289.91C499.53,-289.91 467.78,-289.91 467.78,-289.91 461.78,-289.91 455.78,-283.91 455.78,-277.91 455.78,-277.91 455.78,-265.91 455.78,-265.91 455.78,-259.91 461.78,-253.91 467.78,-253.91 467.78,-253.91 499.53,-253.91 499.53,-253.91 505.53,-253.91 511.53,-259.91 511.53,-265.91 511.53,-265.91 511.53,-277.91 511.53,-277.91 511.53,-283.91 505.53,-289.91 499.53,-289.91"/>
|
||||
<text text-anchor="middle" x="483.65" y="-267.64" font-family="Arial" font-size="12.00" fill="#721c24">expired</text>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M525.78,-288.41C525.78,-288.41 494.03,-288.41 494.03,-288.41 488.03,-288.41 482.03,-282.41 482.03,-276.41 482.03,-276.41 482.03,-264.41 482.03,-264.41 482.03,-258.41 488.03,-252.41 494.03,-252.41 494.03,-252.41 525.78,-252.41 525.78,-252.41 531.78,-252.41 537.78,-258.41 537.78,-264.41 537.78,-264.41 537.78,-276.41 537.78,-276.41 537.78,-282.41 531.78,-288.41 525.78,-288.41"/>
|
||||
<text text-anchor="middle" x="509.9" y="-266.13" font-family="Arial" font-size="12.00" fill="#721c24">expired</text>
|
||||
</g>
|
||||
<!-- pending->expired -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>pending->expired</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M111.6,-251.53C182.5,-255.42 362.76,-265.33 443.04,-269.74"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="442.59,-273.22 452.76,-270.27 442.97,-266.23 442.59,-273.22"/>
|
||||
<text text-anchor="middle" x="202.4" y="-262.94" font-family="Arial" font-size="10.00">Payment timeout (never received)</text>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M111.82,-248.08C186.79,-252.29 383.91,-263.38 468.93,-268.16"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="468.65,-271.65 478.84,-268.72 469.05,-264.66 468.65,-271.65"/>
|
||||
<text text-anchor="middle" x="202.4" y="-259.37" font-family="Arial" font-size="10.00">Payment timeout (never received)</text>
|
||||
</g>
|
||||
<!-- cancelled -->
|
||||
<g id="node7" class="node">
|
||||
<title>cancelled</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M776.4,-245.91C776.4,-245.91 732.65,-245.91 732.65,-245.91 726.65,-245.91 720.65,-239.91 720.65,-233.91 720.65,-233.91 720.65,-221.91 720.65,-221.91 720.65,-215.91 726.65,-209.91 732.65,-209.91 732.65,-209.91 776.4,-209.91 776.4,-209.91 782.4,-209.91 788.4,-215.91 788.4,-221.91 788.4,-221.91 788.4,-233.91 788.4,-233.91 788.4,-239.91 782.4,-245.91 776.4,-245.91"/>
|
||||
<text text-anchor="middle" x="754.52" y="-223.64" font-family="Arial" font-size="12.00" fill="#721c24">cancelled</text>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M806.15,-244.41C806.15,-244.41 762.4,-244.41 762.4,-244.41 756.4,-244.41 750.4,-238.41 750.4,-232.41 750.4,-232.41 750.4,-220.41 750.4,-220.41 750.4,-214.41 756.4,-208.41 762.4,-208.41 762.4,-208.41 806.15,-208.41 806.15,-208.41 812.15,-208.41 818.15,-214.41 818.15,-220.41 818.15,-220.41 818.15,-232.41 818.15,-232.41 818.15,-238.41 812.15,-244.41 806.15,-244.41"/>
|
||||
<text text-anchor="middle" x="784.27" y="-222.13" font-family="Arial" font-size="12.00" fill="#721c24">cancelled</text>
|
||||
</g>
|
||||
<!-- pending->cancelled -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>pending->cancelled</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M111.86,-248.94C218.08,-245.46 579.46,-233.62 707.83,-229.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="707.71,-232.91 717.59,-229.09 707.48,-225.92 707.71,-232.91"/>
|
||||
<text text-anchor="middle" x="355.03" y="-245.24" font-family="Arial" font-size="10.00">User cancellation</text>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M111.83,-245.56C221.54,-242.43 604.67,-231.5 737.51,-227.71"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="737.4,-231.22 747.29,-227.43 737.2,-224.22 737.4,-231.22"/>
|
||||
<text text-anchor="middle" x="355.03" y="-242.64" font-family="Arial" font-size="10.00">User cancellation</text>
|
||||
</g>
|
||||
<!-- doublepay_refunded_complete -->
|
||||
<g id="node21" class="node">
|
||||
<title>doublepay_refunded_complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1336.03,-203.91C1336.03,-203.91 1178.28,-203.91 1178.28,-203.91 1172.28,-203.91 1166.28,-197.91 1166.28,-191.91 1166.28,-191.91 1166.28,-179.91 1166.28,-179.91 1166.28,-173.91 1172.28,-167.91 1178.28,-167.91 1178.28,-167.91 1336.03,-167.91 1336.03,-167.91 1342.03,-167.91 1348.03,-173.91 1348.03,-179.91 1348.03,-179.91 1348.03,-191.91 1348.03,-191.91 1348.03,-197.91 1342.03,-203.91 1336.03,-203.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-181.64" font-family="Arial" font-size="12.00" fill="#721c24">doublepay_refunded_complete</text>
|
||||
</g>
|
||||
<!-- doublepay_refunded->doublepay_refunded_complete -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>doublepay_refunded->doublepay_refunded_complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M956.17,-171.03C1010.37,-173.72 1089.73,-177.65 1153.21,-180.8"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1152.85,-184.29 1163.01,-181.29 1153.19,-177.3 1152.85,-184.29"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-181.55" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- doublepay_not_refunded -->
|
||||
<!-- doublepay-refunded-complete -->
|
||||
<g id="node22" class="node">
|
||||
<title>doublepay_not_refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1319.9,-149.91C1319.9,-149.91 1194.4,-149.91 1194.4,-149.91 1188.4,-149.91 1182.4,-143.91 1182.4,-137.91 1182.4,-137.91 1182.4,-125.91 1182.4,-125.91 1182.4,-119.91 1188.4,-113.91 1194.4,-113.91 1194.4,-113.91 1319.9,-113.91 1319.9,-113.91 1325.9,-113.91 1331.9,-119.91 1331.9,-125.91 1331.9,-125.91 1331.9,-137.91 1331.9,-137.91 1331.9,-143.91 1325.9,-149.91 1319.9,-149.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-127.64" font-family="Arial" font-size="12.00" fill="#721c24">doublepay_not_refunded</text>
|
||||
<title>doublepay-refunded-complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1366.03,-203.41C1366.03,-203.41 1214.28,-203.41 1214.28,-203.41 1208.28,-203.41 1202.28,-197.41 1202.28,-191.41 1202.28,-191.41 1202.28,-179.41 1202.28,-179.41 1202.28,-173.41 1208.28,-167.41 1214.28,-167.41 1214.28,-167.41 1366.03,-167.41 1366.03,-167.41 1372.03,-167.41 1378.03,-173.41 1378.03,-179.41 1378.03,-179.41 1378.03,-191.41 1378.03,-191.41 1378.03,-197.41 1372.03,-203.41 1366.03,-203.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-181.13" font-family="Arial" font-size="12.00" fill="#721c24">doublepay-refunded-complete</text>
|
||||
</g>
|
||||
<!-- doublepay_refunded->doublepay_not_refunded -->
|
||||
<!-- doublepay-refunded->doublepay-refunded-complete -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>doublepay_refunded->doublepay_not_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M956.3,-161.09C969.54,-159.68 983.43,-158.23 996.4,-156.91 1054.07,-151.06 1118.98,-144.81 1169.49,-140.02"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1169.79,-143.51 1179.41,-139.09 1169.13,-136.54 1169.79,-143.51"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-159.41" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
<title>doublepay-refunded->doublepay-refunded-complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M995.37,-168.04C1048.71,-171.19 1126.94,-175.82 1189.26,-179.5"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1189.04,-182.99 1199.23,-180.09 1189.46,-176.01 1189.04,-182.99"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-179.9" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- latepay_refunded_complete -->
|
||||
<g id="node15" class="node">
|
||||
<title>latepay_refunded_complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1327.4,-95.91C1327.4,-95.91 1186.9,-95.91 1186.9,-95.91 1180.9,-95.91 1174.9,-89.91 1174.9,-83.91 1174.9,-83.91 1174.9,-71.91 1174.9,-71.91 1174.9,-65.91 1180.9,-59.91 1186.9,-59.91 1186.9,-59.91 1327.4,-59.91 1327.4,-59.91 1333.4,-59.91 1339.4,-65.91 1339.4,-71.91 1339.4,-71.91 1339.4,-83.91 1339.4,-83.91 1339.4,-89.91 1333.4,-95.91 1327.4,-95.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-73.64" font-family="Arial" font-size="12.00" fill="#721c24">latepay_refunded_complete</text>
|
||||
<!-- doublepay-not-refunded -->
|
||||
<g id="node23" class="node">
|
||||
<title>doublepay-not-refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1349.9,-149.41C1349.9,-149.41 1230.4,-149.41 1230.4,-149.41 1224.4,-149.41 1218.4,-143.41 1218.4,-137.41 1218.4,-137.41 1218.4,-125.41 1218.4,-125.41 1218.4,-119.41 1224.4,-113.41 1230.4,-113.41 1230.4,-113.41 1349.9,-113.41 1349.9,-113.41 1355.9,-113.41 1361.9,-119.41 1361.9,-125.41 1361.9,-125.41 1361.9,-137.41 1361.9,-137.41 1361.9,-143.41 1355.9,-149.41 1349.9,-149.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-127.13" font-family="Arial" font-size="12.00" fill="#721c24">doublepay-not-refunded</text>
|
||||
</g>
|
||||
<!-- latepay_refunded->latepay_refunded_complete -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>latepay_refunded->latepay_refunded_complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M947.71,-77.91C1004.3,-77.91 1094.05,-77.91 1162.18,-77.91"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1161.93,-81.41 1171.93,-77.91 1161.93,-74.41 1161.93,-81.41"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-80.41" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
<!-- doublepay-refunded->doublepay-not-refunded -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>doublepay-refunded->doublepay-not-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M995.5,-158.15C1008.2,-156.89 1021.48,-155.59 1033.9,-154.41 1091.19,-148.96 1155.74,-143.15 1205.6,-138.73"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1205.7,-142.23 1215.36,-137.86 1205.09,-135.26 1205.7,-142.23"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-156.91" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- latepay_not_refunded -->
|
||||
<!-- latepay-refunded-complete -->
|
||||
<g id="node16" class="node">
|
||||
<title>latepay_not_refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1311.28,-41.91C1311.28,-41.91 1203.03,-41.91 1203.03,-41.91 1197.03,-41.91 1191.03,-35.91 1191.03,-29.91 1191.03,-29.91 1191.03,-17.91 1191.03,-17.91 1191.03,-11.91 1197.03,-5.91 1203.03,-5.91 1203.03,-5.91 1311.28,-5.91 1311.28,-5.91 1317.28,-5.91 1323.28,-11.91 1323.28,-17.91 1323.28,-17.91 1323.28,-29.91 1323.28,-29.91 1323.28,-35.91 1317.28,-41.91 1311.28,-41.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-19.64" font-family="Arial" font-size="12.00" fill="#721c24">latepay_not_refunded</text>
|
||||
<title>latepay-refunded-complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1357.4,-95.41C1357.4,-95.41 1222.9,-95.41 1222.9,-95.41 1216.9,-95.41 1210.9,-89.41 1210.9,-83.41 1210.9,-83.41 1210.9,-71.41 1210.9,-71.41 1210.9,-65.41 1216.9,-59.41 1222.9,-59.41 1222.9,-59.41 1357.4,-59.41 1357.4,-59.41 1363.4,-59.41 1369.4,-65.41 1369.4,-71.41 1369.4,-71.41 1369.4,-83.41 1369.4,-83.41 1369.4,-89.41 1363.4,-95.41 1357.4,-95.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-73.13" font-family="Arial" font-size="12.00" fill="#721c24">latepay-refunded-complete</text>
|
||||
</g>
|
||||
<!-- latepay_refunded->latepay_not_refunded -->
|
||||
<!-- latepay-refunded->latepay-refunded-complete -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>latepay_refunded->latepay_not_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M947.64,-69.39C963.37,-66.95 980.56,-64.3 996.4,-61.91 1057.42,-52.71 1126.55,-42.61 1178.15,-35.14"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1178.56,-38.62 1187.96,-33.72 1177.56,-31.69 1178.56,-38.62"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-64.41" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
<title>latepay-refunded->latepay-refunded-complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M986.7,-77.41C1042.29,-77.41 1130.86,-77.41 1197.82,-77.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1197.79,-80.91 1207.79,-77.41 1197.79,-73.91 1197.79,-80.91"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-79.91" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- latepay-not-refunded -->
|
||||
<g id="node17" class="node">
|
||||
<title>latepay-not-refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1341.28,-41.41C1341.28,-41.41 1239.03,-41.41 1239.03,-41.41 1233.03,-41.41 1227.03,-35.41 1227.03,-29.41 1227.03,-29.41 1227.03,-17.41 1227.03,-17.41 1227.03,-11.41 1233.03,-5.41 1239.03,-5.41 1239.03,-5.41 1341.28,-5.41 1341.28,-5.41 1347.28,-5.41 1353.28,-11.41 1353.28,-17.41 1353.28,-17.41 1353.28,-29.41 1353.28,-29.41 1353.28,-35.41 1347.28,-41.41 1341.28,-41.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-19.13" font-family="Arial" font-size="12.00" fill="#721c24">latepay-not-refunded</text>
|
||||
</g>
|
||||
<!-- latepay-refunded->latepay-not-refunded -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>latepay-refunded->latepay-not-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M986.82,-68.83C1002.01,-66.4 1018.61,-63.77 1033.9,-61.41 1094.57,-52.04 1163.41,-41.81 1214.3,-34.33"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1214.55,-37.83 1223.94,-32.92 1213.53,-30.91 1214.55,-37.83"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-63.91" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- confirmed -->
|
||||
<g id="node8" class="node">
|
||||
<title>confirmed</title>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M1083.15,-642.91C1083.15,-642.91 1038.65,-642.91 1038.65,-642.91 1032.65,-642.91 1026.65,-636.91 1026.65,-630.91 1026.65,-630.91 1026.65,-618.91 1026.65,-618.91 1026.65,-612.91 1032.65,-606.91 1038.65,-606.91 1038.65,-606.91 1083.15,-606.91 1083.15,-606.91 1089.15,-606.91 1095.15,-612.91 1095.15,-618.91 1095.15,-618.91 1095.15,-630.91 1095.15,-630.91 1095.15,-636.91 1089.15,-642.91 1083.15,-642.91"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-620.64" font-family="Arial" font-size="12.00" fill="#155724">confirmed</text>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M683.4,-597.41C683.4,-597.41 638.9,-597.41 638.9,-597.41 632.9,-597.41 626.9,-591.41 626.9,-585.41 626.9,-585.41 626.9,-573.41 626.9,-573.41 626.9,-567.41 632.9,-561.41 638.9,-561.41 638.9,-561.41 683.4,-561.41 683.4,-561.41 689.4,-561.41 695.4,-567.41 695.4,-573.41 695.4,-573.41 695.4,-585.41 695.4,-585.41 695.4,-591.41 689.4,-597.41 683.4,-597.41"/>
|
||||
<text text-anchor="middle" x="661.15" y="-575.13" font-family="Arial" font-size="12.00" fill="#155724">confirmed</text>
|
||||
</g>
|
||||
<!-- received->confirmed -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>received->confirmed</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M377.95,-480.8C392.93,-492.88 413.7,-508.07 434.15,-517.91 482.84,-541.33 498.3,-539.67 551.15,-550.91 719.82,-586.8 923.67,-610.67 1013.53,-620.22"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1013.12,-623.69 1023.43,-621.26 1013.85,-616.73 1013.12,-623.69"/>
|
||||
<text text-anchor="middle" x="626.9" y="-581.47" font-family="Arial" font-size="10.00">Sufficient payment + confirmations</text>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M372.28,-450.33C387.01,-466.42 410.02,-489.12 434.15,-503.41 491.82,-537.55 566.94,-558.9 614.37,-569.99"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="613.36,-573.35 623.89,-572.15 614.91,-566.52 613.36,-573.35"/>
|
||||
<text text-anchor="middle" x="509.9" y="-564.15" font-family="Arial" font-size="10.00">Sufficient payment + confirmations</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay -->
|
||||
<g id="node9" class="node">
|
||||
<title>confirmed_overpay</title>
|
||||
<path fill="#cce5ff" stroke="#004085" stroke-width="2" d="M673.9,-541.91C673.9,-541.91 579.9,-541.91 579.9,-541.91 573.9,-541.91 567.9,-535.91 567.9,-529.91 567.9,-529.91 567.9,-517.91 567.9,-517.91 567.9,-511.91 573.9,-505.91 579.9,-505.91 579.9,-505.91 673.9,-505.91 673.9,-505.91 679.9,-505.91 685.9,-511.91 685.9,-517.91 685.9,-517.91 685.9,-529.91 685.9,-529.91 685.9,-535.91 679.9,-541.91 673.9,-541.91"/>
|
||||
<text text-anchor="middle" x="626.9" y="-519.64" font-family="Arial" font-size="12.00" fill="#004085">confirmed_overpay</text>
|
||||
</g>
|
||||
<!-- received->confirmed_overpay -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>received->confirmed_overpay</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M386.72,-468.96C427.46,-478.32 500.6,-495.13 555.31,-507.7"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="554.3,-511.05 564.83,-509.88 555.86,-504.23 554.3,-511.05"/>
|
||||
<text text-anchor="middle" x="483.65" y="-504.59" font-family="Arial" font-size="10.00">Overpayment detected</text>
|
||||
</g>
|
||||
<!-- underpaid_refunded -->
|
||||
<!-- confirmed-overpay -->
|
||||
<g id="node10" class="node">
|
||||
<title>underpaid_refunded</title>
|
||||
<path fill="#fff3cd" stroke="#856404" stroke-width="2" d="M942.4,-479.91C942.4,-479.91 842.4,-479.91 842.4,-479.91 836.4,-479.91 830.4,-473.91 830.4,-467.91 830.4,-467.91 830.4,-455.91 830.4,-455.91 830.4,-449.91 836.4,-443.91 842.4,-443.91 842.4,-443.91 942.4,-443.91 942.4,-443.91 948.4,-443.91 954.4,-449.91 954.4,-455.91 954.4,-455.91 954.4,-467.91 954.4,-467.91 954.4,-473.91 948.4,-479.91 942.4,-479.91"/>
|
||||
<text text-anchor="middle" x="892.4" y="-457.64" font-family="Arial" font-size="12.00" fill="#856404">underpaid_refunded</text>
|
||||
<title>confirmed-overpay</title>
|
||||
<path fill="#cce5ff" stroke="#004085" stroke-width="2" d="M706.65,-526.41C706.65,-526.41 615.65,-526.41 615.65,-526.41 609.65,-526.41 603.65,-520.41 603.65,-514.41 603.65,-514.41 603.65,-502.41 603.65,-502.41 603.65,-496.41 609.65,-490.41 615.65,-490.41 615.65,-490.41 706.65,-490.41 706.65,-490.41 712.65,-490.41 718.65,-496.41 718.65,-502.41 718.65,-502.41 718.65,-514.41 718.65,-514.41 718.65,-520.41 712.65,-526.41 706.65,-526.41"/>
|
||||
<text text-anchor="middle" x="661.15" y="-504.13" font-family="Arial" font-size="12.00" fill="#004085">confirmed-overpay</text>
|
||||
</g>
|
||||
<!-- received->underpaid_refunded -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>received->underpaid_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M386.73,-461.91C469.35,-461.91 698.15,-461.91 817.22,-461.91"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="817.17,-465.41 827.17,-461.91 817.17,-458.41 817.17,-465.41"/>
|
||||
<text text-anchor="middle" x="626.9" y="-464.41" font-family="Arial" font-size="10.00">Underpayment detected</text>
|
||||
<!-- received->confirmed-overpay -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>received->confirmed-overpay</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M386.86,-439.21C434.48,-451.27 527.13,-474.73 591.26,-490.96"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="590.13,-494.29 600.69,-493.35 591.85,-487.5 590.13,-494.29"/>
|
||||
<text text-anchor="middle" x="509.9" y="-490.26" font-family="Arial" font-size="10.00">Overpayment detected</text>
|
||||
</g>
|
||||
<!-- out_of_stock_refunded -->
|
||||
<!-- underpaid-refunded -->
|
||||
<g id="node11" class="node">
|
||||
<title>out_of_stock_refunded</title>
|
||||
<path fill="#fff3cd" stroke="#856404" stroke-width="2" d="M949.15,-387.91C949.15,-387.91 835.65,-387.91 835.65,-387.91 829.65,-387.91 823.65,-381.91 823.65,-375.91 823.65,-375.91 823.65,-363.91 823.65,-363.91 823.65,-357.91 829.65,-351.91 835.65,-351.91 835.65,-351.91 949.15,-351.91 949.15,-351.91 955.15,-351.91 961.15,-357.91 961.15,-363.91 961.15,-363.91 961.15,-375.91 961.15,-375.91 961.15,-381.91 955.15,-387.91 949.15,-387.91"/>
|
||||
<text text-anchor="middle" x="892.4" y="-365.64" font-family="Arial" font-size="12.00" fill="#856404">out_of_stock_refunded</text>
|
||||
<title>underpaid-refunded</title>
|
||||
<path fill="#fff3cd" stroke="#856404" stroke-width="2" d="M981.4,-449.41C981.4,-449.41 884.4,-449.41 884.4,-449.41 878.4,-449.41 872.4,-443.41 872.4,-437.41 872.4,-437.41 872.4,-425.41 872.4,-425.41 872.4,-419.41 878.4,-413.41 884.4,-413.41 884.4,-413.41 981.4,-413.41 981.4,-413.41 987.4,-413.41 993.4,-419.41 993.4,-425.41 993.4,-425.41 993.4,-437.41 993.4,-437.41 993.4,-443.41 987.4,-449.41 981.4,-449.41"/>
|
||||
<text text-anchor="middle" x="932.9" y="-427.13" font-family="Arial" font-size="12.00" fill="#856404">underpaid-refunded</text>
|
||||
</g>
|
||||
<!-- received->out_of_stock_refunded -->
|
||||
<!-- received->underpaid-refunded -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>received->underpaid-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M386.58,-431.41C474.91,-431.41 732.32,-431.41 859.32,-431.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="859.29,-434.91 869.29,-431.41 859.29,-427.91 859.29,-434.91"/>
|
||||
<text text-anchor="middle" x="661.15" y="-433.91" font-family="Arial" font-size="10.00">Underpayment detected</text>
|
||||
</g>
|
||||
<!-- out-of-stock-refunded -->
|
||||
<g id="node12" class="node">
|
||||
<title>out-of-stock-refunded</title>
|
||||
<path fill="#fff3cd" stroke="#856404" stroke-width="2" d="M985.15,-387.41C985.15,-387.41 880.65,-387.41 880.65,-387.41 874.65,-387.41 868.65,-381.41 868.65,-375.41 868.65,-375.41 868.65,-363.41 868.65,-363.41 868.65,-357.41 874.65,-351.41 880.65,-351.41 880.65,-351.41 985.15,-351.41 985.15,-351.41 991.15,-351.41 997.15,-357.41 997.15,-363.41 997.15,-363.41 997.15,-375.41 997.15,-375.41 997.15,-381.41 991.15,-387.41 985.15,-387.41"/>
|
||||
<text text-anchor="middle" x="932.9" y="-365.13" font-family="Arial" font-size="12.00" fill="#856404">out-of-stock-refunded</text>
|
||||
</g>
|
||||
<!-- received->out-of-stock-refunded -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>received->out_of_stock_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M386.73,-456.63C467.93,-442.68 690.33,-404.46 810.99,-383.73"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="811.55,-387.18 820.81,-382.04 810.36,-380.29 811.55,-387.18"/>
|
||||
<text text-anchor="middle" x="626.9" y="-430.55" font-family="Arial" font-size="10.00">Product unavailable</text>
|
||||
<title>received->out-of-stock-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M386.58,-428.12C474.09,-418.69 727.61,-391.4 855.79,-377.6"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="855.96,-381.1 865.53,-376.55 855.22,-374.14 855.96,-381.1"/>
|
||||
<text text-anchor="middle" x="661.15" y="-407.03" font-family="Arial" font-size="10.00">Product unavailable</text>
|
||||
</g>
|
||||
<!-- terminated -->
|
||||
<g id="node23" class="node">
|
||||
<g id="node24" class="node">
|
||||
<title>terminated</title>
|
||||
<path fill="#e0e0e0" stroke="#333333" stroke-width="2" d="M1672.38,-313.43C1672.38,-313.43 1672.38,-318.4 1672.38,-318.4 1672.38,-320.88 1670.04,-324.21 1667.7,-325.06 1667.7,-325.06 1647.92,-332.22 1647.92,-332.22 1645.58,-333.07 1640.76,-333.91 1638.27,-333.91 1638.27,-333.91 1607.01,-333.91 1607.01,-333.91 1604.52,-333.91 1599.7,-333.07 1597.36,-332.22 1597.36,-332.22 1577.57,-325.06 1577.57,-325.06 1575.24,-324.21 1572.9,-320.88 1572.9,-318.4 1572.9,-318.4 1572.9,-313.43 1572.9,-313.43 1572.9,-310.94 1575.24,-307.61 1577.57,-306.76 1577.57,-306.76 1597.36,-299.6 1597.36,-299.6 1599.7,-298.76 1604.52,-297.91 1607.01,-297.91 1607.01,-297.91 1638.27,-297.91 1638.27,-297.91 1640.76,-297.91 1645.58,-298.76 1647.92,-299.6 1647.92,-299.6 1667.7,-306.76 1667.7,-306.76 1670.04,-307.61 1672.38,-310.94 1672.38,-313.43"/>
|
||||
<path fill="none" stroke="#333333" stroke-width="2" d="M1676.38,-312.49C1676.38,-312.49 1676.38,-319.33 1676.38,-319.33 1676.38,-322.75 1673.16,-327.34 1669.94,-328.5 1669.94,-328.5 1650.38,-335.58 1650.38,-335.58 1647.16,-336.75 1640.52,-337.91 1637.1,-337.91 1637.1,-337.91 1608.18,-337.91 1608.18,-337.91 1604.76,-337.91 1598.12,-336.75 1594.9,-335.58 1594.9,-335.58 1575.33,-328.5 1575.33,-328.5 1572.12,-327.34 1568.9,-322.75 1568.9,-319.33 1568.9,-319.33 1568.9,-312.49 1568.9,-312.49 1568.9,-309.07 1572.12,-304.49 1575.33,-303.32 1575.33,-303.32 1594.9,-296.24 1594.9,-296.24 1598.12,-295.08 1604.76,-293.91 1608.18,-293.91 1608.18,-293.91 1637.1,-293.91 1637.1,-293.91 1640.52,-293.91 1647.16,-295.08 1650.38,-296.24 1650.38,-296.24 1669.94,-303.32 1669.94,-303.32 1673.16,-304.49 1676.38,-309.07 1676.38,-312.49"/>
|
||||
<text text-anchor="middle" x="1622.64" y="-311.64" font-family="Arial" font-size="12.00" fill="#333333">terminated</text>
|
||||
<path fill="#e0e0e0" stroke="#333333" stroke-width="2" d="M1700.88,-312.92C1700.88,-312.92 1700.88,-317.89 1700.88,-317.89 1700.88,-320.38 1698.54,-323.71 1696.2,-324.55 1696.2,-324.55 1676.42,-331.72 1676.42,-331.72 1674.08,-332.56 1669.26,-333.41 1666.77,-333.41 1666.77,-333.41 1635.51,-333.41 1635.51,-333.41 1633.02,-333.41 1628.2,-332.56 1625.86,-331.72 1625.86,-331.72 1606.07,-324.55 1606.07,-324.55 1603.74,-323.71 1601.4,-320.38 1601.4,-317.89 1601.4,-317.89 1601.4,-312.92 1601.4,-312.92 1601.4,-310.44 1603.74,-307.1 1606.07,-306.26 1606.07,-306.26 1625.86,-299.1 1625.86,-299.1 1628.2,-298.25 1633.02,-297.41 1635.51,-297.41 1635.51,-297.41 1666.77,-297.41 1666.77,-297.41 1669.26,-297.41 1674.08,-298.25 1676.42,-299.1 1676.42,-299.1 1696.2,-306.26 1696.2,-306.26 1698.54,-307.1 1700.88,-310.44 1700.88,-312.92"/>
|
||||
<path fill="none" stroke="#333333" stroke-width="2" d="M1704.88,-311.99C1704.88,-311.99 1704.88,-318.83 1704.88,-318.83 1704.88,-322.25 1701.66,-326.83 1698.44,-328 1698.44,-328 1678.88,-335.08 1678.88,-335.08 1675.66,-336.24 1669.02,-337.41 1665.6,-337.41 1665.6,-337.41 1636.68,-337.41 1636.68,-337.41 1633.26,-337.41 1626.62,-336.24 1623.4,-335.08 1623.4,-335.08 1603.83,-328 1603.83,-328 1600.62,-326.83 1597.4,-322.25 1597.4,-318.83 1597.4,-318.83 1597.4,-311.99 1597.4,-311.99 1597.4,-308.57 1600.62,-303.98 1603.83,-302.82 1603.83,-302.82 1623.4,-295.73 1623.4,-295.73 1626.62,-294.57 1633.26,-293.41 1636.68,-293.41 1636.68,-293.41 1665.6,-293.41 1665.6,-293.41 1669.02,-293.41 1675.66,-294.57 1678.88,-295.73 1678.88,-295.73 1698.44,-302.82 1698.44,-302.82 1701.66,-303.98 1704.88,-308.57 1704.88,-311.99"/>
|
||||
<text text-anchor="middle" x="1651.14" y="-311.13" font-family="Arial" font-size="12.00" fill="#333333">terminated</text>
|
||||
</g>
|
||||
<!-- expired->terminated -->
|
||||
<g id="edge17" class="edge">
|
||||
<g id="edge18" class="edge">
|
||||
<title>expired->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M512.25,-271.56C621.35,-270.34 1033.02,-267.52 1370.9,-288.91 1433.87,-292.9 1505.41,-300.95 1555.91,-307.23"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1555.34,-310.69 1565.7,-308.46 1556.22,-303.74 1555.34,-310.69"/>
|
||||
<text text-anchor="middle" x="892.4" y="-276.84" font-family="Arial" font-size="10.00">✓ Terminal Failed (Expired)</text>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M538.57,-270.09C647.95,-269.03 1060.66,-266.78 1399.4,-288.41 1462.37,-292.43 1533.91,-300.48 1584.41,-306.75"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1583.84,-310.2 1594.2,-307.98 1584.71,-303.26 1583.84,-310.2"/>
|
||||
<text text-anchor="middle" x="932.9" y="-276.13" font-family="Arial" font-size="10.00">✓ Terminal Failed (Expired)</text>
|
||||
</g>
|
||||
<!-- cancelled->terminated -->
|
||||
<g id="edge34" class="edge">
|
||||
<g id="edge35" class="edge">
|
||||
<title>cancelled->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M788.97,-226.21C921.42,-219.89 1408.84,-200.92 1550.9,-255.91 1566.82,-262.07 1581.68,-273.42 1593.63,-284.59"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1590.98,-286.9 1600.56,-291.43 1595.9,-281.91 1590.98,-286.9"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-222.44" font-family="Arial" font-size="10.00">✓ Terminal Failed (Cancelled)</text>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M819.12,-224.73C952.02,-218.6 1437.75,-200.47 1579.4,-255.41 1595.31,-261.58 1610.17,-272.92 1622.13,-284.1"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1619.48,-286.4 1629.05,-290.93 1624.39,-281.42 1619.48,-286.4"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-221.14" font-family="Arial" font-size="10.00">✓ Terminal Failed (Cancelled)</text>
|
||||
</g>
|
||||
<!-- confirmed->terminated -->
|
||||
<!-- confirmed-complete -->
|
||||
<g id="node9" class="node">
|
||||
<title>confirmed-complete</title>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M1146.9,-642.41C1146.9,-642.41 1049.9,-642.41 1049.9,-642.41 1043.9,-642.41 1037.9,-636.41 1037.9,-630.41 1037.9,-630.41 1037.9,-618.41 1037.9,-618.41 1037.9,-612.41 1043.9,-606.41 1049.9,-606.41 1049.9,-606.41 1146.9,-606.41 1146.9,-606.41 1152.9,-606.41 1158.9,-612.41 1158.9,-618.41 1158.9,-618.41 1158.9,-630.41 1158.9,-630.41 1158.9,-636.41 1152.9,-642.41 1146.9,-642.41"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-620.13" font-family="Arial" font-size="12.00" fill="#155724">confirmed-complete</text>
|
||||
</g>
|
||||
<!-- confirmed->confirmed-complete -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>confirmed->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1095.96,-636.62C1182.86,-664.12 1415.45,-722.61 1550.9,-612.91 1591.51,-580.02 1611.52,-421.63 1618.58,-350.55"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1622.03,-351.29 1619.5,-341 1615.06,-350.62 1622.03,-351.29"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-680.24" font-family="Arial" font-size="10.00">✓ Terminal Success</text>
|
||||
<title>confirmed->confirmed-complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M696.3,-582.94C766.86,-590.23 930.04,-607.1 1025.09,-616.93"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1024.62,-620.4 1034.93,-617.95 1025.34,-613.44 1024.62,-620.4"/>
|
||||
<text text-anchor="middle" x="784.27" y="-598.68" font-family="Arial" font-size="10.00">Swept to cold storage</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_refunded -->
|
||||
<g id="node12" class="node">
|
||||
<title>confirmed_overpay_refunded</title>
|
||||
<path fill="#fff3cd" stroke="#856404" stroke-width="2" d="M966.4,-549.91C966.4,-549.91 818.4,-549.91 818.4,-549.91 812.4,-549.91 806.4,-543.91 806.4,-537.91 806.4,-537.91 806.4,-525.91 806.4,-525.91 806.4,-519.91 812.4,-513.91 818.4,-513.91 818.4,-513.91 966.4,-513.91 966.4,-513.91 972.4,-513.91 978.4,-519.91 978.4,-525.91 978.4,-525.91 978.4,-537.91 978.4,-537.91 978.4,-543.91 972.4,-549.91 966.4,-549.91"/>
|
||||
<text text-anchor="middle" x="892.4" y="-527.64" font-family="Arial" font-size="12.00" fill="#856404">confirmed_overpay_refunded</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay->confirmed_overpay_refunded -->
|
||||
<!-- confirmed-complete->terminated -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>confirmed_overpay->confirmed_overpay_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M686.71,-525.7C718.12,-526.65 757.61,-527.85 793.5,-528.94"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="793.15,-532.43 803.25,-529.24 793.36,-525.43 793.15,-532.43"/>
|
||||
<text text-anchor="middle" x="754.52" y="-531.13" font-family="Arial" font-size="10.00">Initiate refund</text>
|
||||
<title>confirmed-complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1157.63,-643.31C1256.38,-671.4 1457.8,-710.94 1579.4,-612.41 1620,-579.51 1640.02,-421.12 1647.08,-350.05"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1650.53,-350.79 1648,-340.5 1643.56,-350.12 1650.53,-350.79"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-678.64" font-family="Arial" font-size="10.00">✓ Terminal Success</text>
|
||||
</g>
|
||||
<!-- underpaid_refunded_complete -->
|
||||
<g id="node17" class="node">
|
||||
<title>underpaid_refunded_complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1334.9,-495.91C1334.9,-495.91 1179.4,-495.91 1179.4,-495.91 1173.4,-495.91 1167.4,-489.91 1167.4,-483.91 1167.4,-483.91 1167.4,-471.91 1167.4,-471.91 1167.4,-465.91 1173.4,-459.91 1179.4,-459.91 1179.4,-459.91 1334.9,-459.91 1334.9,-459.91 1340.9,-459.91 1346.9,-465.91 1346.9,-471.91 1346.9,-471.91 1346.9,-483.91 1346.9,-483.91 1346.9,-489.91 1340.9,-495.91 1334.9,-495.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-473.64" font-family="Arial" font-size="12.00" fill="#721c24">underpaid_refunded_complete</text>
|
||||
</g>
|
||||
<!-- underpaid_refunded->underpaid_refunded_complete -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>underpaid_refunded->underpaid_refunded_complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M955.35,-464.64C1009.91,-467.05 1090.42,-470.6 1154.42,-473.42"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1154.17,-476.92 1164.31,-473.86 1154.48,-469.92 1154.17,-476.92"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-474.32" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- underpaid_not_refunded -->
|
||||
<g id="node18" class="node">
|
||||
<title>underpaid_not_refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1318.78,-441.91C1318.78,-441.91 1195.53,-441.91 1195.53,-441.91 1189.53,-441.91 1183.53,-435.91 1183.53,-429.91 1183.53,-429.91 1183.53,-417.91 1183.53,-417.91 1183.53,-411.91 1189.53,-405.91 1195.53,-405.91 1195.53,-405.91 1318.78,-405.91 1318.78,-405.91 1324.78,-405.91 1330.78,-411.91 1330.78,-417.91 1330.78,-417.91 1330.78,-429.91 1330.78,-429.91 1330.78,-435.91 1324.78,-441.91 1318.78,-441.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-419.64" font-family="Arial" font-size="12.00" fill="#721c24">underpaid_not_refunded</text>
|
||||
</g>
|
||||
<!-- underpaid_refunded->underpaid_not_refunded -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>underpaid_refunded->underpaid_not_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M955.22,-455.28C968.78,-453.83 983.08,-452.32 996.4,-450.91 1054.53,-444.79 1119.98,-437.98 1170.64,-432.74"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1170.68,-436.25 1180.27,-431.74 1169.96,-429.29 1170.68,-436.25"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-453.41" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- out_of_stock_refunded_complete -->
|
||||
<g id="node19" class="node">
|
||||
<title>out_of_stock_refunded_complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1341.65,-387.91C1341.65,-387.91 1172.65,-387.91 1172.65,-387.91 1166.65,-387.91 1160.65,-381.91 1160.65,-375.91 1160.65,-375.91 1160.65,-363.91 1160.65,-363.91 1160.65,-357.91 1166.65,-351.91 1172.65,-351.91 1172.65,-351.91 1341.65,-351.91 1341.65,-351.91 1347.65,-351.91 1353.65,-357.91 1353.65,-363.91 1353.65,-363.91 1353.65,-375.91 1353.65,-375.91 1353.65,-381.91 1347.65,-387.91 1341.65,-387.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-365.64" font-family="Arial" font-size="12.00" fill="#721c24">out_of_stock_refunded_complete</text>
|
||||
</g>
|
||||
<!-- out_of_stock_refunded->out_of_stock_refunded_complete -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>out_of_stock_refunded->out_of_stock_refunded_complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M962.06,-369.91C1014.32,-369.91 1087.28,-369.91 1147.46,-369.91"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1147.43,-373.41 1157.43,-369.91 1147.43,-366.41 1147.43,-373.41"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-372.41" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- out_of_stock_not_refunded -->
|
||||
<g id="node20" class="node">
|
||||
<title>out_of_stock_not_refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1325.53,-333.91C1325.53,-333.91 1188.78,-333.91 1188.78,-333.91 1182.78,-333.91 1176.78,-327.91 1176.78,-321.91 1176.78,-321.91 1176.78,-309.91 1176.78,-309.91 1176.78,-303.91 1182.78,-297.91 1188.78,-297.91 1188.78,-297.91 1325.53,-297.91 1325.53,-297.91 1331.53,-297.91 1337.53,-303.91 1337.53,-309.91 1337.53,-309.91 1337.53,-321.91 1337.53,-321.91 1337.53,-327.91 1331.53,-333.91 1325.53,-333.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-311.64" font-family="Arial" font-size="12.00" fill="#721c24">out_of_stock_not_refunded</text>
|
||||
</g>
|
||||
<!-- out_of_stock_refunded->out_of_stock_not_refunded -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>out_of_stock_refunded->out_of_stock_not_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M962.09,-359.15C973.54,-357.39 985.31,-355.58 996.4,-353.91 1051.98,-345.53 1114.29,-336.4 1163.95,-329.2"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1164.33,-332.68 1173.72,-327.78 1163.32,-325.75 1164.33,-332.68"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-356.41" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_refunded_complete -->
|
||||
<!-- confirmed-overpay-refunded -->
|
||||
<g id="node13" class="node">
|
||||
<title>confirmed_overpay_refunded_complete</title>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M1358.9,-603.91C1358.9,-603.91 1155.4,-603.91 1155.4,-603.91 1149.4,-603.91 1143.4,-597.91 1143.4,-591.91 1143.4,-591.91 1143.4,-579.91 1143.4,-579.91 1143.4,-573.91 1149.4,-567.91 1155.4,-567.91 1155.4,-567.91 1358.9,-567.91 1358.9,-567.91 1364.9,-567.91 1370.9,-573.91 1370.9,-579.91 1370.9,-579.91 1370.9,-591.91 1370.9,-591.91 1370.9,-597.91 1364.9,-603.91 1358.9,-603.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-581.64" font-family="Arial" font-size="12.00" fill="#155724">confirmed_overpay_refunded_complete</text>
|
||||
<title>confirmed-overpay-refunded</title>
|
||||
<path fill="#fff3cd" stroke="#856404" stroke-width="2" d="M1003.9,-549.41C1003.9,-549.41 861.9,-549.41 861.9,-549.41 855.9,-549.41 849.9,-543.41 849.9,-537.41 849.9,-537.41 849.9,-525.41 849.9,-525.41 849.9,-519.41 855.9,-513.41 861.9,-513.41 861.9,-513.41 1003.9,-513.41 1003.9,-513.41 1009.9,-513.41 1015.9,-519.41 1015.9,-525.41 1015.9,-525.41 1015.9,-537.41 1015.9,-537.41 1015.9,-543.41 1009.9,-549.41 1003.9,-549.41"/>
|
||||
<text text-anchor="middle" x="932.9" y="-527.13" font-family="Arial" font-size="12.00" fill="#856404">confirmed-overpay-refunded</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_refunded->confirmed_overpay_refunded_complete -->
|
||||
<!-- confirmed-overpay->confirmed-overpay-refunded -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>confirmed_overpay_refunded->confirmed_overpay_refunded_complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M979.38,-545.33C985.14,-546.21 990.85,-547.07 996.4,-547.91 1040.17,-554.51 1088.11,-561.57 1130.76,-567.8"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1130,-571.22 1140.4,-569.2 1131.01,-564.29 1130,-571.22"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-569.34" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
<title>confirmed-overpay->confirmed-overpay-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M719.36,-513.28C753.48,-516.19 797.68,-519.96 836.92,-523.31"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="836.4,-526.78 846.66,-524.14 836.99,-519.8 836.4,-526.78"/>
|
||||
<text text-anchor="middle" x="784.27" y="-525.14" font-family="Arial" font-size="10.00">Initiate refund</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_not_refunded -->
|
||||
<g id="node14" class="node">
|
||||
<title>confirmed_overpay_not_refunded</title>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M1342.78,-549.91C1342.78,-549.91 1171.53,-549.91 1171.53,-549.91 1165.53,-549.91 1159.53,-543.91 1159.53,-537.91 1159.53,-537.91 1159.53,-525.91 1159.53,-525.91 1159.53,-519.91 1165.53,-513.91 1171.53,-513.91 1171.53,-513.91 1342.78,-513.91 1342.78,-513.91 1348.78,-513.91 1354.78,-519.91 1354.78,-525.91 1354.78,-525.91 1354.78,-537.91 1354.78,-537.91 1354.78,-543.91 1348.78,-549.91 1342.78,-549.91"/>
|
||||
<text text-anchor="middle" x="1257.15" y="-527.64" font-family="Arial" font-size="12.00" fill="#155724">confirmed_overpay_not_refunded</text>
|
||||
<!-- underpaid-refunded-complete -->
|
||||
<g id="node18" class="node">
|
||||
<title>underpaid-refunded-complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1364.9,-495.41C1364.9,-495.41 1215.4,-495.41 1215.4,-495.41 1209.4,-495.41 1203.4,-489.41 1203.4,-483.41 1203.4,-483.41 1203.4,-471.41 1203.4,-471.41 1203.4,-465.41 1209.4,-459.41 1215.4,-459.41 1215.4,-459.41 1364.9,-459.41 1364.9,-459.41 1370.9,-459.41 1376.9,-465.41 1376.9,-471.41 1376.9,-471.41 1376.9,-483.41 1376.9,-483.41 1376.9,-489.41 1370.9,-495.41 1364.9,-495.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-473.13" font-family="Arial" font-size="12.00" fill="#721c24">underpaid-refunded-complete</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_refunded->confirmed_overpay_not_refunded -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>confirmed_overpay_refunded->confirmed_overpay_not_refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M979.37,-531.91C1029.43,-531.91 1093.04,-531.91 1146.65,-531.91"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1146.37,-535.41 1156.37,-531.91 1146.37,-528.41 1146.37,-535.41"/>
|
||||
<text text-anchor="middle" x="1060.9" y="-534.41" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
<!-- underpaid-refunded->underpaid-refunded-complete -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>underpaid-refunded->underpaid-refunded-complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M994.16,-439.99C1007.26,-441.81 1021.04,-443.7 1033.9,-445.41 1085.52,-452.26 1143.07,-459.5 1190.44,-465.37"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1189.96,-468.83 1200.32,-466.59 1190.82,-461.89 1189.96,-468.83"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-464.01" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_refunded_complete->terminated -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>confirmed_overpay_refunded_complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1371.67,-596.89C1431.41,-596.51 1502.17,-585.48 1550.9,-543.91 1607.9,-495.29 1619.67,-401.65 1621.67,-350.82"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1625.17,-350.93 1621.93,-340.84 1618.17,-350.74 1625.17,-350.93"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-599.71" font-family="Arial" font-size="10.00">✓ Terminal Success</text>
|
||||
<!-- underpaid-not-refunded -->
|
||||
<g id="node19" class="node">
|
||||
<title>underpaid-not-refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1348.78,-441.41C1348.78,-441.41 1231.53,-441.41 1231.53,-441.41 1225.53,-441.41 1219.53,-435.41 1219.53,-429.41 1219.53,-429.41 1219.53,-417.41 1219.53,-417.41 1219.53,-411.41 1225.53,-405.41 1231.53,-405.41 1231.53,-405.41 1348.78,-405.41 1348.78,-405.41 1354.78,-405.41 1360.78,-411.41 1360.78,-417.41 1360.78,-417.41 1360.78,-429.41 1360.78,-429.41 1360.78,-435.41 1354.78,-441.41 1348.78,-441.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-419.13" font-family="Arial" font-size="12.00" fill="#721c24">underpaid-not-refunded</text>
|
||||
</g>
|
||||
<!-- confirmed_overpay_not_refunded->terminated -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>confirmed_overpay_not_refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1355.63,-529.7C1428.73,-526.16 1521.11,-517.07 1550.9,-493.91 1595.53,-459.21 1612.08,-392.1 1618.16,-350.93"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1621.63,-351.42 1619.47,-341.05 1614.69,-350.5 1621.63,-351.42"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-530.7" font-family="Arial" font-size="10.00">✓ Terminal Success (Not Refunded)</text>
|
||||
</g>
|
||||
<!-- latepay_refunded_complete->terminated -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>latepay_refunded_complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1340.17,-62.84C1404.26,-55.89 1492.05,-57.64 1550.9,-104.16 1605.07,-146.98 1618.11,-232.76 1621.02,-280.97"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1617.52,-281.12 1621.49,-290.95 1624.52,-280.8 1617.52,-281.12"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-107.41" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
</g>
|
||||
<!-- latepay_not_refunded->terminated -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>latepay_not_refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1323.99,-8.14C1389.15,3.31 1488.02,8.88 1550.9,-43.16 1587.54,-73.49 1609.34,-215.13 1617.69,-281.47"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1614.18,-281.55 1618.87,-291.05 1621.13,-280.7 1614.18,-281.55"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-46.41" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
</g>
|
||||
<!-- underpaid_refunded_complete->terminated -->
|
||||
<!-- underpaid-refunded->underpaid-not-refunded -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>underpaid_refunded_complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1347.76,-482.36C1409.64,-481.19 1491.2,-470.82 1550.9,-430.91 1579.76,-411.62 1598.9,-376.17 1609.91,-349.7"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1613.03,-351.33 1613.44,-340.74 1606.52,-348.76 1613.03,-351.33"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-483.11" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
<title>underpaid-refunded->underpaid-not-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M994.16,-430.05C1052.56,-428.73 1141.59,-426.73 1206.56,-425.27"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1206.62,-428.77 1216.54,-425.04 1206.47,-421.77 1206.62,-428.77"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-431.54" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- underpaid_not_refunded->terminated -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>underpaid_not_refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1331.52,-421.3C1392.61,-416.79 1480.65,-404.74 1550.9,-372.91 1565.41,-366.34 1579.48,-356.08 1591.2,-346.07"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1593.23,-348.94 1598.37,-339.67 1588.57,-343.72 1593.23,-348.94"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-417.66" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
<!-- out-of-stock-refunded-complete -->
|
||||
<g id="node20" class="node">
|
||||
<title>out-of-stock-refunded-complete</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1368.65,-387.41C1368.65,-387.41 1211.65,-387.41 1211.65,-387.41 1205.65,-387.41 1199.65,-381.41 1199.65,-375.41 1199.65,-375.41 1199.65,-363.41 1199.65,-363.41 1199.65,-357.41 1205.65,-351.41 1211.65,-351.41 1211.65,-351.41 1368.65,-351.41 1368.65,-351.41 1374.65,-351.41 1380.65,-357.41 1380.65,-363.41 1380.65,-363.41 1380.65,-375.41 1380.65,-375.41 1380.65,-381.41 1374.65,-387.41 1368.65,-387.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-365.13" font-family="Arial" font-size="12.00" fill="#721c24">out-of-stock-refunded-complete</text>
|
||||
</g>
|
||||
<!-- out_of_stock_refunded_complete->terminated -->
|
||||
<!-- out-of-stock-refunded->out-of-stock-refunded-complete -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>out-of-stock-refunded->out-of-stock-refunded-complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M997.82,-369.41C1050.35,-369.41 1125.77,-369.41 1186.72,-369.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1186.43,-372.91 1196.43,-369.41 1186.43,-365.91 1186.43,-372.91"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-371.91" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- out-of-stock-not-refunded -->
|
||||
<g id="node21" class="node">
|
||||
<title>out-of-stock-not-refunded</title>
|
||||
<path fill="#f8d7da" stroke="#721c24" stroke-width="2" d="M1352.53,-333.41C1352.53,-333.41 1227.78,-333.41 1227.78,-333.41 1221.78,-333.41 1215.78,-327.41 1215.78,-321.41 1215.78,-321.41 1215.78,-309.41 1215.78,-309.41 1215.78,-303.41 1221.78,-297.41 1227.78,-297.41 1227.78,-297.41 1352.53,-297.41 1352.53,-297.41 1358.53,-297.41 1364.53,-303.41 1364.53,-309.41 1364.53,-309.41 1364.53,-321.41 1364.53,-321.41 1364.53,-327.41 1358.53,-333.41 1352.53,-333.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-311.13" font-family="Arial" font-size="12.00" fill="#721c24">out-of-stock-not-refunded</text>
|
||||
</g>
|
||||
<!-- out-of-stock-refunded->out-of-stock-not-refunded -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>out_of_stock_refunded_complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1354.48,-360.44C1411.78,-354.13 1485.77,-344.82 1550.9,-332.91 1554.22,-332.3 1557.62,-331.64 1561.04,-330.93"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1561.45,-334.43 1570.48,-328.89 1559.96,-327.59 1561.45,-334.43"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-359.37" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
<title>out-of-stock-refunded->out-of-stock-not-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M997.9,-359.06C1009.86,-357.16 1022.26,-355.2 1033.9,-353.41 1090.14,-344.72 1153.42,-335.3 1202.9,-328.01"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1203.21,-331.5 1212.6,-326.58 1202.19,-324.58 1203.21,-331.5"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-355.91" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- out_of_stock_not_refunded->terminated -->
|
||||
<!-- confirmed-overpay-refunded-complete -->
|
||||
<g id="node14" class="node">
|
||||
<title>confirmed-overpay-refunded-complete</title>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M1387.4,-603.41C1387.4,-603.41 1192.9,-603.41 1192.9,-603.41 1186.9,-603.41 1180.9,-597.41 1180.9,-591.41 1180.9,-591.41 1180.9,-579.41 1180.9,-579.41 1180.9,-573.41 1186.9,-567.41 1192.9,-567.41 1192.9,-567.41 1387.4,-567.41 1387.4,-567.41 1393.4,-567.41 1399.4,-573.41 1399.4,-579.41 1399.4,-579.41 1399.4,-591.41 1399.4,-591.41 1399.4,-597.41 1393.4,-603.41 1387.4,-603.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-581.13" font-family="Arial" font-size="12.00" fill="#155724">confirmed-overpay-refunded-complete</text>
|
||||
</g>
|
||||
<!-- confirmed-overpay-refunded->confirmed-overpay-refunded-complete -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>confirmed-overpay-refunded->confirmed-overpay-refunded-complete</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1016.83,-544.75C1022.61,-545.65 1028.34,-546.55 1033.9,-547.41 1077.62,-554.16 1125.58,-561.35 1168.01,-567.65"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1167.47,-571.1 1177.87,-569.11 1168.49,-564.18 1167.47,-571.1"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-568.88" font-family="Arial" font-size="10.00">Refund confirmed</text>
|
||||
</g>
|
||||
<!-- confirmed-overpay-not-refunded -->
|
||||
<g id="node15" class="node">
|
||||
<title>confirmed-overpay-not-refunded</title>
|
||||
<path fill="#d4edda" stroke="#155724" stroke-width="2" d="M1371.28,-549.41C1371.28,-549.41 1209.03,-549.41 1209.03,-549.41 1203.03,-549.41 1197.03,-543.41 1197.03,-537.41 1197.03,-537.41 1197.03,-525.41 1197.03,-525.41 1197.03,-519.41 1203.03,-513.41 1209.03,-513.41 1209.03,-513.41 1371.28,-513.41 1371.28,-513.41 1377.28,-513.41 1383.28,-519.41 1383.28,-525.41 1383.28,-525.41 1383.28,-537.41 1383.28,-537.41 1383.28,-543.41 1377.28,-549.41 1371.28,-549.41"/>
|
||||
<text text-anchor="middle" x="1290.15" y="-527.13" font-family="Arial" font-size="12.00" fill="#155724">confirmed-overpay-not-refunded</text>
|
||||
</g>
|
||||
<!-- confirmed-overpay-refunded->confirmed-overpay-not-refunded -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>confirmed-overpay-refunded->confirmed-overpay-not-refunded</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1016.74,-531.41C1066.68,-531.41 1130.76,-531.41 1184.22,-531.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1183.88,-534.91 1193.88,-531.41 1183.88,-527.91 1183.88,-534.91"/>
|
||||
<text text-anchor="middle" x="1098.4" y="-533.91" font-family="Arial" font-size="10.00">No refund wallet configured</text>
|
||||
</g>
|
||||
<!-- confirmed-overpay-refunded-complete->terminated -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>confirmed-overpay-refunded-complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1400.13,-595.95C1459.54,-595.76 1530.68,-585.06 1579.4,-543.41 1636.35,-494.73 1648.14,-401.11 1650.16,-350.3"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1653.65,-350.41 1650.42,-340.32 1646.66,-350.23 1653.65,-350.41"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-598.72" font-family="Arial" font-size="10.00">✓ Terminal Success</text>
|
||||
</g>
|
||||
<!-- confirmed-overpay-not-refunded->terminated -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>confirmed-overpay-not-refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1384.21,-529.17C1456.64,-525.63 1549.68,-516.55 1579.4,-493.41 1624,-458.66 1640.56,-391.56 1646.65,-350.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1650.12,-350.9 1647.96,-340.53 1643.18,-349.99 1650.12,-350.9"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-529.98" font-family="Arial" font-size="10.00">✓ Terminal Success (Not Refunded)</text>
|
||||
</g>
|
||||
<!-- latepay-refunded-complete->terminated -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>latepay-refunded-complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1370.32,-62.87C1433.56,-55.93 1520.99,-57.42 1579.4,-103.66 1633.54,-146.52 1646.59,-232.28 1649.51,-280.47"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1646.02,-280.62 1649.98,-290.45 1653.01,-280.3 1646.02,-280.62"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-106.91" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
</g>
|
||||
<!-- latepay-not-refunded->terminated -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>latepay-not-refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1354.19,-8.27C1418.33,3.14 1516.93,9.1 1579.4,-42.66 1616.03,-73 1637.83,-214.63 1646.19,-280.97"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1642.68,-281.05 1647.37,-290.55 1649.62,-280.2 1642.68,-281.05"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-45.91" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
</g>
|
||||
<!-- underpaid-refunded-complete->terminated -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>underpaid-refunded-complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1377.79,-481.99C1438.93,-481.08 1520.16,-471.13 1579.4,-431.41 1608.41,-411.95 1627.53,-376.19 1638.49,-349.5"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1641.65,-351.03 1642.01,-340.44 1635.13,-348.49 1641.65,-351.03"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-482.81" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
</g>
|
||||
<!-- underpaid-not-refunded->terminated -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>underpaid-not-refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1361.59,-420.73C1421.81,-416.2 1509.54,-404.17 1579.4,-372.41 1593.9,-365.81 1607.97,-355.55 1619.69,-345.54"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1621.72,-348.42 1626.86,-339.15 1617.06,-343.19 1621.72,-348.42"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-417.91" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
</g>
|
||||
<!-- out-of-stock-refunded-complete->terminated -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>out_of_stock_not_refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1338.37,-315.91C1403.7,-315.91 1494.79,-315.91 1555.87,-315.91"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1555.78,-319.41 1565.78,-315.91 1555.78,-312.41 1555.78,-319.41"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-319.16" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
<title>out-of-stock-refunded-complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1381.45,-360.35C1438.46,-354.01 1513.53,-344.51 1579.4,-332.41 1582.72,-331.8 1586.12,-331.13 1589.54,-330.42"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1589.95,-333.91 1598.98,-328.38 1588.46,-327.07 1589.95,-333.91"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-358.77" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
</g>
|
||||
<!-- doublepay_refunded_complete->terminated -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>doublepay_refunded_complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1348.79,-183.09C1421.89,-182.41 1517.8,-185.59 1550.9,-205.16 1579.68,-222.18 1598.69,-256.01 1609.69,-281.82"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1606.37,-282.95 1613.34,-290.93 1612.86,-280.34 1606.37,-282.95"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-208.41" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
<!-- out-of-stock-not-refunded->terminated -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>out-of-stock-not-refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1365.1,-315.41C1429.66,-315.41 1522.47,-315.41 1584.45,-315.41"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1584.15,-318.91 1594.15,-315.41 1584.15,-311.91 1584.15,-318.91"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-318.66" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
</g>
|
||||
<!-- doublepay_not_refunded->terminated -->
|
||||
<!-- doublepay-refunded-complete->terminated -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>doublepay_not_refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1332.88,-121.78C1396.67,-117.23 1487.83,-120.85 1550.9,-166.16 1588.81,-193.4 1607.09,-246.32 1615.39,-281.39"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1611.88,-281.74 1617.44,-290.76 1618.72,-280.25 1611.88,-281.74"/>
|
||||
<text text-anchor="middle" x="1469.9" y="-169.41" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
<title>doublepay-refunded-complete->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1378.97,-182.74C1451.13,-182.09 1546.6,-185.24 1579.4,-204.66 1608.17,-221.69 1627.18,-255.52 1638.18,-281.33"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1634.86,-282.45 1641.83,-290.43 1641.36,-279.84 1634.86,-282.45"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-207.91" font-family="Arial" font-size="10.00">✓ Terminal Failed (Refund Complete)</text>
|
||||
</g>
|
||||
<!-- doublepay-not-refunded->terminated -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>doublepay-not-refunded->terminated</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.5" d="M1362.89,-121.73C1425.79,-117.17 1516.72,-120.54 1579.4,-165.66 1617.29,-192.93 1635.57,-245.84 1643.88,-280.9"/>
|
||||
<polygon fill="black" stroke="black" stroke-width="1.5" points="1640.37,-281.25 1645.93,-290.27 1647.21,-279.75 1640.37,-281.25"/>
|
||||
<text text-anchor="middle" x="1498.4" y="-168.91" font-family="Arial" font-size="10.00">✓ Terminal Failed (Not Refunded)</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 36 KiB |
Loading…
Add table
Add a link
Reference in a new issue