PayPM Platform API
Wallet, onboarding, money movement, developer, and operator APIs.
PayPM exposes two API planes.
Plane A is the end-user mobile API. It uses phone + OTP + PIN login and JWT bearer tokens; no extra scope header is required.
Plane B is the operator/developer API. It uses institution API keys and HMAC-signed requests for internal automation, API keys, audit, webhooks, contract vault operations, and portal bootstrap work.
Sandbox simulates money movement. Staging is configured for live money-flow checks and should be handled as sensitive.
Merchant is an optional acquirer slice on the same wallet host. Human Merchant routes require a ZITADEL OIDC bearer token, not a Plane A wallet JWT. The public pay-instrument resolver is unauthenticated. Merchant routes do not authorize a wallet debit.
Standalone Marketplace Contract Vault reads live on the Marketplace product API, not on this wallet host. They require a Marketplace SPA OIDC bearer token, not a Plane A wallet JWT and not a Plane B API key. Missing Identity wallet link or store fails closed to unavailable + empty. Create, sign, pay, and evidence writes remain on wallet-backend.
Virtual cards and savings pots are not contracted. Their routes remain
in this catalog because they exist on the host, but they are not live
product surfaces. Do not treat create, freeze, deposit, or withdraw as
available actions. Live sandbox readiness (GET /mobile/readiness) and
the Côte d'Ivoire service catalog currently mark cash-in, airtime, and
bills as unavailable.
GET /savings-pots/my returns 401 without a token). Do not integrate create, deposit, or withdraw as live actions. Sandbox GET /mobile/readiness and the Côte d'Ivoire service catalog do not list savings.GET /virtual-cards/my returns 401 without a token). Do not integrate create, freeze, or unfreeze as live actions. Sandbox GET /mobile/readiness does not list cards./internal/aliases.