Fires when payment for an order is collected (or billed externally for pharmacy-billed variations). targetEntity is the Order. Categories: ORDER, PAYMENT. The eventType is order_payment_collected.
Field guarantees
| Field | Guarantee |
|---|---|
eventData.performedBy | ⚠️ Conditional — present on some firings, absent on others |
performedBy in v2 | ⛔ Not delivered — blocked as PHI-adjacent |
v2 order reference (order_id, order_status) | ✅ Always present |
performedByis not guaranteed even in v1, and never present in v2. When it appears, it names who triggered the collection.
v1 payload (legacy)
{
"_id": "event::9a8b7c6d-xxxx-xxxx-xxxx-5e4f3a2b1c0d",
"ownerEntity": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
"ownerEntityModel": "Patient",
"targetEntity": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
"targetEntityModel": "Order",
"eventTitle": "Payment successfully collected",
"eventDescription": "The payment for the order was successfully collected",
"eventType": "order_payment_collected",
"eventData": {
"performedBy": {
"id": "usr::154300b9-xxxx-xxxx-xxxx-c09f9be9f8d7",
"role": "affiliate-super-admin",
"name": "<ADMIN_NAME>"
}
},
"deleted": false,
"createdAt": { "$date": "2026-01-01T12:00:00.000Z" },
"updatedAt": { "$date": "2026-01-01T12:00:00.000Z" },
"__v": 0
}When the order is billed externally, eventTitle/eventDescription differ ("No Payment Necessary…") but the eventData shape is unchanged.
eventData field | Type | Always? | Notes |
|---|---|---|---|
performedBy | object {id, role, name} | ⚠️ | Present on some firings only |
v2 payload
Sanitized envelope. performedBy is stripped; the order reference is resolved from the target order.
{
"event_type": "order_payment_collected",
"event_id": "event::9a8b7c6d-xxxx-xxxx-xxxx-5e4f3a2b1c0d",
"api_version": "2026-08-09",
"timestamp": "2026-05-30T14:00:00.000Z",
"affiliate_id": "aff::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"patient_id": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
"patient_external_id": "ext-patient-123",
"patient_marketing_consent": false,
"is_returning_patient": true,
"order_id": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
"order_status": "requires_order_processing"
}| Field | Delivered in v2 | Notes |
|---|---|---|
| Envelope + patient identity | ✅ | |
order_id, order_status | ✅ | Resolved from the target order |
performedBy | ⛔ | Stripped |
