curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE \
-H "Authorization: Bearer $KWUGWO_SECRET_KEY"
const ugwo = await fetch(
`https://api.kwugwo.africa/v1/ugwo/${ugwoUid}`,
{ headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
).then(r => r.json());
<?php
$ch = curl_init("https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
]);
$ugwo = json_decode(curl_exec($ch), true);
curl_close($ch);
import os, requests
ugwo = requests.get(
f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}",
headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
).json()
url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s", ugwoUid)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KWUGWO_SECRET_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
{
"uid": "ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE",
"ref": "order_4719",
"onye_nzube": { "uid": "ony.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE", "email": "ada@example.com", "...": "..." },
"amount": 500000,
"currency": "NGN",
"status": "ugwo_successful",
"description": "Order #4719",
"created_at": "2026-05-15T09:14:22+00:00",
"updated_at": "2026-05-15T09:21:40+00:00",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": "NGN",
"mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
},
"lastest_ugwo_activity": {
"uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
"activity_type": "charge",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": "NGN",
"mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
},
"ugwo_medium": null,
"psp": "paystack_ng",
"psp_external_id": "5kfxw34ugz",
"status": "successful",
"created_at": "2026-05-15T09:15:02+00:00",
"error": null,
"updated_at": "2026-05-15T09:21:40+00:00",
"amount": 500000,
"nzube_subscription_charge": 2500,
"refunded_amount": 0,
"charged_amount": 500000,
"next_action": {
"uid": "uac.VCvr.Rk4mZpQ7wLsD2vT8xNbHyCeU",
"action": {
"type": "user_action",
"instruction": "Transfer to bank",
"headers": {
"bank_name": "Test Bank",
"account_number": "1260881821",
"account_name": "PAYSTACK CHECKOUT",
"expires_at": "2026-05-15T09:30:02+00:00"
}
},
"status": "fulfilled",
"last_error": null,
"expires_at": "2026-05-15T09:30:02+00:00",
"created_at": "2026-05-15T09:15:03+00:00",
"updated_at": "2026-05-15T09:21:40+00:00"
},
"is_double_charge": false
},
"total_amount_paid": 500000,
"fee": 0,
"meta": { "order_id": "4719" }
}
{
"code": 404,
"message": "nzube.ugwo.error.not_found"
}
Payments (Ugwo)
Get an ugwo
Fetch a payment by ID. Use this to confirm a payment before fulfilling.
GET
/
v1
/
ugwo
/
{ugwoUid}
curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE \
-H "Authorization: Bearer $KWUGWO_SECRET_KEY"
const ugwo = await fetch(
`https://api.kwugwo.africa/v1/ugwo/${ugwoUid}`,
{ headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
).then(r => r.json());
<?php
$ch = curl_init("https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
]);
$ugwo = json_decode(curl_exec($ch), true);
curl_close($ch);
import os, requests
ugwo = requests.get(
f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}",
headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
).json()
url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s", ugwoUid)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KWUGWO_SECRET_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
{
"uid": "ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE",
"ref": "order_4719",
"onye_nzube": { "uid": "ony.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE", "email": "ada@example.com", "...": "..." },
"amount": 500000,
"currency": "NGN",
"status": "ugwo_successful",
"description": "Order #4719",
"created_at": "2026-05-15T09:14:22+00:00",
"updated_at": "2026-05-15T09:21:40+00:00",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": "NGN",
"mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
},
"lastest_ugwo_activity": {
"uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
"activity_type": "charge",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": "NGN",
"mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
},
"ugwo_medium": null,
"psp": "paystack_ng",
"psp_external_id": "5kfxw34ugz",
"status": "successful",
"created_at": "2026-05-15T09:15:02+00:00",
"error": null,
"updated_at": "2026-05-15T09:21:40+00:00",
"amount": 500000,
"nzube_subscription_charge": 2500,
"refunded_amount": 0,
"charged_amount": 500000,
"next_action": {
"uid": "uac.VCvr.Rk4mZpQ7wLsD2vT8xNbHyCeU",
"action": {
"type": "user_action",
"instruction": "Transfer to bank",
"headers": {
"bank_name": "Test Bank",
"account_number": "1260881821",
"account_name": "PAYSTACK CHECKOUT",
"expires_at": "2026-05-15T09:30:02+00:00"
}
},
"status": "fulfilled",
"last_error": null,
"expires_at": "2026-05-15T09:30:02+00:00",
"created_at": "2026-05-15T09:15:03+00:00",
"updated_at": "2026-05-15T09:21:40+00:00"
},
"is_double_charge": false
},
"total_amount_paid": 500000,
"fee": 0,
"meta": { "order_id": "4719" }
}
{
"code": 404,
"message": "nzube.ugwo.error.not_found"
}
Returns the ugwo, including its most recent activity in
lastest_ugwo_activity. This is the call to make from your server
before you fulfil an order: see Validate and fulfil.
To see every attempt, not just the latest, use List
activities.
Path parameters
string
required
The ugwo ID,
ugw.XXXX.YYYY....Response
An Ugwo object, includinglastest_ugwo_activity.
lastest_ugwo_activity is spelled with an extra t. This is a known
quirk; read that exact key.curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE \
-H "Authorization: Bearer $KWUGWO_SECRET_KEY"
const ugwo = await fetch(
`https://api.kwugwo.africa/v1/ugwo/${ugwoUid}`,
{ headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
).then(r => r.json());
<?php
$ch = curl_init("https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
]);
$ugwo = json_decode(curl_exec($ch), true);
curl_close($ch);
import os, requests
ugwo = requests.get(
f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}",
headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
).json()
url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s", ugwoUid)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KWUGWO_SECRET_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
{
"uid": "ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE",
"ref": "order_4719",
"onye_nzube": { "uid": "ony.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE", "email": "ada@example.com", "...": "..." },
"amount": 500000,
"currency": "NGN",
"status": "ugwo_successful",
"description": "Order #4719",
"created_at": "2026-05-15T09:14:22+00:00",
"updated_at": "2026-05-15T09:21:40+00:00",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": "NGN",
"mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
},
"lastest_ugwo_activity": {
"uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
"activity_type": "charge",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": "NGN",
"mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
},
"ugwo_medium": null,
"psp": "paystack_ng",
"psp_external_id": "5kfxw34ugz",
"status": "successful",
"created_at": "2026-05-15T09:15:02+00:00",
"error": null,
"updated_at": "2026-05-15T09:21:40+00:00",
"amount": 500000,
"nzube_subscription_charge": 2500,
"refunded_amount": 0,
"charged_amount": 500000,
"next_action": {
"uid": "uac.VCvr.Rk4mZpQ7wLsD2vT8xNbHyCeU",
"action": {
"type": "user_action",
"instruction": "Transfer to bank",
"headers": {
"bank_name": "Test Bank",
"account_number": "1260881821",
"account_name": "PAYSTACK CHECKOUT",
"expires_at": "2026-05-15T09:30:02+00:00"
}
},
"status": "fulfilled",
"last_error": null,
"expires_at": "2026-05-15T09:30:02+00:00",
"created_at": "2026-05-15T09:15:03+00:00",
"updated_at": "2026-05-15T09:21:40+00:00"
},
"is_double_charge": false
},
"total_amount_paid": 500000,
"fee": 0,
"meta": { "order_id": "4719" }
}
{
"code": 404,
"message": "nzube.ugwo.error.not_found"
}