Handling Reimbursement Events — Proposed Guide
Planned API — Reference OnlyHandling Reimbursement Events: A reimbursement-event consumer should maintain a view of already reported facts without using every event as a new payment…
Overview
A reimbursement-event consumer should maintain a view of already reported facts without using every event as a new payment instruction. Duplicate and late events need explicit handling.
Key concepts
Deduplicate by event id, correlate attempts and preserve return events after completion. Apply only allowed state transitions.
Implementation considerations
The event examples are local fixtures. No listener, bank connection or reimbursement transaction is created.
Illustrative data model
This local fixture shows a possible representation for the concepts above. It is not an endpoint response, production configuration or a claim that the described capability is implemented.
{
"reference_only": true,
"topic": "Handling Reimbursement Events",
"event_id": "event_example_123",
"reimbursement_id": "reimb_example_123",
"attempt_id": "attempt_example_123",
"status": "draft"
}Design review checklist
- Document which organization owns the handling reimbursement events representation and which actor may view or change it.
- Test the boundaries of event id, reimbursement id, attempt id, status using synthetic values, including missing or inconsistent references.
- Before future implementation, obtain an approved contract and review failure behavior. This documentation does not authorize production activation.
Proposed data types
| Name | Type | Description |
|---|---|---|
| event_id | string | Stable fictional event reference; not a secret and not evidence that a resource exists. |
| reimbursement_id | string | Stable fictional reimbursement reference; not a secret and not evidence that a resource exists. |
| attempt_id | string | Stable fictional attempt reference; not a secret and not evidence that a resource exists. |
| status | string | Proposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success. |