Advertiser Checkout
Fund a campaign via hosted checkout, wallet debit, or a shareable payment link
You're purchasing campaign distribution services directly from the platform. Funding is a step in the Campaign lifecycle, driven by the same API key you use for everything else. Fund through one of three rails:
Funding rails
method | What happens |
|---|---|
checkout (default) | Returns a hosted checkout URL - card, bank transfer, mobile money, or crypto |
wallet | Debits the advertiser's platform wallet balance immediately |
payment_link | Returns a shareable URL a third party (e.g. a CEO or finance lead) can pay without an account |
Getting started
Prerequisites
1. Account - sign up at https://ugc.africa/signup
2. KYC - complete verification for your region
3. API key - generate a UGSK_ key in Developer Console
const res = await fetch('https://api.ugc.africa/automation/actions/campaigns/cmp_123/fund', {
method: 'POST',
headers: {
Authorization: 'Bearer UGSK_live_your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({ method: 'checkout', amount: 200 }),
});
const { data } = await res.json();
// data.checkoutUrl for method=checkout, or data.paymentLinkUrl for method=payment_linkSee Create a campaign for how to create the DRAFT campaign this funds.
What happens after funding
1. Payment settles on the chosen rail.
2. The campaign_funded trigger fires ().
3. The campaign moves to ACTIVE (pending any required moderation) and creators can start reserving slots.
4. Track campaign and slot status via GET /automation/actions/campaigns/:id and GET /automation/actions/campaigns/:id/slots.
Fees
Your payment is billed for the distribution service you're purchasing, at the rate you set. What the platform separately pays a creator for delivering it is built into that rate, not a separate line item you configure. Confirm current rates in your dashboard rather than relying on static docs.
Did this solve your problem?