{ "name": "Event Espresso 4 Customer Credit", "slug": "eea-customer-credit", "version": "0.2.1", "download_url": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-customer-credit/eea-customer-credit-0.2.1.zip", "homepage": "https://gitea.mulligan.casa/ee-extensions/eea-customer-credit", "requires": "6.4", "tested": "7.0", "requires_php": "8.1", "last_updated": "2026-06-23 19:59:14", "icons": { "1x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-customer-credit/icon-128x128.png", "2x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-customer-credit/icon-256x256.png" }, "author": "Mike Mulligan", "author_homepage": "https://gitea.mulligan.casa/mmulligan", "tags": [ "event espresso", "store credit", "customer credit", "payments", "refunds" ], "sections": { "description": "

Customer Credit gives every Event Espresso customer a real store-credit account balance and a first-class \"Customer Credit\" payment method that moves that balance in both directions:

\n\n

The balance is the audited side effect of recording a payment of this type, so credit always flows through Event Espresso's normal payment ledger.

\n

Built for correctness:

\n\n

Standalone, with an optional integration. Customer Credit works on a plain Event Espresso install through wp-admin. It also exposes a dependency-free filter seam so companion apps — such as Front of House for Event Espresso — can offer store-credit and pay-with-credit at the point of sale; the server enforces the same gates regardless of where the request originates. The integration is automatic when present and inert when absent.

\n

For full documentation, including the public filter contract and security model, see README.md included with the plugin.

", "installation": "
    \n
  1. Install and activate Event Espresso.
  2. \n
  3. Upload this plugin to wp-content/plugins/ and activate it. Activation creates the balance and ledger tables.
  4. \n
  5. (Optional) If you use Front of House for Event Espresso, activate this plugin so its presence is detected and store-credit options appear at the station.
  6. \n
", "faq": "

Does this require Front of House for Event Espresso?

\n

No. It is standalone on Event Espresso and is fully usable from wp-admin. Front of House is an optional consumer of its filter seam.

\n

Where is the balance stored?

\n

In two owned tables: a per-customer balance counter (the oversell guard target) and an append-only audit ledger. Money is stored in integer cents throughout. The counter must always equal the signed sum of the ledger.

\n

Can a customer go negative?

\n

No. A debit larger than the available balance is refused outright; it is never partially applied or clamped to zero.

", "changelog": "

0.2.1
\n* Migrate to the shared release pipeline; richer View-details modal (readme.txt sections, tags). No functional change.

\n

0.2.0
\n* Added a color-coded plugin icon (delivered through the update channel) and declared WordPress 7.0 compatibility. No functional change.

\n

0.1.4
\n* Updates are now handled by the Manifest Updater plugin (via the standard \"Update URI\" header) instead of a bundled updater. No functional change.

\n

0.1.3
\n* Money tables now use the InnoDB engine; existing installs are migrated (the ledger's atomic debit + idempotency key need row-level locking and transactions).
\n* The Customer Credit payment method self-heals if EE orphan-deactivates it (reactivates on load + at use time), so a credit move never carries a dead PMD_ID.
\n* The public credit seam is fully fail-closed: every filter callback catches unexpected errors and returns a structured envelope (loud-logged) instead of fataling the request.

\n

0.1.2
\n* Docs: corrected stale plugin-name references (eea-checkin -> eea-foh). No code change.

\n

0.1.1
\n* Update channel + repository URLs moved to the ee-extensions org. No functional change.

\n

0.1.0
\n* Initial release: per-customer store-credit balances with an atomic, oversell-safe counter and an append-only audit ledger.
\n* Both-directions \"Customer Credit\" payment method (refund-into-credit and pay-with-credit).
\n* Email-keyed customer resolution and a read-only admin balances/ledger report.
\n* Dependency-free filter seam for optional point-of-sale consumers such as Front of House for Event Espresso.

" } }