Skip to main content

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)
  1. Fetch the bundle to get the transaction id and membership/donation id:
    GET /v1/transaction_bundles/{id}
    
  2. 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