Staging checklist
- Create and complete a normal sandbox M-Pesa checkout.
- Verify exactly one confirmed treasury deposit and the expected treasury balance increase.
- Replay completion and confirm it returns a conflict without changing settlement.
- Create a review-required checkout and verify it appears in Payment Reviews.
- Approve one review and reject another; confirm both decisions are audited.
- Confirm business notifications and unread counts.
- Confirm configured customer email delivery.
- Confirm signed webhook delivery and replay behavior.
- Confirm another tenant cannot read the payment intent.
- Inspect Payment Reviews for failed email/webhook deliveries and expiring reviews.
Automated checks
From the backend repository:NORTHFOND_OTHER_API_KEY to a second sandbox tenant key to include the isolation probe.
To certify approval, rejection, merchant notifications, customer-email queuing, and operator health against a non-production live environment, use npm run test:staging:business-payment-operations. The script requires explicit NORTHFOND_STAGING_REVIEW_CONFIRM=STAGING_ONLY and refuses the known production hostname. It does not resume an approved payment or send an STK prompt unless NORTHFOND_ALLOW_LIVE_PROMPT=SEND is also set deliberately.
Production rollout
Deploy migrations before enabling traffic, check/health, verify Payment Reviews operational health, then make one low-value live canary payment. Confirm the provider result, webhook, notification, customer email, treasury deposit, and ledger before increasing limits.