NATS account balance source of truth
| src | ||
| test | ||
| NATS.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
zappier-account-balance
Source of truth for customer prepaid balances (persisted books.json). Internal traffic is NATS request-reply; HTTP is health plus a fallback. zappier-edge balanceCents is a cache of this book.
Forgejo: https://git.georgelambert.org/marchon/zappier-account-balance
Catalog: https://zapier.georgelambert.org/packages/zappier-account-balance/README.pdf
Zapier cloud never connects here. zappier-edge, customer-service, sales-pricing, and accounting-export do.
Subjects
| Subject | Kind | Who |
|---|---|---|
verae.billing.statement.get |
request-reply | portal, CS, sales, admin |
verae.billing.balance.get |
request-reply | anyone internal |
verae.billing.balance.adjust |
request-reply | CS credits, portal reload |
verae.billing.usage.recorded |
pub | zappier-edge meter |
verae.billing.payment.recorded |
pub | portal reload, invoice paid |
verae.billing.credit.applied |
pub | CS |
Queue group: account-balance.
Run
NATS_URL=nats://127.0.0.1:4222 PORT=3010 npm start
curl http://127.0.0.1:3010/health
curl http://127.0.0.1:3010/statement/cust_1
Statement JSON: { customerId, prepaidCents, credits[], usage[], payments[] }.