Documentation

Advertiser Card Payments

How a captive makes advertisers pay by card before their campaign request is sent: how the payment is confirmed, what happens when it is declined or interrupted, invoices, refunds and credit notes, and how the money is kept safe.

1

What it is, in one minute

When Advertiser Self-Serve is on, an advertiser with a login on your captive can send a campaign request: a picture, pictures or a video, a plan, a budget and a number of days. Card payment is an optional extra switch. When it is on, the advertiser pays the full budget by card first, on the secure payment page of your own payment gateway, and only then does the request reach you.

Until the payment is confirmed, the request is only a draft. You never see it, you get no notification, nothing goes live, and nothing is charged if the payment fails. This protects your time and your storage: you never review, store or delete the pictures and video of someone who did not pay.

The money goes straight to your own gateway account. ISN does not hold it. After a confirmed payment the advertiser is e-mailed a numbered invoice as a PDF. If you later decline the request, or take the advert down before it has used its budget, the system works out what is owed back, issues a credit note, and shows it to you so you can return the money and mark it done.

2

Setting it up

  1. Connect a card gateway under Payment Gateways in your ISN Portal: Paystack, PayFast, Yoco or DPO. It must show as verified.
  2. On your captive dashboard open Advertiser Self-Serve and press Settings.
  3. Tick Advertisers pay by card before their request is sent and press Save setting. The note under the box tells you which gateway account the money will go to.
  4. Optional but recommended: fill in your invoice details (legal name, address, VAT number and rate) in your ISN Portal so your invoices look professional. See the invoices section below.

The switch only works while a verified card gateway is connected. If none is connected, the box is greyed out and says what to do. Only a full admin can change it: Ads/Marketing, Financial and View-only accounts cannot. If you have more than one card gateway connected, a captive that charges in Namibian dollars uses DPO first; every other captive uses Paystack, then PayFast, then Yoco, then DPO.

Prices, minimum spend and plans come from the same settings as before. The advertiser pays exactly the budget they chose on the form; they cannot change the amount, the currency or the gateway.

3

What the advertiser sees

The Request a Campaign form shows a blue note at the top: You pay by card first. Your request only reaches the venue once the bank has confirmed the payment. If the payment is declined, nothing is sent and nothing is charged. You receive an invoice by e-mail. The button reads Continue to payment instead of Send Request.

  1. The advertiser fills in the form, uploads their pictures or video, and presses Continue to payment. The request is saved as a draft and the advertiser goes to the gateway's own secure card page. Card details are typed on the gateway's page, never on ISN.
  2. After paying, the gateway returns them to their dashboard. A window titled Your payment opens and checks with the server, which checks with the gateway. It never trusts the page address alone.
  3. The window then shows one of these results:
What it saysWhat happened
Payment receivedThe gateway confirmed the full amount. The request is now with you (or live, in go-live-first mode). An invoice has been e-mailed and is under My campaign requests.
Your payment was declinedThe card was declined. Nothing was charged and nothing was sent to you. The request is saved and the advertiser can press Try again.
The payment was not completedThe advertiser pressed Cancel or left the card page without paying. Nothing was charged. They can press Pay now to go back and finish. If they did pay, it is picked up automatically.
Still waiting for the bankNo answer yet after about a minute and a half. They can close the window; the request moves on and the invoice is e-mailed as soon as the payment is confirmed. They should not pay again.
We need to check your paymentThe amount or currency was not what was expected. The request is not sent and you are told. See the section on odd payments.

Under My campaign requests each request shows its payment in plain words: Waiting for payment with Pay now and Remove buttons, Payment declined, or Paid by card with links to the invoice and any credit note. Remove deletes an unpaid draft together with its uploaded pictures or video.

4

What you see as the captive admin

The queue. A paid request appears under Waiting for approval exactly as before, marked as paid. In go-live-first mode a paid request starts straight away and appears under Live, to check. One rule stays the same in both modes: an advert that contains an uploaded video always waits for you to look at it first.

The Payments tab. In the Advertiser Self-Serve window, the Payments tab shows three totals (paid by advertisers, refunds you owe, refunded so far), filters (All, Paid, Refunds due, Needs checking, Not completed) and one card per payment: who paid, for which campaign, the amount, the gateway, a short reference, its state, any refund owed, and links to its invoice and credit note. The tab shows a number when something needs your attention.

History. Press History on any payment to see everything that happened to it, step by step and with times: created, sent to the gateway, confirmed by notice or by a check, invoice issued, e-mailed, refund due. This is the first place to look if an advertiser says "I paid but nothing happened".

Roles. Only a full admin can read the Payments tab, download invoices for other businesses, and record refunds. Ads/Marketing accounts can still approve and decline requests but cannot see payments.

5

The four gateways and how each one confirms a payment

A payment is only believed when the gateway itself says so. The page the advertiser lands on after paying proves nothing. Each gateway confirms in its own way:

GatewayHow the payment is confirmedIf the confirmation is lost
PaystackA signed notice from Paystack, and a direct check of the payment with your own Paystack key.The system asks Paystack itself within a few minutes. It can also tell when the advertiser walked away without paying and says so at once.
PayFastPayFast's signed notice (ITN), checked against your passphrase and your merchant account. PayFast cannot be asked about a payment; its notice is the only proof.Nothing to ask, so a payment waits for the notice. After 45 minutes without a notice the attempt is marked Not paid in time; a notice that arrives later still settles it. If an advertiser says they paid and nothing arrives, search for the payment reference (shown on the payment card) in your PayFast dashboard.
YocoA signed Yoco notice with a short time window (an old notice cannot be replayed), and a direct lookup of the checkout.The system looks the checkout up with Yoco within a few minutes.
DPO PayA direct check with DPO using your own company token. DPO is the only gateway that charges in your own currency, so Namibian captives are charged in N$.The system keeps checking, including after a decline, because DPO lets a guest retry the same payment on its own page.

Currency. Every gateway except DPO charges in South African rand. On a captive that quotes in another currency, the request form says so plainly (for example "N$100 is charged as R100"), and the invoice shows the currency the card was really charged in.

6

When something goes wrong

Payments fail in ordinary ways: a card is declined, a page is closed, a phone loses signal at the wrong moment. The rule is simple: no confirmed payment, no advert, and money that was taken is never lost track of.

What happensResult
Card declinedMarked Declined with the gateway's reason. The request stays a draft, nothing reaches you, nothing is charged. The advertiser can try again with the same or another card.
Advertiser closes the card page or presses CancelNothing is charged and nothing is sent. The request stays a draft. Pay now takes them back to the same checkout.
Connection drops after paying, before the advertiser is returnedThe gateway's confirmation (or the system's own check) settles the payment anyway and the request moves on, even though the advertiser never saw a result.
The gateway cannot be reached when the advertiser presses Continue to paymentThe advertiser is told nothing was charged. The draft is kept and Pay now works as soon as the gateway is back.
The ISN server restarts or stops half way through recording a paymentA recovery check runs every couple of minutes and finishes anything left half done: it releases the request, issues the invoice and sends the e-mail.
The gateway sends the same confirmation twiceA payment is settled only once. The second notice changes nothing, and there is still only one invoice.
The advertiser presses Pay several times, or opens two tabsOne checkout is opened and shown again for ten minutes. If two payments for the same request both go through, the earlier one stands and the later one is owed back in full.
A payment confirmation arrives long after an attempt was marked declined or not paid in timeIt still counts. The money was taken, so the request goes ahead.
A payment arrives for a request that was already removed or cancelledNothing goes live and the whole amount is owed back, with a credit note.
7

Payments that are not exactly right

CaseWhat the system does
Paid less than the budgetState Underpaid. The request is not released and nothing goes live. Everything that was taken is owed back, with a credit note.
Paid more than the budgetThe request goes ahead for the budget asked. The extra is owed back, with a credit note.
Paid in a different currency from the one asked forState Needs checking. Nothing is released. It appears under the Needs checking filter for you to look at, and the advertiser is told it is being checked.
The gateway reports success without a usable amountState Needs checking. Nothing is released.
DPO reports an authorised-only, over-paid or under-paid resultState Needs checking. It is neither released nor written off.
8

Invoices and credit notes

Every confirmed payment gets an invoice, numbered per captive and per year with no gaps: INV-2026-000001, INV-2026-000002 and so on. A refund gets a credit note numbered CN-2026-000001, which names the invoice it refers to.

  • Professional layout. Your legal name and address at the top, the invoice number and date, who was billed, the campaign (plan, days, views and price per view), the amount, the payment method and reference, and a PAID stamp. A credit note carries a REFUND DUE stamp.
  • VAT. If you have set a VAT number and a VAT rate in your invoice details, your documents are tax invoices: the amount the advertiser paid includes the VAT, and the document shows the amount excluding VAT, the VAT, and the total. If you have not, the documents are plain invoices with no tax shown.
  • Fixed once issued. The names, amounts and wording are saved with the document when it is issued. A later change of a name or a price never alters an invoice that was already sent.
  • E-mail. The invoice is e-mailed to the advertiser as a PDF within moments of the payment being confirmed, sent through your own sender if you have connected one. These e-mails are never held back by the daily e-mail limit. If the e-mail cannot be sent, the system keeps trying.
  • Download. The advertiser can download their invoices and credit notes any time from My campaign requests. You can download any of them from the Payments tab. Nobody else can.
  • Currency. A document shows the currency the card was charged in: R for rand, N$ for Namibian dollars, E for lilangeni.
9

Refunds, and how much is owed back

ISN works out the refund, issues the credit note and tracks it. You return the money to the advertiser's card or account yourself (the gateway's dashboard, an EFT, whichever you use) and then record it, so your books and theirs agree.

What happenedOwed back
You decline a paid requestThe full amount paid.
The advertiser cancels a paid request that has not been decidedThe full amount paid.
You take a live advert downThe budget minus what its views used: the views delivered, multiplied by the price per view, are kept. Everything unused is owed back.
The advertiser's business account is deleted while the advert is runningThe same unused part. The advert is paused at once.
A duplicate payment, an underpayment, or a payment for a request that no longer existsThe full amount of that payment.
An overpaymentThe extra amount only.
The advert simply runs to the end of its dates, or spends its whole budgetNothing. The advertiser got what they paid for.

Worked example. An advertiser pays R20,000 for a Standard campaign at R0.20 per view, a goal of 100,000 views. You take the advert down after it has delivered 40,000 views. Those views used R8,000, so R12,000 is owed back. The advertiser is e-mailed a credit note for R12,000, and the payment card in your Payments tab shows Refund due: R12,000.00.

Recording a refund. Press Mark refund sent on the payment card. A small window shows the amount owed; you can record all of it or part of it, and add a note such as "Sent by EFT on Friday". The advertiser is told by e-mail. You cannot record more than is owed, and recording the same refund twice is refused.

The numbers are calculated once and cannot be inflated: pressing take-down twice, or two things happening at the same moment, never creates a second refund, and the amount owed back can never be more than was paid.

10

Unpaid drafts and uploads are cleaned up for you

An advertiser who starts a request and never pays leaves nothing behind that you have to deal with:

  • An attempt nobody completes is marked Not paid in time after 45 minutes (a late confirmation is still honoured).
  • An unpaid draft older than 48 hours is closed, and its uploaded pictures and its video are deleted, including the video on the video service.
  • A picture or video uploaded by an advertiser and never used for anything is deleted after 48 hours too.
  • An advertiser can remove their own unpaid draft at any time with Remove, unless a payment for it may still be arriving.

To keep abuse out, an advertiser can have at most three unpaid drafts at a time, and a business can only start a limited number of payment attempts in an hour.

11

How the money is kept safe

  • The server decides the amount. The amount, currency, gateway and payment reference are worked out on the server from the request and your settings. Nothing the browser sends can change them.
  • Only the gateway can confirm a payment. A confirmation must be signed with your own gateway secret (or checked directly with your own key). A forged, unsigned, altered, replayed or wrong-account notice is refused and logged as a security event.
  • One settlement. A payment is settled by a single guarded step, so repeated notices, double clicks, two servers or the recovery check can only ever settle it once.
  • The full amount or nothing goes live. A request can only leave the draft stage after a confirmed payment of at least the budget.
  • Every step is on record. Everything that happens to a payment is written to its history, which you can read.
  • Your keys are protected. Gateway secrets are stored encrypted and only used on the server. They are never shown on a page or written to a log.
  • No card details touch ISN. The card is typed on the gateway's own page.
  • Documents are private. An invoice can only be downloaded by the advertiser it was issued to and by an admin of the captive that issued it.

See also the security guide for what to do on your side, such as keeping gateway keys private.

12

Questions

Does ISN take a cut or hold the money? No. The advertiser pays into your own gateway account. ISN's own charges to you are separate.

Can I turn it off again? Yes, untick the box and save. Requests are then sent to you for review as before, with no payment. Drafts that already exist can still be paid or removed by the advertiser, and payments already made are unaffected.

Can an advertiser pay in instalments? No. The full budget is paid up front.

What if I decline a request that was paid? The advertiser is told, a credit note for the full amount is issued, and it appears under Refunds due until you record the refund.

What if my gateway is disconnected while a payment is open? New requests cannot be sent while card payment is on and no gateway is available, and the advertiser is told. Open payments are settled when the gateway's confirmation arrives or the next check succeeds.

Where do I see everything? In the Payments tab of the Advertiser Self-Serve window, and in each payment's History.