Skip to main content

What you need before creating

Retrieve these group-specific values before making your first POST /v1/transaction_bundles call: See Reference data for details on each lookup endpoint.

Minimal request: payment only

The only required array is transactions. A bundle with just a transaction records the payment without attaching a membership or donation.
Use the default_status_id from GET /v1/transaction_settings — not a hardcoded 1.

With a membership

With a donation

Different payer and beneficiary (third party payer)

contact_id in transactions is the payer. contact_id in memberships or donations is the beneficiary. They can be different people.
Here contact 123456 paid, but the membership is attributed to contact 789012.

Field notes

external_transaction_id — use this to link the bundle to your own system’s record. Must be a plain integer; strings are not supported. Dates — all date fields must be valid ISO 8601 timestamps. Invalid calendar dates (e.g. 2025-02-31) are rejected. amount_initial — always set this to the original price-list amount. When amount differs (discount or partial payment), amount_initial preserves the original value for reporting.
Last modified on June 4, 2026