Payments (Ugwo)
Charge an ugwo
Run a charge activity against a payment request.
POST
Creates an activity on the ugwo. The activity describes one attempt
to act on the payment; today the only supported type is
Available for Nigeria (NGN).
For
charge,
which sends the ugwo to a PSP through the medium you specify.
Activities are independent: a single ugwo can host many of them. If
a mobile_money charge fails, you can immediately create a
bank_transfer activity on the same ugwo without recreating it.
The ugwo must have a resolved checkout before you can create an
activity against it. If the ugwo’s
checkout is null (no
checkout was supplied at creation and the workspace couldn’t route
one), this endpoint returns 422.Path parameters
The ugwo to charge,
ugw.XXXX.YYYY....Body parameters
The activity type. Currently only
charge is supported.Type-specific payload.
data.medium selects the payment medium,
and the rest of the keys inside data are the parameters for that
medium (see Medium parameters below).Medium parameters
data.medium is one of bank_transfer, ussd, or mobile_money.
The other keys inside data depend on which one you picked.
- bank_transfer
- ussd
- mobile_money
ISO-8601 (
DATE_ATOM) timestamp for when the virtual account
should stop accepting transfers. Optional; defaults to 15
minutes from now. Must be in the future and no more than
15 minutes ahead; timestamps in the past or further out
than 15 minutes return 422.Response
Activity ID (
act.…).Always
charge for this endpoint.Initial activity status.
requires_action when the customer has
more to do (bank transfer, USSD), processing when handed off to
the PSP without further customer input, or failed on a
synchronous error.Snapshot of the checkout this activity was routed through. Includes
uid, the currency as [code, label], and the configured
mediums.Tokenised medium (e.g. a stored card or wallet) the activity used;
null for one-off mediums like bank_transfer.The PSP that handled the charge, e.g.
paystack_ng.The reference the PSP issued for this attempt. Useful when
cross-referencing in your PSP dashboard.
What the customer needs to do next, if anything. See
next_action shape.Populated when the activity failed synchronously.
ISO-8601 timestamp.
ISO-8601 timestamp.
next_action shape
For bank_transfer, next_action.type is user_action and the
headers block carries everything the customer needs to complete
the transfer (account number, bank name, expiry, amount).

