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/wallet

Request 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

FieldDescription
emailCustomer email address
amountPayment amount
referenceUnique transaction reference
cardEncrypted card payload generated with the S2S card encryption helper
wallet_codeTarget NGN wallet code

Optional Fields

FieldDescription
currencyDefaults to NGN
pinMay 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/encryption

Request 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.