How updates work
PATCH /v1/transaction_bundles/{id} is additive: items you do not include in the request remain in the bundle unchanged.
- To update an existing item: include its
id plus all required fields. Missing required fields may be cleared to zero/empty values.
- To add a new item: omit
id. A new item is created and appended to the bundle.
- To leave an item unchanged: do not include it in the request at all.
Always resend all required fields when updating an item, not just the fields you want to change.
Refund
For a refund (full or partial)
-
Fetch the bundle to get the transaction
id and membership/donation id:
GET /v1/transaction_bundles/{id}
-
PATCH with the reimbursed status,
reimbursed_amount, and the updated amount on the linked memberships and donations:
{
"id": 42,
"data": {
"transactions": [
{
"id": 101,
"contact_id": 123456,
"amount": 2000,
"currency": "eur",
"payment_method_kind": "CB",
"date": "2026-03-29T12:59:52+02:00",
"external_transaction_id": 1001,
"status_id": 2,
"reimbursed_amount": 1000
}
],
"memberships": [
{
"id": 55,
"contact_id": 123456,
"membership_price_id": 10,
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"amount": 1000,
"amount_initial": 2000,
"currency": "eur"
}
]
}
}
Use GET /v1/transaction_statuses to find the id of the Reimbursed status for your group (kind: reimbursed).
If a product should deleted, patch the bundle then delete the products.Last modified on June 4, 2026