Skip to main content
POST
/
api
/
external
/
collection
Initiate a collection
curl --request POST \
  --url https://api-prod.blaaiz.com/api/external/collection \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "method": "card",
  "amount": 50000,
  "wallet_id": "wallet_123",
  "customer_id": "customer_123",
  "card_holder_name": "John Doe",
  "card_number": "4242424242424242",
  "expiry": "12/30",
  "cvc": "123",
  "phone": "+2348012345678",
  "redirect_url": "https://merchant.example.com/payment/callback"
}
'
{
  "message": "Collection initiated successfully.",
  "transaction_id": "txn_987654322",
  "url": "https://checkout.example.com/card-auth/xyz789"
}

Authorizations

Authorization
string
header
required

Use your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.

Body

application/json
method
enum<string>
required

Collection method. Use card.

Available options:
card
amount
number
required

Amount to collect. Minimum value is 0.1.

wallet_id
string
required

ID of the business wallet to credit.

customer_id
string

Business customer ID. Required for card collections. The customer must belong to the business and be VERIFIED.

phone
string

Optional customer phone number.

card_holder_name
string

Full card holder name. Required for card collections.

card_number
string

16-digit card number. Required for card collections.

expiry
string

Card expiry in MM/YY format. Required for card collections.

cvc
string

3-digit card CVC. Required for card collections.

redirect_url
string<uri>

Optional HTTPS URL to redirect the customer to after payment authorization (e.g. 3DS). Blaaiz appends transaction_id and status query parameters to this URL before redirecting. Maximum 2048 characters.

Maximum string length: 2048

Response

Collection initiated successfully.

message
string
required
transaction_id
string
required
url
string<uri> | null
required

Checkout or redirect URL returned for the card collection flow.