# Discarding or resolving a payment event acts on the whole charge

`discard`, `restore` and `resolve` on a payment event now also apply to the other events of the same charge: its failed attempts, its refunds, its dispute.

Sep 15, 2026 · Breaking

A single charge usually leaves several events: the sale, its failed attempts, its refunds. Discarding or resolving one of them used to leave the others in place, so the charge still showed up as needing attention, now represented by a sibling event.

The three actions now work on the charge as a whole. The response still carries the event you named.

## What breaks

- **`discard` removes more than the event you name.** Every active, eligible event with the same `external_payment_id` is discarded with it, in one go and with the same `deleted_at`. Without a payment id, events are grouped by the same `source_object_id` (a credit note, a dispute). After a discard, a list call returns fewer rows than it did before.
- **`restore` brings back exactly what that discard removed**: the events with the same `deleted_at`. Events discarded in another operation stay discarded.
- **`resolve` resolves every event of the charge that needs action**, the same criterion as the `needs_action` filter. That includes a failed event still waiting for an automatic retry, so a charge you have handled elsewhere is not retried and invoiced twice. It answers `400` only if the event you name is not eligible.

## Does this affect you?

- If you call `discard` or `resolve` event by event and then check that the others of the same charge are still there, they no longer will be.

## What else changed

- **Events not yet processed are left alone.** A `RECEIVED` event other than the one you name is not discarded or resolved, and neither is an event that needs no action.

## Endpoints

- `POST /v1/companies/{company_id}/payment-connections/{connection_id}/events/{event_id}/discard` — Discards every eligible event of the same charge
- `POST /v1/companies/{company_id}/payment-connections/{connection_id}/events/{event_id}/restore` — Restores everything that discard removed
- `POST /v1/companies/{company_id}/payment-connections/{connection_id}/events/{event_id}/resolve` — Resolves every event of the charge that needs action

## Where to go next

- [Discard a payment event](/payment-events/discardCompanyPaymentEvent)
- [Resolve a payment event](/payment-events/resolveCompanyPaymentEvent)

---

Full OpenAPI spec: https://docs.beel.es/api/openapi