roam/aweber/stripe-purchase-tracking.svg

40 lines
15 KiB
XML
Raw Normal View History

2021-10-01 21:48:18 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="781px" preserveAspectRatio="none" style="width:668px;height:781px;background:#FFFFFF;" version="1.1" viewBox="0 0 668 781" width="668px" zoomAndPan="magnify"><defs><filter height="300%" id="f15kx617gahtg6" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f15kx617gahtg6)" height="208.1289" style="stroke:#000000;stroke-width:2.0;" width="644" x="10" y="193.4199"/><rect fill="#FFFFFF" height="73.5762" style="stroke:none;stroke-width:1.0;" width="644" x="10" y="327.9727"/><rect fill="#FFFFFF" filter="url(#f15kx617gahtg6)" height="77.9316" style="stroke:#000000;stroke-width:2.0;" width="448.5" x="10" y="500.8594"/><rect fill="#FFFFFF" height="31.3105" style="stroke:none;stroke-width:1.0;" width="448.5" x="10" y="547.4805"/><line style="stroke:#A80036;stroke-width:1.0;" x1="49" x2="49" y1="88.4883" y2="408.5488"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="49" x2="49" y1="408.5488" y2="436.5488"/><line style="stroke:#A80036;stroke-width:1.0;" x1="49" x2="49" y1="436.5488" y2="465.8594"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="49" x2="49" y1="465.8594" y2="493.8594"/><line style="stroke:#A80036;stroke-width:1.0;" x1="49" x2="49" y1="493.8594" y2="696.7227"/><line style="stroke:#A80036;stroke-width:1.0;" x1="223" x2="223" y1="88.4883" y2="408.5488"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="223" x2="223" y1="408.5488" y2="436.5488"/><line style="stroke:#A80036;stroke-width:1.0;" x1="223" x2="223" y1="436.5488" y2="465.8594"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="223" x2="223" y1="465.8594" y2="493.8594"/><line style="stroke:#A80036;stroke-width:1.0;" x1="223" x2="223" y1="493.8594" y2="696.7227"/><line style="stroke:#A80036;stroke-width:1.0;" x1="382.5" x2="382.5" y1="88.4883" y2="408.5488"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="382.5" x2="382.5" y1="408.5488" y2="436.5488"/><line style="stroke:#A80036;stroke-width:1.0;" x1="382.5" x2="382.5" y1="436.5488" y2="465.8594"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="382.5" x2="382.5" y1="465.8594" y2="493.8594"/><line style="stroke:#A80036;stroke-width:1.0;" x1="382.5" x2="382.5" y1="493.8594" y2="696.7227"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="611" y1="88.4883" y2="408.5488"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="611" x2="611" y1="408.5488" y2="436.5488"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="611" y1="436.5488" y2="465.8594"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="611" x2="611" y1="465.8594" y2="493.8594"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="611" y1="493.8594" y2="696.7227"/><rect fill="#FEFECE" filter="url(#f15kx617gahtg6)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="54" x="20" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="27" y="73.5352">Stripe</text><rect fill="#FEFECE" filter="url(#f15kx617gahtg6)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="54" x="20" y="695.7227"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="27" y="716.2578">Stripe</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="200" y="85.5352">Client</text><ellipse cx="223" cy="15" fill="#FEFECE" filter="url(#f15kx617gahtg6)" rx="8"
2021-09-01 20:57:39 +00:00
@startuml
participant Stripe
actor Client
participant "stripe-payments" as Backend
database Tracking
Client -> Stripe : Create payment method
Client -> Backend: Initiate purchase
Backend -> Tracking : <font color="blue">Store incomplete purchase</font>
alt Non-recurring
Backend -> Stripe : Create invoice item
Backend -> Stripe : Create invoice
Backend -> Stripe : Pay invoice
Backend -> Tracking : <font color="blue">Store completed payment</font>
else Recurring
Backend -> Stripe : Create subscription
Backend -> Tracking : <font color="blue">Store active subscription</font>
end
...
Stripe - -> Backend : Subscription activated
...
alt
Stripe - -> Backend : customer.subscription.updated (no longer active)
else
Stripe - -> Backend : subscription_schedule.canceled
end
Backend -> Tracking : <font color="green">Store event</font>
Backend -> Backend : Trigger unsubscribe actions
Backend -> Tracking : <font color="blue">Mark subscription as terminated</font>
@enduml
2021-10-01 21:48:18 +00:00
PlantUML version 1.2021.10(Mon Aug 30 09:43:48 EDT 2021)
2021-09-01 20:57:39 +00:00
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>