The API has a webhook feature: POST /api/webhooks { "url": "https://your-server.com/callback" }
When a payment event occurs, the API POSTs to that URL. The URL is user-configurable.
Internal services on the same network: http://10.0.1.5:8080/admin (internal admin panel, no auth because “only internal traffic reaches it”), http://10.0.1.10:6379 (Redis, no auth), http://10.0.1.20:9200/_cat/indices (Elasticsearch cluster).
http://10.0.1.1:22/, http://10.0.1.1:80/, etc. and infers from response times and error codes which ports are open. Builds a map of the internal network.http://10.0.1.5:8080/admin/users returns all user records. Admin panel trusts the request because it came from an internal IP. The attacker reads responses via the API.http://10.0.1.20:9200/customers/_search returns Elasticsearch data. If Redis accepts HTTP-like commands via SSRF (RESP protocol), an attacker can read cached session tokens or queue data.