roam/aweber/stripe-legacy-purchase-tracking.svg

37 lines
13 KiB
XML
Raw Normal View History

2021-09-01 20:57:39 +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="692px" preserveAspectRatio="none" style="width:626px;height:692px;" version="1.1" viewBox="0 0 626 692" width="626px" zoomAndPan="magnify"><defs><filter height="300%" id="fozv35fmdzu27" 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(#fozv35fmdzu27)" height="281.75" style="stroke:#000000;stroke-width:2.0;" width="602" x="10" y="309.3516"/><rect fill="#FFFFFF" filter="url(#fozv35fmdzu27)" height="118.2422" style="stroke:#000000;stroke-width:2.0;" width="319.5" x="282.5" y="392.2832"/><rect fill="#FFFFFF" height="73.5762" style="stroke:none;stroke-width:1.0;" width="602" x="10" y="517.5254"/><line style="stroke:#A80036;stroke-width:1.0;" x1="49" x2="49" y1="88.4883" y2="274.3516"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="49" x2="49" y1="274.3516" y2="302.3516"/><line style="stroke:#A80036;stroke-width:1.0;" x1="49" x2="49" y1="302.3516" y2="608.1016"/><line style="stroke:#A80036;stroke-width:1.0;" x1="194" x2="194" y1="88.4883" y2="274.3516"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="194" x2="194" y1="274.3516" y2="302.3516"/><line style="stroke:#A80036;stroke-width:1.0;" x1="194" x2="194" y1="302.3516" y2="608.1016"/><line style="stroke:#A80036;stroke-width:1.0;" x1="357.5" x2="357.5" y1="88.4883" y2="274.3516"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="357.5" x2="357.5" y1="274.3516" y2="302.3516"/><line style="stroke:#A80036;stroke-width:1.0;" x1="357.5" x2="357.5" y1="302.3516" y2="608.1016"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559" x2="559" y1="88.4883" y2="274.3516"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="559" x2="559" y1="274.3516" y2="302.3516"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559" x2="559" y1="302.3516" y2="608.1016"/><rect fill="#FEFECE" filter="url(#fozv35fmdzu27)" 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(#fozv35fmdzu27)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="54" x="20" y="607.1016"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="27" y="627.6367">Stripe</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="171" y="85.5352">Client</text><ellipse cx="194" cy="15" fill="#FEFECE" filter="url(#fozv35fmdzu27)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M194,23 L194,50 M181,31 L207,31 M194,50 L181,65 M194,50 L207,65 " fill="none" filter="url(#fozv35fmdzu27)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="171" y="620.6367">Client</text><ellipse cx="194" cy="633.5898" fill="#FEFECE" filter="url(#fozv35fmdzu27)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M194,641.5898 L194,668.5898 M181,649.5898 L207,649.5898 M194,668.5898 L181,683.5898 M194,668.5898 L207,683.5898 " fill="none" filter="url(#fozv35fmdzu27)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#fozv35fmdzu27)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="127" x="292.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="299.5" y="73.5352">stripe-payments</text><rect fill="#FEFECE" filter
@startuml
participant Stripe
actor Client
participant "stripe-payments" as Backend
database Tracking
Client -> Backend: Initiate purchase
Backend -> Tracking : <font color="blue">Store incomplete purchase</font>
Backend -> Stripe : Create payment intent
Backend -> Tracking : <font color="blue">Store incomplete payment</font>
Backend -> Client : Return payment intent
Client -> Stripe : Complete purchase
...
alt Success
Stripe - - -> Backend : payment_intent.succeeded
Backend -> Tracking : <font color="green">Store event</font>
alt Event not previously handled
Backend -> Tracking : <font color="blue">Mark payment as succeeded</font>
Backend -> Backend : Fulfill purchase
Backend -> Tracking : <font color="blue">Mark purchase as fulfilled</font>
end
else Failure
Stripe - -> Backend : payment_intent.payment_failed
Backend -> Tracking : <font color="green">Store event</font>
end
@enduml
PlantUML version 1.2021.00(Sun Jan 10 05:25:05 EST 2021)
(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>