Skip to content

Handling Reimbursement Events — Proposed Guide

Planned API — Reference Only

Handling 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.

JSON fixture
Fictional concept fixture
{
  "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

Illustrative field dictionary
NameTypeDescription
event_idstringStable fictional event reference; not a secret and not evidence that a resource exists.
reimbursement_idstringStable fictional reimbursement reference; not a secret and not evidence that a resource exists.
attempt_idstringStable fictional attempt reference; not a secret and not evidence that a resource exists.
statusstringProposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success.