Collections
Create a collection and check its status.
POST /v1/collections accepts one request format for all operators enabled on your account. Amounts are integer XOF units: 1000 means 1,000 XOF.
One route for every enabled operator
The route stays the same. Your request specifies an operator enabled on your account.
POST /v1/collections{ "operator": "moov_tg", "amount_minor": 1000, "currency": "XOF" }POST /v1/collections
Authorization: Bearer et_live_YOUR_KEY
Idempotency-Key: order-12345
Content-Type: application/json
{"operator":"moov_tg","msisdn":"22890000000","amount_minor":1000,"currency":"XOF","firstname":"Ada","lastname":"Doe"}Operators: mtn_bj, moov_bj, moov_tg, togocel_tg. Use a new idempotency key for each intended transaction; repeat the same key only to retry the exact same request. A different body with the same key returns 409.
The response is 202 and includes a transaction ID and pending status. A partner acknowledgement does not mean success. Call GET /v1/transactions/{id}/status to refresh a pending transaction from Qosic. Only the owning merchant can read it. This endpoint is rate limited.
Final states are succeeded and failed. On success, the configured collection fee is deducted and the net amount credits the operator balance once. The transaction response includes fee_bps, fee_minor, net_minor, balance_before_minor, and balance_after_minor.