event \ action |
|
|
| posting emitted |
---|---|---|---|---|
Subscription creation |
| - | - | - |
Subscription activated | - |
|
| charge |
changed autodebit date | - | given | given | - |
|
|
| - | - |
| - | - |
| pay |
pay now | - | - |
| pay (no debt) |
charged & | - | - |
| pay |
charged & pay now | - | - |
| pay (no debt) |
subscription un-freezed out of last cycle ( | previous |
|
| pay |
subscription downgrade | - | - | - | - |
subscription upgrade |
|
|
| pay (no debt) |
Each action where a posting is required shall be triggered by a message from TM about a successful posting. To handle errors during the processing, we want to include an idempotencyKey
with each posting.
As we may need to create multiple postings of the same type in case one fails (e.g. customer didn’t have money for Pay Now, but made a top-up in the meantime), we have to allow for a “regeneration“ of idempotencyKey
. As such, on "request" for a posting of a specific type, there will be a UUID (idempotencyKey
) created and stored in the DB to be used for this posting. This UUID will be released on a message from TM, be it success or failure.
Attachments:
plantuml_1668695176709.svg (image/svg+xml)
plantuml_1668695176709.png (image/png)
plantuml_1668696662036 (text/plain)
plantuml_1668696662036.svg (image/svg+xml)
plantuml_1668696662036.png (image/png)
plantuml_1668695176709 (text/plain)
plantuml_1668695176709.svg (image/svg+xml)
plantuml_1668695176709.png (image/png)
plantuml_1668695176709.svg (image/svg+xml)
plantuml_1668695176709 (text/plain)
plantuml_1668695176709.png (image/png)
plantuml_1668695176709 (text/plain)
plantuml_1668695176709.svg (image/svg+xml)
plantuml_1668695176709.png (image/png)
plantuml_1668696662036 (text/plain)
plantuml_1668696662036.svg (image/svg+xml)
plantuml_1668696662036.png (image/png)