roam/aweber/stripe-purchase-tracking-payment-events.svg

37 lines
12 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="659px" preserveAspectRatio="none" style="width:542px;height:659px;background:#FFFFFF;" version="1.1" viewBox="0 0 542 659" width="542px" zoomAndPan="magnify"><defs><filter height="300%" id="f6oo5rsk59mkw" 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(#f6oo5rsk59mkw)" height="248.4395" style="stroke:#000000;stroke-width:2.0;" width="515" x="10" y="207.4199"/><rect fill="#FFFFFF" filter="url(#f6oo5rsk59mkw)" height="103.8867" style="stroke:#000000;stroke-width:2.0;" width="319.5" x="195.5" y="344.9727"/><rect fill="#FFFFFF" height="14.9551" style="stroke:none;stroke-width:1.0;" width="319.5" x="195.5" y="433.9043"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="49" x2="49" y1="88.4883" y2="574.791"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="111" x2="111" y1="88.4883" y2="574.791"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="270.5" x2="270.5" y1="88.4883" y2="574.791"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="472" x2="472" y1="88.4883" y2="574.791"/><rect fill="#FEFECE" filter="url(#f6oo5rsk59mkw)" 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(#f6oo5rsk59mkw)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="54" x="20" y="573.791"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="27" y="594.3262">Stripe</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="88" y="85.5352">Client</text><ellipse cx="111" cy="15" fill="#FEFECE" filter="url(#f6oo5rsk59mkw)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M111,23 L111,50 M98,31 L124,31 M111,50 L98,65 M111,50 L124,65 " fill="none" filter="url(#f6oo5rsk59mkw)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="88" y="587.3262">Client</text><ellipse cx="111" cy="600.2793" fill="#FEFECE" filter="url(#f6oo5rsk59mkw)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M111,608.2793 L111,635.2793 M98,616.2793 L124,616.2793 M111,635.2793 L98,650.2793 M111,635.2793 L124,650.2793 " fill="none" filter="url(#f6oo5rsk59mkw)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#f6oo5rsk59mkw)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="127" x="205.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="212.5" y="73.5352">stripe-payments</text><rect fill="#FEFECE" filter="url(#f6oo5rsk59mkw)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="127" x="205.5" y="573.791"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="212.5" y="594.3262">stripe-payments</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="439" y="85.5352">Tracking</text><path d="M454,36 C454,26 472,26 472,26 C472,26 490,26 490,36 L490,62 C490,72 472,72 472,72 C472,72 454,72 454,62 L454,36 " fill="#FEFECE" filter="url(#f6oo5rsk59mkw)" style="stroke:#000000;stroke-width:1.5;"/><path d="M454,36 C454,46 472,46 472,46 C472,46 490,46 490,36 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><text fill="#00000
2021-09-01 20:57:39 +00:00
@startuml
participant Stripe
actor Client
participant "stripe-payments" as Backend
database Tracking
== Payment succeeded ==
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 -> Stripe : Look up invoice
note over Backend
Recurring if an invoice exists
and has an associated subscription
end note
alt Non-recurring
Backend -> Backend : Fulfill purchase
Backend -> Tracking : <font color="blue">Mark purchase as fulfilled</font>
else Recurring
end
end
== Payment failed ==
Stripe - -> Backend : payment_intent.payment_failed
Backend -> Tracking : <font color="green">Store event</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>