Portal Preparation
Before integrating the S2S API from your server, prepare your credentials and settings in the Portal (UnknownPay's dashboard) — all through the UI, no code required.
Overview checklist
| # | Step | Where | Who can do it |
|---|---|---|---|
| 1 | Sign in to the Portal (+ 2FA if enabled) | Portal | Any merchant user |
| 2 | Create / rotate the API secret (live & test) | Portal | Owner/admin |
| 3 | Configure a webhook (URL + events + secret) | Portal | Owner/admin |
| 4 | Register the server IP for the allowlist | Notify the platform team | Platform team sets it |
Confirm these match what users actually see.
1. Sign in to the Portal (and 2FA)
Open the Portal and sign in with the username + password provided by the team.
Depending on the account settings, sign-in may have extra steps:
- 2FA enabled: if two-factor authentication is on, you'll enter a 6-digit code from your authenticator app (or a recovery code) before continuing.
- Forced password change: on first sign-in or when a password expires, you'll set a new password first.
2. Create/rotate the API secret — live / test separated
The API key + secret are the credentials your server uses to sign HMAC when calling the S2S API. Open the API credential page in the Portal and click "Issue / rotate secret" to generate a new pair.
- Who can do it: owner/admin only — operator/viewer cannot.
- Live / test separated: you can issue both a live (real transactions) and a test (sandbox) key — you can hold 1 active live + 1 active test at the same time.
- You receive a key id (prefixed
unk_live_orunk_test_) paired with a secret. Keep both to sign requests.
3. Configure a webhook
A webhook is the channel UnknownPay uses to "call back" and notify your server of events (e.g. a successful deposit). Open the webhook settings in the Portal, then:
- Enter your server's destination URL (must be
https://). - Select the events to receive from:
deposit.success,deposit.expired,withdrawal.success,withdrawal.rejected,withdrawal.failed,withdrawal.refunded. - Save — the system issues a signing secret for verifying the payload signature.
- Who can do it: owner/admin only.
- Test button: click "Test webhook" to have the system send a test event to your URL.
- Delivery history: view the delivery log and replay failed events.
4. IP allowlist
The S2S gateway enforces an IP allowlist: only source IPs in your allowlist may call the S2S API on your behalf. An IP not in the allowlist is rejected with IP_NOT_ALLOWED (HTTP 403).
What to prepare when notifying the team:
- The source IP/CIDR (e.g.
203.0.113.10/32) of the server that will call S2S - A note for each IP (e.g. server name / environment)
Before you start integrating
Once all 4 steps are done, you should have:
- Portal access (with 2FA enabled if you want)
- A stored API key + secret (live and/or test)
- A configured and tested webhook URL + events + webhook secret
- Your server IP sent to the team and confirmed added to the allowlist
