Collections
Create inbound collection requests. Developer settings show POST /v1/collections with amount, currency, reference, and customer email.
Developers
Generate Live or Test keys in the merchant workspace, create a collection with amount, currency, reference, and customer email, then subscribe to payment events.
The snippet is the collections request shown in Settings → Developers — not a public SDK.
collections.ts
Live// Settings → Developers · collections previewconst collection = await client.collections.create({ amount: 50000, currency: "NGN", reference: "ORD-001", customer: { email: "customer@example.com" }});
Collection created
POST /v1/collections · 201
Webhook received
payment.completed
Transaction verified
TXN-8F2A91 · success
Capabilities
These paths and events come from Settings → Developers in the dashboard. There is no separate public API portal in this product yet — integration is configured in the workspace.
Create inbound collection requests. Developer settings show POST /v1/collections with amount, currency, reference, and customer email.
Request logs include GET /v1/transactions and GET /v1/transactions/{id} for status checks after a collection.
POST /v1/virtual-accounts and GET /v1/virtual-accounts/{id} appear in the same request log as dashboard VA management.
POST /v1/payouts and GET /v1/payouts/{id} map to the Payouts screens merchants already use.
GET /v1/settlements?status=pending is how the log represents settlement queries.
Subscribe per endpoint to payment, payout, settlement, and virtual-account events, then test delivery from the dashboard.
Request shape
Merchant developer settings include this cURL example. Authenticate with a Bearer Live or Test secret key. Amount is in the smallest currency unit shown in the preview (50000 with currency NGN).
Authorization
Authorization: Bearer sk_live_… or sk_test_… depending on the key you generated.
Body
amount, currency, reference, and customer.email — the only request fields shown in the dashboard snippet.
Dashboard preview · cURL
curl https://api.stockbill.com/v1/collections \
-H "Authorization: Bearer sk_live_••••••••3f9a" \
-H "Content-Type: application/json" \
-d '{
"amount": 50000,
"currency": "NGN",
"reference": "ORD-001",
"customer": { "email": "customer@example.com" }
}'Workflow
This is the path through the merchant developer settings — not a published SDK.
Create the merchant account and open API & webhooks or Settings → Developers.
Generate a Live or Test key. Restrict it with Collections, Payouts, Settlements, Virtual Accounts, or Reporting.
POST /v1/collections with amount, currency, reference, and customer email.
Subscribe to payment.initiated, payment.completed, or payment.failed on your HTTPS endpoint.
Match the event to GET /v1/transactions/{id} or the Transactions screen.
Webhooks
Add an endpoint URL, choose events, then test, pause, or inspect delivery. Preferences can retry failed deliveries up to five times over 24 hours, store a webhook secret, and set a 5s, 10s, or 30s timeout.
Webhook endpoint
https://your-server.com/webhook
Payments
Payouts
Settlements
Virtual accounts
Request log
Settings → Developers includes a recent API request table (method, path, status, latency). The rows below are the same preview paths the dashboard uses.
Recent API requests
As shown in Settings → Developers
Keys
Generate a key with a name, environment, permission set, and expiry (never, 30 days, 90 days, or 1 year). The secret is shown once. Rate limit on the simpler API page is displayed as 100 requests per minute.
API keys
Production server · Live
sk_live_••••••••3f9aSandbox testing · Test
sk_test_••••••••1b2cGenerate keys with permissions for collections, payouts, settlements, virtual accounts, and reporting.
In the dashboard
These open the merchant workspace. API documentation, Postman, and sandbox tiles in the dashboard are not wired to public URLs, so they are not listed here.
Register the business, generate a key in Settings → Developers, and subscribe your endpoint to payment events from the same workspace.