Initialize S2S Card Payment With Wallet
Initialize an S2S card payment that settles into a selected NGN wallet.
This endpoint follows the existing S2S card payment payload and adds wallet_code.
Endpoint
POST /api/s2s/v1/transaction/initialize/walletRequest Body
{
"amount": "10.00",
"card": "ENCRYPTED_CARD_HEX_STRING",
"currency": "NGN",
"email": "test@example.com",
"pin": "1234",
"reference": "TEST_TXN_REF_001",
"wallet_code": "NGN169XXXX"
}Required Fields
| Field | Description |
|---|---|
email | Customer email address |
amount | Payment amount |
reference | Unique transaction reference |
card | Encrypted card payload generated with the S2S card encryption helper |
wallet_code | Target NGN wallet code |
Optional Fields
| Field | Description |
|---|---|
currency | Defaults to NGN |
pin | May be required depending on the card flow |
Card Encryption Helper
The card field must be the encrypted card payload generated using the S2S card encryption helper. Do not use a plain card object or mock string as the card value.
POST /api/s2s/v1/test/encryptionRequest Body
{
"reference": "TEST_TXN_REF_001",
"data": {
"number": "4084084084084081",
"expiryMonth": "12",
"expiryYear": "30",
"cvv": "123"
}
}The same reference used for encryption must be used for transaction initialization because the reference is used to derive the encryption IV.