API referencePayoutsSender information

Sender information

Some merchant accounts must include the identity of the person who originated a payout. When your account has this requirement turned on, every payout you create through the API must include a sender block. This applies to all currencies, including NGN, and to all payment rails.

When it applies

This requirement is set by Technest for merchants that operate as money services or remittance businesses, in line with CBN rules for licensed operators. It is set per environment, so sandbox and live are independent, and it applies only to payouts created through the API. Payouts created from the dashboard are not affected.

You do not turn this on yourself. If your account is configured this way, your API calls are held to it. To ask whether your account should have this requirement, contact your Technest account manager.

What to send

Add a sender object to the payout body:

FieldRequiredNotes
first_nameyesOriginator’s legal first name
last_nameyesOriginator’s legal last name
id_typeyesOne of Passport, Driver’s License, National-ID, Residence Card
id_numberyesIdentity document number
id_expiryyesDocument expiry, DDMMYYYY
date_of_birthyesDDMMYYYY
countryyesOriginator’s country, ISO 3166-1 alpha-2 (two uppercase letters)

An NGN payout that includes the sender block:

curl https://api.swappr.me/api/v1/payouts \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "amount_minor": "500000",
    "currency": "NGN",
    "recipient": {
      "account_number": "0690000032",
      "bank_code": "044"
    },
    "sender": {
      "first_name": "EMILY",
      "last_name": "ASHWORTH",
      "id_type": "Passport",
      "id_number": "A1234567",
      "id_expiry": "31122030",
      "date_of_birth": "15081990",
      "country": "GB"
    },
    "merchant_reference": "ORDER_001"
  }'

If it is missing

If your account requires sender information and any field above is missing or blank, the payout is rejected with 422 sender_info_required. The response includes a missing_fields array naming exactly which fields to add. Add them and retry.

Sender information vs sender_customer_id

These solve different problems. Do not confuse them.

  • The sender block on this page is a compliance requirement about who originated the funds. It applies only when your account is configured to require sender information, it applies to every currency, and you satisfy it with the seven fields above.
  • sender_customer_id is a routing field for foreign currencies (see Currencies), where each of your customers holds their own currency account. It identifies which account the funds leave from. It is never used for NGN. See International accounts.

A merchant can be subject to both, one, or neither.