# Legacy PHP API soak and retirement

The customer app now uses **Baskit Ops only** (`BASKIT_OPS_API`). The Dokploy PHP gateway under `api/` is kept during a short soak for older builds.

## Cutover checklist

1. Deploy latest **baskit_ops** with migrations through `2026-10-02-150000_CreateShopperPayments.php`.
2. Set Ops env: `APP_ANALYTICS_KEY`, `BASKIT_PAYSTACK_SECRET`, `JWT_SECRET` (32+ chars), optional `BASKIT_PAYSTACK_CALLBACK_URL`.
3. Run `php spark catalog:import-legacy` on Ops if PostgreSQL catalogue counts are below MySQL parity.
4. Publish a tagged APK from Bitbucket (`release-apk` or `v*` tag).
5. Monitor Ops logs for checkout and catalogue errors for 7 days.

## Retire PHP API when

- No traffic to `baskitapi.appnotify.co.za` for 7 days, and
- All field APKs use Ops checkout, and
- Paystack webhooks point to Ops `/api/v1/checkout/webhook`.

Then stop the `api/` Dokploy service and archive the folder (do not delete git history).
