Skip to main content
POST
/
collections
cURL
curl --request POST \
  --url https://api.swervpay.co/api/v1/collections \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "additional_information": {
    "account_designation": "<string>",
    "account_type": "<string>",
    "address": {
      "city": "<string>",
      "country": "<string>",
      "state": "<string>",
      "street": "<string>",
      "zip_code": "<string>"
    },
    "bank_statement": "<string>",
    "date_of_birth": "<string>",
    "document": {
      "expiry_date": "<string>",
      "issue_date": "<string>",
      "number": "<string>",
      "type": "<string>",
      "urls": [
        "<string>"
      ]
    },
    "employment_status": "<string>",
    "income_band": "<string>",
    "nin": "<string>",
    "source_of_income": "<string>",
    "tax_number": "<string>",
    "utility_bill": "<string>"
  },
  "amount": 123,
  "currency": "<string>",
  "customer_id": "<string>",
  "merchant_name": "<string>",
  "reference": "<string>",
  "type": "<string>"
}
'
{
  "account_name": "<string>",
  "account_number": "<string>",
  "account_type": "<string>",
  "address": "<string>",
  "balance": 123,
  "bank_address": "<string>",
  "bank_code": "<string>",
  "bank_name": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "pending_balance": 123,
  "reference": "<string>",
  "routing_number": "<string>",
  "status": "<string>",
  "total_received": 123,
  "updated_at": "2023-11-07T05:31:56Z"
}
Create a collection account for receiving payments. Collections support existing NGN virtual account flows and USD collection accounts.

NGN collection

Use NGN collections for Naira virtual accounts. ONE_TIME collections require an amount. DEFAULT permanent collections require a customer_id.
curl -X POST https://api.swervpay.co/api/v1/collections \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_123456789",
    "currency": "NGN",
    "merchant_name": "Swervpay",
    "amount": 10000,
    "type": "ONE_TIME"
  }'

USD collection account

Use USD collections to issue a permanent USD collection account for an approved customer. USD collections must use type set to DEFAULT and must include additional_information.
curl -X POST https://api.swervpay.co/api/v1/collections \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_123456789",
    "currency": "USD",
    "merchant_name": "Ada Okafor",
    "amount": 0,
    "type": "DEFAULT",
    "additional_information": {
      "account_type": "INDIVIDUAL",
      "nin": "12345678901",
      "tax_number": "12345678901",
      "date_of_birth": "1994-04-12",
      "employment_status": "EMPLOYED",
      "account_designation": "PERSONAL",
      "income_band": "UNDER_10000",
      "source_of_income": "SALARY",
      "address": {
        "street": "12 Admiralty Way",
        "city": "Lagos",
        "state": "Lagos",
        "country": "Nigeria",
        "zip_code": "100001"
      },
      "document": {
        "type": "NIN",
        "number": "12345678901",
        "issue_date": "2020-01-01",
        "expiry_date": "2030-01-01",
        "urls": ["https://example.com/document-front.jpg"]
      },
      "utility_bill": "https://example.com/utility-bill.pdf",
      "bank_statement": "https://example.com/bank-statement.pdf"
    }
  }'
For USD collections, type must be DEFAULT, customer_id is required, and additional_information must include the customer’s identity, address, source-of-funds, document, utility bill, and bank statement information.
USD account issuance may complete asynchronously. Use the collection.created webhook to receive final bank details, or collection.created.failed to receive rejection reasons.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
additional_information
object
amount
number
currency
string
customer_id
string
merchant_name
string
reference
string
type
string

Response

OK

account_name
string
account_number
string
account_type
string
address
string
balance
number
bank_address
string
bank_code
string
bank_name
string
created_at
string<date-time>
id
string
pending_balance
number
reference
string
routing_number
string
status
string
total_received
number
updated_at
string<date-time>