Posteering

Purchase

Buy a value-added service — debit the asserted wallet, vend, refund on failure. All amounts in kobo.

Buy or redeem

POST /purchase

Debits the customer's asserted funding wallet, vends the good, and refunds if the vend fails. Idempotent on reference.

The wallet debited is asserted by the perimeter (the portal-asserted identity), never a field in this body — a consumer cannot name an arbitrary wallet to debit.

Request

FieldTypeRequiredDescription
referencestringyesIdempotency anchor. Re-sending the same reference does not double-debit or double-vend.
vendorstringyesThe vendor to route to, e.g. squad_vas (data — the layer routes to its adapter).
productstringyesThe good: airtime, data, or bill.
targetstringyesThe recipient address — phone number or meter.
costKobointegeryesWhat the customer pays, in kobo.
currencystringyese.g. NGN.
planCodestringnoThe vendor's plan code (data bundles, bill plans).
amountKoboForVendintegernoThe vend amount, when it differs from costKobo.
billFieldsobjectnoVendor-specific bill fields.
requeryAttemptsintegernoHow many times to requery an uncertain outcome.

Outcome

The response reports a terminal state: the vend succeeded (with any delivered artifact — e.g. a gift-card code), the debit was refused (nothing vended, nothing owed), or the outcome is pending and will be requeried. Posteering never fronts the money: a refused debit vends nothing.

Poll a purchase

GET /purchase/{reference}

Poll a purchase by reference. Wallet-scoped: returns only the asserted wallet's own purchase — you cannot read another wallet's purchase by guessing its reference.

On this page