# Go-Live Checklist ## What changes | | Sandbox | Production | |---|---|---| | API base | `https://sandbox.payme.io/api/` | `https://live.payme.io/api/` | | Credentials | Sandbox set | A separate set, on the production side of **Admin → API & Integration**, or from your account manager for partner keys | | Hosted Fields | `testMode: true` | `testMode: false` | | Test cards | Work | Don't work | | Sellers | Sandbox values pass | Real documents, real review | ## Credentials and secrets - [ ] Production credentials obtained, and kept in a secrets manager, not a database column or a committed file. - [ ] Tokens encrypted at rest. - [ ] Log pipeline checked: no partner key, MPL, token or personal data in logs or error reports. ## Callbacks - [ ] Callback address is a real HTTPS origin, not a tunnel. - [ ] A forged callback was seen doing nothing on a test server of your own. - [ ] Handlers are safe to run twice. - [ ] Alerts on runs of rejected or unconfirmed callbacks, and on handler errors. - [ ] Any local callback simulator or debug route is out of the build. - [ ] Scheduled reconciliation is running in production, for sales and for active subscriptions. - [ ] Callback lookups are rate-limited. - [ ] **Partner:** production Default Callback URL set by PayMe, and partner secret configured. ## Code - [ ] The environment switch reads production, and `testMode` follows it. - [ ] For Hosted Fields, the site's Content Security Policy allows PayMe: see the [Hosted Fields JSAPI Guide](/accepting-payments/checkout-and-in-person/hosted-fields-jsapi-guide#rules-that-cost-people-time). - [ ] No amount conversion outside the display layer. - [ ] Bad amounts are rejected before reaching PayMe. ## Commercials and operations - [ ] **Partner:** `market_fee` matches what sellers were told, and currencies are limited to what each seller has enabled (`seller_currencies`). - [ ] **Partner:** sellers can see their approval state and signup link. - [ ] Someone watches authorizations approaching 7 days. - [ ] PayMe `session` values are logged with every error. - [ ] Reconciliation runs against PayMe's queries, not only your database: [Reconcile Sales and Withdrawals](/accepting-payments/reporting/reconcile-sales-and-withdrawals).