Wallet-Specific S2S APIs
Wallet-specific S2S APIs allow enabled merchants to collect payments into a selected NGN wallet and move funds between SaySwitch wallets.
Important Rules
- Multiple NGN wallet support is only available for
NGN. - Merchants must be enabled for multiple NGN wallets.
- Default S2S endpoints continue to settle into the merchant’s default wallet.
- Do not send
wallet_codeto default S2S endpoints. - Wallet-specific S2S collection endpoints require
wallet_code. - The selected wallet must belong to the merchant, match the request domain, be active, and be
NGN.
Default S2S Endpoints
The existing endpoints continue to use the merchant’s default wallet:
| Action | Default Endpoint |
|---|---|
| S2S card payment | POST /api/s2s/v1/transaction/initialize |
| S2S OPay payment | POST /api/s2s/v1/transaction/opay/initialize |
| S2S bank transfer collection | POST /api/s2s/v1/banktransfer/initialize |
| S2S USSD payment | POST /api/s2s/v1/ussd/initialize |
To collect into a specific wallet, use the corresponding /wallet endpoint.
Wallet-Specific Endpoints
| Action | Endpoint |
|---|---|
| Create NGN wallet | POST /api/s2s/v1/wallet/create-ngn |
| Initialize S2S card payment with wallet | POST /api/s2s/v1/transaction/initialize/wallet |
| Initialize S2S OPay payment with wallet | POST /api/s2s/v1/transaction/opay/initialize/wallet |
| Initialize S2S bank transfer with wallet | POST /api/s2s/v1/banktransfer/initialize/wallet |
| Initialize S2S USSD payment with wallet | POST /api/s2s/v1/ussd/initialize/wallet |
| Wallet-to-wallet transfer | POST /api/s2s/v1/wallet/transfer |