Skip to content

Commit ebb20b3

Browse files
committed
docs(logic): describe enrollment phase
1 parent 5a2e6e0 commit ebb20b3

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

docs/development/application-logic.md

+53
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,64 @@ flowchart LR
187187

188188
## Enrollment
189189

190+
In this final phase, the user registers their contactless payment card with a concession group configured within the
191+
payment processor (Littlepay).
192+
193+
**_Cal-ITP Benefits never processes, transmits, nor stores the user's payment card details._**
194+
195+
!!! example "Entrypoint"
196+
197+
[`benefits/enrollment/views.py`][enrollment-views]
198+
199+
!!! example "Supporting packages"
200+
201+
[`cal-itp/littlepay`][littlepay]
202+
203+
```mermaid
204+
sequenceDiagram
205+
autonumber
206+
%% Enrollment phase
207+
actor user as User
208+
participant benefits as Benefits app
209+
participant littlepay as Littlepay
210+
211+
user->>benefits: starts enrollment phase
212+
activate user
213+
benefits-->>user: display enrollment index
214+
user->>littlepay: GET tokenization lib (from JS)
215+
littlepay-->>user: tokenization lib .js
216+
user->>benefits: GET card tokenization access token (from JS)
217+
deactivate user
218+
activate benefits
219+
benefits->>littlepay: GET API access token
220+
littlepay-->>benefits: access token
221+
benefits->>littlepay: GET card tokenization access token
222+
littlepay-->>benefits: access token
223+
benefits-->>user: access token
224+
deactivate benefits
225+
activate user
226+
user->>benefits: click to initiate payment card collection
227+
benefits-->>user: display Littlepay overlay
228+
user->>littlepay: provides debit or credit card details
229+
littlepay-->>user: card token
230+
user->>benefits: POST back card token
231+
deactivate user
232+
activate benefits
233+
benefits->>littlepay: GET API access token
234+
littlepay-->>benefits: access token
235+
benefits->>littlepay: GET funding source from card token
236+
littlepay-->>benefits: funding source
237+
benefits->>littlepay: enroll funding source in group
238+
deactivate benefits
239+
```
240+
190241
[core-models]: https://github.com/cal-itp/benefits/blob/dev/benefits/core/models.py
191242
[core-session]: https://github.com/cal-itp/benefits/blob/dev/benefits/core/session.py
192243
[core-views]: https://github.com/cal-itp/benefits/blob/dev/benefits/core/views.py
193244
[eligibility-verify]: https://github.com/cal-itp/benefits/blob/dev/benefits/eligibility/verify.py
194245
[eligibility-views]: https://github.com/cal-itp/benefits/blob/dev/benefits/eligibility/views.py
246+
[enrollment-views]: https://github.com/cal-itp/benefits/blob/dev/benefits/enrollment/views.py
247+
[littlepay]: https://github.com/cal-itp/littlepay
195248
[oauth-client]: https://github.com/cal-itp/benefits/blob/dev/benefits/oauth/client.py
196249
[oauth-redirects]: https://github.com/cal-itp/benefits/blob/dev/benefits/oauth/redirects.py
197250
[oauth-views]: https://github.com/cal-itp/benefits/blob/dev/benefits/oauth/views.py

0 commit comments

Comments
 (0)