Accept PaymentsServer to ServerWallet-Specific APIsOverview

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_code to 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:

ActionDefault Endpoint
S2S card paymentPOST /api/s2s/v1/transaction/initialize
S2S OPay paymentPOST /api/s2s/v1/transaction/opay/initialize
S2S bank transfer collectionPOST /api/s2s/v1/banktransfer/initialize
S2S USSD paymentPOST /api/s2s/v1/ussd/initialize

To collect into a specific wallet, use the corresponding /wallet endpoint.

Wallet-Specific Endpoints

ActionEndpoint
Create NGN walletPOST /api/s2s/v1/wallet/create-ngn
Initialize S2S card payment with walletPOST /api/s2s/v1/transaction/initialize/wallet
Initialize S2S OPay payment with walletPOST /api/s2s/v1/transaction/opay/initialize/wallet
Initialize S2S bank transfer with walletPOST /api/s2s/v1/banktransfer/initialize/wallet
Initialize S2S USSD payment with walletPOST /api/s2s/v1/ussd/initialize/wallet
Wallet-to-wallet transferPOST /api/s2s/v1/wallet/transfer