Environments
Sandbox
Sandbox is for integration, mobile QA, partner demos, and destructive test cases. It should never move real money. Simulated rails are allowed to return failure states so mobile and backoffice can prove honest unavailable and retry paths.
| Surface | URL |
|---|---|
| API | https://sandbox-heritagepay-api.paypm.net/api/v1 |
| Partner Console | https://sandbox-heritagepay.paypm.net |
| Backoffice | https://sandbox-heritagepay-backoffice.paypm.net |
| PayPM Business web (Marketplace) | https://marketplace.paypm.net |
Developer documentation
| Surface | URL |
|---|---|
| Developer portal | https://developer.paypm.net |
| API reference | https://developer.paypm.net/api |
| Marketplace architecture | https://developer.paypm.net/marketplace-architecture |
| Shared OIDC issuer (ZITADEL) | https://auth.paypm.net |
The Marketplace API is sandbox-enrolled as an internal ClusterIP service
during the compatibility period. The PayPM Business supplier web is served at
marketplace.paypm.net and same-origin proxies /api to that ClusterIP.
Browser sign-in on that host is currently held while the commercial login
cutover completes: the page loads, and the session read answers 503, so the
app shows its "sign-in is not open yet" state rather than a workspace.
Wallet mobile is money-only: it does not mount Marketplace and does not send customer
Marketplace traffic to the wallet backend. Wallet GET /marketplace/my is
compatibility residue on the wallet host, not a live Wallet consumer
contract. Business mobile and the Marketplace SPA live-read standalone
GET /api/v1/marketplace/my when pointed at the Marketplace host. Operator
writes stay on wallet Plane B. Do not invent a Marketplace write API.
Staging
Staging is for live provider validation and must be treated like a pre-production money environment.
| Surface | URL |
|---|---|
| API | https://staging-heritagepay-api.paypm.net/api/v1 |
| Partner Console | https://staging-heritagepay.paypm.net |
| Backoffice | https://staging-heritagepay-backoffice.paypm.net |
Rules
- Use sandbox for developer onboarding and automated smoke checks.
- Use staging only when the flow intentionally validates live money movement or provider behavior.
- Never copy secrets into tickets, docs, Git, screenshots, or chat.
- Keep API keys scoped to the environment that issued them.
- Treat staging webhook endpoints as real integration endpoints.