Appearance
Selling Wi-Fi access
How to take money for Wi-Fi: connect a payment gateway, decide which plans you sell and at what price, put them on a buy panel page or on your captive portal, and then follow every sale through Finance and the Payment report. This page is the walkthrough from start to finish; the pages it links to hold the full field lists.
How selling works in Kiwire
Whatever the guest buys, they get the same thing back: an access code. Kiwire creates the code the moment the payment gateway confirms the payment. On the buy panel it is shown on screen and the guest types it on your Wi-Fi login page like any other voucher; on the captive portal Kiwire can sign the guest in with it straight away. The code is an ordinary voucher on Account › Vouchers, on the profile of the plan they bought, so speed, data and time limits all come from that profile.
There are two places to sell:
| Buy panel | Captive portal payment | |
|---|---|---|
| Where the guest buys | A web page at its own address, https://<your-kiwire-host>/buy/<slug>, which you can share as a link or a QR code | Inside the Wi-Fi login page, as one of the login methods of a journey |
| Plans | Plan groups, each with its own plans and optional zone restriction | One list of plans |
| How long the code stays valid | Voucher Validity on the payment method, 365 days unless you change it | Validity (days) on each plan; 0 means it never expires |
| After paying | The guest sees the code and uses it on the Wi-Fi | The guest is signed in automatically, or continues the journey (your choice) |
| Your own success and failure pages | Yes, designed in the buy panel Page Designer | Yes, designed in the captive portal Page Designer, or a web address to land on after sign-in |
| Tax shown on the confirmation | Yes | On your own success page ({tax_amount}, {tax_rate}) |
| Guest can see codes bought earlier in the same visit | Yes (Your Purchases) | No |
Use the buy panel for selling before arrival (a link in a booking email, a QR code at reception) and when guests should be able to buy on mobile data. Use the captive portal payment for someone already standing in range of the Wi-Fi who wants to pay and get online in one go.
Before you start
- A merchant account with your payment gateway, with its sandbox (test) credentials and its live credentials.
- A profile for each plan you will sell on Account › Profiles — the speed, data allowance and time each plan gives. See Profiles, bandwidth and quotas.
- Currency and tax on System › Settings, General card: Default Currency and GST/VAT Rate (%). New payment methods start with these values. Use the same currency on your payment methods, because the Finance overview adds up sales in the default currency only.
- The voucher prefix on System › Settings, Voucher & Topup card: Default Prefix is put in front of every code the buy panel sells (
BPwhen it is blank). Codes sold on the captive portal start with the payment method's own Voucher Prefix (PAYwhen it is blank). See Settings, card by card. - Buy Panel in your licence and role. If the Buy Panel menu or Finance is missing, see Licence and add-ons and the permissions at the end of this page.
Step 1: Connect the payment gateway
The gateway is set up once, as a connector, and every payment method then points at it.
- Go to Grow › Connectors, click Add Connector and choose Payment Gateway (an existing one opens from its card).
- Give it a Name you will recognise in a dropdown, for example Stripe – live or Billplz – lobby.
- Choose the Provider and set Mode to Sandbox (test) for now.
- Fill in the credentials for that provider (table below).
- Copy the URLs shown on the form into the gateway's dashboard where it asks for them (see The URLs to register).
- Make sure Active is on and click Save.
There is no test button on this form: the way to test a gateway is a sandbox purchase, described in Test before you go live.
Saved keys and passwords are never shown again. To keep a stored credential when you edit the connector, leave its field blank; type a new value only to replace it.
What each gateway asks for
| Provider | Fields on the form | Currency | Where to find them, and what to set in the gateway |
|---|---|---|---|
| Stripe | Publishable Key, Secret Key, and the Offer Alipay switch | Any your Stripe account accepts | Stripe dashboard, Developers → API keys. Offer Alipay shows Alipay next to cards on the Stripe payment page: turn Alipay on in your Stripe dashboard (Settings → Payment methods) first and check it supports your currency, or checkout fails. With the switch off, Stripe shows whatever payment methods your dashboard has switched on. |
| toyyibPay | User Secret Key, Category Code | MYR only | toyyibPay dashboard. Create a category there and paste its code. Sandbox accounts at dev.toyyibpay.com have their own key. |
| Billplz | API Secret Key, Collection ID, X Signature Key | MYR only | Settings → Keys & Integration for the two keys (make sure X Signature is enabled); Billing → Collections for the Collection ID. Sandbox accounts at billplz-sandbox.com have their own keys. |
| PayPal | Client ID, Secret Key | Your PayPal account's currencies; MYR needs a Malaysian merchant account | The REST API app in the PayPal Developer dashboard. |
| senangPay | Merchant ID, Secret Key | MYR only | In the senangPay dashboard set Hash Type to SHA256 (HMAC) and leave Return URL Parameters empty. |
| iPay88 | Merchant Code, Merchant Key | As agreed with iPay88 | Issued by iPay88. iPay88 has no public sandbox: in Sandbox mode use the test merchant account iPay88 gives you. |
| Payfast | Merchant ID, Merchant Key, Passphrase | ZAR only | Passphrase only if one is set on your Payfast account. |
| Adyen | Merchant Account, API Secret Key, HMAC Key, Live URL Prefix, Country | As your Adyen account allows | API Secret Key: Customer Area → Developers → API credentials, with the Checkout webservice role. Live URL Prefix (Live mode only): Developers → API URLs, the part before -checkout-live.adyenpayments.com. Country decides which payment methods Adyen offers (MY if blank). Set Adyen's standard webhook to the Callback URL, with HMAC enabled. |
| Alipay (Antom) | Client ID, Region, Merchant Private Key, Antom Public Key, Wallet, Settlement Currency | As your Antom contract allows | For taking Alipay without Stripe; needs an Antom merchant account (Antom is Alipay's merchant service). Client ID: Antom Dashboard → Developer → Quick start (sandbox client IDs start with SANDBOX_). Region: Asia, North America or Europe — Asia for Malaysia. Both keys: Developer → Key configuration (upload the public half of your private key there). Wallet: Alipay (China) unless you choose AlipayHK or Touch 'n Go eWallet, which your contract must include. Settlement Currency only if your contract settles in more than one currency. Paste the Callback URL as the payment notification URL in the Antom Dashboard. |
| Fiuu Pay | Merchant ID, Secret Key, Verify Key | As your Fiuu account allows | Fiuu merchant portal. |
A gateway that only accepts one currency refuses any other: a toyyibPay connector behind a payment method priced in USD shows the guest an error instead of a payment page. Set the payment method's Currency to match.
Wirecard and the old Alipay connector are retired. An existing connector of either kind shows as retired and can no longer take payments: create a new connector with another provider, point your payment methods at it, then delete the old one. A connector that a payment method still uses cannot be deleted.
The URLs to register
The connector form shows these addresses, each with a copy button. They are the same for every gateway and every payment method on your tenant.
| Field on the form | Address | What it is for |
|---|---|---|
| Return URL | https://<your-kiwire-host>/buy/payment/return | Where the gateway sends the guest back after paying. |
| Callback URL | https://<your-kiwire-host>/buy/payment/callback | The gateway telling Kiwire, server to server, that a payment went through. Some gateways call it the IPN, webhook or notification URL. |
| Notification URL | the same address as the Callback URL | Shown separately because some dashboards use that name. |
| Cancel URL | https://<your-kiwire-host>/buy/payment/cancel | Where the guest lands after cancelling. |
Kiwire sends these addresses with every payment, so most gateways need nothing registered. Register them where your gateway's dashboard asks: the Callback URL as the webhook in Adyen and as the notification URL in Antom are required, and if a gateway asks for a return or callback URL during merchant setup, give it these.
The callback matters even when guests come back normally: a guest who closes the browser on the gateway's page still gets their purchase recorded, and the buy panel creates their code, as soon as the callback arrives.
Step 2: Decide what you sell and at what price
A plan is what the guest picks: a label such as 1 Day Pass, the profile it buys, a price and an optional one-line description. Plans live on a payment method, which also says which gateway connector takes the money.
- The price you type is what the guest pays. It includes tax. When a tax rate applies, Kiwire works out the tax part of the price for the confirmation page and Finance; it does not add tax on top.
- The profile sets what the guest gets — speed, data, time online. The profile's own price is shown in the dropdown as a hint; the plan's price is the one charged.
- A plan needs a profile and a price above zero to be offered. A plan without one is kept but not shown to guests.
- Each payment method has one currency (three-letter code such as MYR, USD, SGD).
Selling on the buy panel
A buy panel is built from four parts, all under Portals › Buy Panel: a payment method (the plans), page templates, a journey that strings the pages together, and a configuration that publishes the journey at an address. The model is the same as the captive portal's and is explained in Designers and journeys.
1. Create the payment method
Go to Portals › Buy Panel › Login Methods, click Add Form Submission and choose Payment Gateway.
Fill in:
Field What to enter Active On. Name For your own use, for example Paid WiFi Access. Payment Gateway The connector from Step 1. Currency Pre-filled with your default currency. Reference Prefix Starts each payment reference, so BPgivesBP-followed by 12 characters. Use a different prefix per method if you want to tell sales apart at a glance.Voucher Validity (days) How long a code stays usable after purchase. 365 if left blank. Under Plan Groups click Add Group, give the group a name (required — for example Day passes), and click Add Plan for each plan: Plan Label, Profile, Price and Description. Add more groups the same way, for example Weekly and Monthly.
Zone Restriction on a group (optional): codes bought from that group only work in the zones you pick. Every group is still shown on the buy panel; the restriction applies when the code is used.
Under Advanced Configuration:
- Success Page and Failed Page — the buy panel pages shown after payment (step 2 below). Leave them empty to use Kiwire's standard pages.
- Tax Rate — pre-filled from GST/VAT Rate (%) in Settings. Set 0 if no tax applies.
Click Save.
The other methods on the same page — registered account, Google, Microsoft Entra, social, WhatsApp and email OTP, Active Directory, SAML and voucher — let a buyer sign in before buying. Signing in is optional: a buy panel can go straight to the plans.
2. Design the pages
On Portals › Buy Panel › Page Designer, click New Template and build:
- A plans page — start from the Payment Page block. Select any element inside its form, click Form Submit in the editor's top bar and choose your payment method. Without this link the page shows No payment method linked. Payment Theme changes the colours of the plan cards.
- A success page (optional) — start from the Success Page block. These placeholders are replaced with the real values:
{voucher_code},{plan_label},{amount},{currency},{tax_amount},{tax_rate},{reference},{paid_at}and{back_url}(a link back to the plans). Variables in the editor lists them. Make sure the code is prominent — it is what the guest needs to get online. - A failed page (optional) — start from the Failed Page block:
{error_message},{plan_label},{amount},{currency},{reference}and{back_url}.
Publish each template. Only published templates can be chosen as the success or failed page, so if you built them after the payment method, go back to the method and select them now.
3. Build and publish the journey
On Portals › Buy Panel › Journey, click New Journey, open it in the Editor, and place a Start, your pages and an End on the canvas: for example Start → plans page → End, or Start → sign-in page → plans page → End. Click Publish. The success and failed pages are not part of the journey — the payment method shows them.
4. Publish it at an address
- Go to Portals › Buy Panel › Configuration and click New.
- Enter a Name; the Slug fills itself in (lower-case letters, numbers and hyphens) and becomes the address:
https://<your-kiwire-host>/buy/<slug>. - Choose the published Journey, leave Active on, and optionally fill in SEO Title and SEO Description — what search engines and link previews show.
- Click Save.
The Slug column has a copy-link button and a QR button. Share Buy Panel shows the QR code with Copy URL and Download QR, ready for a reception card, a room tent card or a booking confirmation email.
The buy panel is served from the same address as your captive portal, so a guest who is connected but not yet signed in can open it, as long as your walled garden allows the gateway's payment pages (see Selling on the captive portal). Guests can also buy on mobile data or before they arrive.
Guest accounts
A buyer who signs in to the buy panel with Google, social sign-in, WhatsApp or email OTP gets a buy panel account, listed on Portals › Buy Panel › Guest Accounts with their login source and status. When the payment page asks for contact details, the name, email and phone they type are saved on that account. Suspend stops the account signing in to the buy panel (Reactivate undoes it); Delete removes it. Neither touches access codes already bought — those are vouchers, managed on Account › Vouchers.
Selling on the captive portal
- Go to Portals › Captive Portal › Login Methods, click Add Method and choose Payment.
- Fill in Name, Payment Gateway (the connector) and Currency, then click Add Plan for each plan: Plan Label, Profile, Price, Validity (days) and Description. Validity is how many days the code bought with that plan stays valid from purchase; 0 means it never expires. If no gateway is configured yet, the form says so and links to the connector.
- Under Advanced Configuration:
- After Successful Payment — Login user signs the guest in to the Wi-Fi with their new code as soon as they come back from the gateway. Continue journey returns them to the portal and moves on to the page you connected after the payment button in the journey; they finish signing in with the Continue Login button.
- Success Page — either a published captive portal page template, shown after payment, or a web address (URL) the guest is sent to once signed in. Placeholders in the template are filled in:
{voucher_code},{plan_label},{amount},{currency},{validity},{tax_amount},{tax_rate},{reference}and{back_url}(back to the portal). Leave it empty for Kiwire's own page with the code. - Failed Page — a published page template shown when the payment fails or is cancelled, with
{error_message},{plan_label},{amount},{currency},{reference}and{back_url}. Leave it empty for Kiwire's own message. - Zone Restriction limits the zones where this payment method is offered.
- Tax Rate — the tax included in the plan price, recorded with each sale for your success page and Finance. Pre-filled from GST/VAT Rate (%) in Settings; set 0 if no tax applies.
- Voucher Prefix — letters and digits (up to 20) put in front of every code this method sells, for example
WIFIgivesWIFIfollowed by 8 characters. Leave it blank forPAY.
- Click Save.
- In Portals › Captive Portal › Page Designer, add the Payment Page block to a page and link its form to the payment method with Form Submit, as on the buy panel.
- Also offer Voucher Login in the same journey. A guest whose payment comes back on a different browser session (for example after switching browsers or devices) is shown the code instead of being signed in, and types it there; a guest can also use the code again later until it expires.
- Publish the templates and the journey. See Login methods and Designers and journeys.
Payment methods saved before Validity (days) was added show 1 in each plan and keep issuing one-day codes until you change the figure and save.
The walled garden. A guest paying on the captive portal is not online yet, so the controller must let their browser reach the gateway's payment pages before sign-in. For MikroTik and UniFi, System › Device Controller → select the controller → Site Provisioning has an Allow payment gateways before login option that adds the payment pages of toyyibPay, Billplz, senangPay, iPay88, PayPal, Payfast, Adyen and Alipay. For Stripe, Fiuu Pay and any other controller, add the gateway's payment-page domains to the controller's walled garden by hand. See Walled garden and redirect. If the payment page never loads for a guest on the Wi-Fi but loads fine on mobile data, this is the cause.
Test before you go live
- With the connector in Sandbox (test) mode, open the buy panel address (or connect to the Wi-Fi for a captive portal payment) and buy the cheapest plan with the gateway's test card or test account.
- Check that you land on the success page with an access code.
- Sign in to the Wi-Fi with that code and check the speed and limits are the ones you expected.
- Check the sale on Insight › Reporting › Payment and Grow › Finance › Voucher sales.
- Try a cancelled payment and check the guest gets back to the plans.
- Then open the connector, change Mode to Live (production), enter the live credentials (sandbox and live keys are different for most gateways), and Save. Make one small real purchase to confirm.
What the guest sees
On the buy panel
- They open the link or scan the QR code. If the journey starts with a sign-in page, they sign in first.
- They see the plans, with one tab per plan group when there is more than one, and a Search plans... box.
- They tap a plan. With toyyibPay, Billplz, senangPay, iPay88 and Fiuu Pay an Order Summary asks for Your Contact Information — name, email and phone, filled in already if they signed in — and a Pay button with the amount. With the other gateways they go straight to the gateway.
- They pay on the gateway's own page (card, FPX, wallet — whatever your gateway account offers).
- They come back to your success page, or Kiwire's Payment Successful! page, showing Your Access Code, the plan, the amount, the tax (when a tax rate applies), the reference and the time paid, with a reminder to save the code. Back to Plans returns to the buy panel.
- Back on the buy panel, a Your Purchases button lists the codes bought in this browser during the visit, in case they lose the success page.
- They connect to the Wi-Fi and enter the code on the login page.
On the captive portal
- They connect to the Wi-Fi and the login page shows the plans as buttons.
- They tap a plan and go to the gateway's page — no contact form.
- They pay on the gateway's page.
- Back on the Wi-Fi, with Login user they are signed in at once and land on your success page (or web address), or on Kiwire's Payment Successful page with the code to keep for signing in again. With Continue journey they go on through the portal and tap Continue Login to finish.
- If Kiwire can't sign them in automatically — the gateway sent them back in a different browser, for example — they see Payment Successful — Here is your voucher code — with a Copy button, the plan and the amount, and Back to login, where they enter the code.
While the gateway is still confirming the payment, the guest sees Confirming your payment, with a note not to pay twice and a Check again button; the page also re-checks by itself. As soon as the gateway confirms, the code appears.
If they cancel or the payment fails, they see Payment was cancelled. or Payment was not successful. Please try again or use another payment method. (or your failed page, if you set one) and can choose a plan again. Nothing is charged and no code is created.
Receipts
Kiwire does not email a receipt. The guest's record of the purchase is the success page — code, plan, amount, tax, reference and time paid — so design your buy panel success page to be worth a screenshot. Any receipt email comes from the payment gateway, under the gateway's own settings.
To send something of your own — a thank-you email, a row in a spreadsheet, a message to staff — use the Payment received event of a Webhook connector, which fires for every completed online payment. See Automation tools.
Following the money
Finance
Grow › Finance has three tabs:
- Overview — pick a month: Revenue by source (Voucher sales (online), Plan purchases (online), and ISP subscriptions if you use ISP) and by payment method, Refunds, Expenses and Profit, with the last 12 months side by side. Click a month's bar to open it. Refunds includes online sales you marked as refunded (see Refunds), in the month of the sale. Export 12 months downloads the figures as CSV for your accountant; it needs
export-finance. - Voucher sales — every voucher created in the date range with its payment: code, profile, plan, Price, Payment status, whether the code is Unused, Active or Expired, and the gateway. Filter by Start Date, End Date and Payment Provider, then Apply. The cards at the top — Total Revenue, Total Payments, Vouchers Sold, Vouchers Activated, Pending and Failed / cancelled — also filter the list when clicked. Click a row for the full Payment Detail, including the gateway's own reference and a Manage Voucher link. Export downloads the list (needs
export-finance). - Plan purchases — paid online purchases that are not tied to a voucher code (refunded ones are left out). Online sales normally create a code, so a row here usually means the code was deleted afterwards; open it on the Payment report to check.
Vouchers you generate by hand on Account › Vouchers also appear under Voucher sales, with no payment, so you can see sold and printed codes side by side. Only sales in your default currency are added up on the Overview. More on the page itself: Finance.
Payment report
Insight › Reporting › Payment is the plain list of every payment attempt. Click Load Report, set From Date, To Date, Status (Paid, Pending, Failed, Cancelled, Refunded) and Provider, and load. It shows Total Transactions, Paid Transactions and Revenue (Paid), and a row per attempt with date and time, reference, the access code, plan, amount, provider, status and when it was paid. Click a row for the Transaction Detail: gateway reference, connector, the tax included in the price (when a tax rate applied, for example MYR 0.17 (6%)), device MAC (captive portal purchases) and the linked account with its status, profile, expiry, login count and last login, plus View Account, and Mark as refunded on a paid payment (see Refunds). The report can be exported, and scheduled by email on Insight › Reporting › Scheduled Reports. See Payment.
This is the place to answer "I paid but got nothing": search the reference or the time of the payment, and the row tells you whether the gateway confirmed it and which code was issued.
Alerts
Failing paid Wi-Fi checkouts are one of the things Insight › Monitoring › Alerts watches. See Alerts.
Failed, pending and cancelled payments
| Status | What it means | What to do |
|---|---|---|
| Paid | The gateway confirmed the payment and a code was created. | Nothing. A paid payment is never changed back, even if a late failure message arrives. |
| Pending | The guest started paying and the gateway has given no answer yet — they may still be on the gateway's page, or closed it. | Usually nothing: it turns Paid when the gateway's callback arrives. If it stays pending and the guest says they were charged, check the payment in the gateway's dashboard using the reference, and make sure the Callback URL is registered where your gateway needs it. |
| Failed | The gateway declined or the payment could not be started. | The guest can try again. If every attempt fails, check the connector's credentials and mode, and the method's currency. |
| Cancelled | The guest cancelled on the gateway's page. | Nothing. |
| Refunded | An administrator marked a paid payment as refunded. | Nothing more in Kiwire; the money is returned through the gateway. |
A guest paid but has no code. Look the payment up on the Payment report. If it is Paid, the row shows the code — read it to the guest, or find it on Account › Vouchers. If the gateway shows the money taken but Kiwire still shows Pending, the confirmation never reached Kiwire: compare the reference in the gateway's dashboard and, if the payment is genuine, give the guest a voucher by hand from Account › Vouchers on the same profile.
Refunds
Gateways don't tell Kiwire about refunds, so you make the refund at the gateway and then record it in Kiwire. To refund a guest:
- Refund the payment in your gateway's dashboard, using the reference from the Payment report.
- On Insight › Reporting › Payment, find the payment and click it to open the Transaction Detail.
- Click Mark as refunded and type a Reason (required).
- To stop the code being used, tick Also suspend the voucher and disconnect the guest. The code (or account) is suspended and anyone online with it is disconnected. Leave it unticked and the voucher keeps working; you can still suspend it later on Account › Vouchers (open All vouchers, find the code and click Suspend).
- Confirm. The status becomes Refunded.
What changes once a payment is marked refunded:
- Grow › Finance › Overview still counts the sale in revenue, and counts it again under Refunds in the month of the sale, so net revenue and profit no longer include it. The Plan purchases tab leaves it out.
- The Payment report shows it as Refunded; Revenue (Paid) no longer includes it.
- The Audit Trail records who marked it, the amount, the reason and whether the voucher was suspended (event payment.refunded).
- It can't be undone, and a late "paid" message from the gateway won't turn it back into paid.
Only Paid online payments can be marked refunded. A payment of an ISP invoice is refunded from the invoice under ISP instead, so the subscriber's statement stays right (see Running a small ISP).
Top-up codes
Top-up codes add time or data to an account a guest already has, rather than giving them a new one. They are not sold through a gateway: you generate them on Account › Topup Code — with a plan name, price, minutes, data and expiry — and sell or hand them out yourself, and the guest redeems one with the Top-up login method on the captive portal. See Vouchers and top-up codes and Account, voucher and top-up fields.
Who can do what
| Task | Permission |
|---|---|
| Set up the payment gateway connector | manage-connector-payment-gateway |
| See buy panel payment methods / add or change them | view-buy-panel-login-method / edit-buy-panel-login-method |
| Buy panel templates and the Configuration page | view-buy-panel-designer, plus create-, edit-, delete- and publish-buy-panel-designer |
| Buy panel journeys | view-buy-panel-journey, create-, edit-, delete-buy-panel-journey |
| See Guest Accounts / suspend or delete them | view-buy-panel-user / delete-buy-panel-user |
| Captive portal payment method | view-signin-method, edit-signin-method |
| Finance | view-finance |
| Finance exports (Export 12 months, Voucher sales Export) | export-finance — Admin, Manager and Viewer have it; tick it on a custom role |
| Payment report and its export | view-report-payment-transactions |
| Mark as refunded on the Payment report | refund-payment-transactions — Admin only by default |
| Suspend a sold code | delete-vouchers |
The full list by licence module is in Permissions.
Common problems
| What you see | Why, and what to do |
|---|---|
| This buy panel is currently inactive. | The configuration's Active switch is off. |
| This buy panel is not yet published. | The journey on the configuration is a draft. Publish it. |
| No entry page configured for this buy panel. or Entry page template not found. | The journey's first page has no template, or the template is unpublished. |
| The plans area says No payment method linked. | The plans page's form is not linked to a payment method. Use Form Submit in the Page Designer. |
| The plans area says No plans configured. | Every plan is missing a profile or has a price of 0, or the payment method is switched off. |
| Payment gateway not configured. when a plan is chosen | The connector is switched off, deleted, or retired. Point the payment method at an active connector. |
| Payment gateway error. Please try again. | The gateway refused to start the payment: wrong credentials, live keys in sandbox mode or the other way round, or a currency the gateway does not accept (toyyibPay, Billplz and senangPay take MYR only, Payfast ZAR only). |
| The gateway's page never loads for a guest on the Wi-Fi | The controller's walled garden does not allow the gateway. See Selling on the captive portal. |
| This service has reached its monthly login limit. | The buy panel stops selling when your licence's monthly login allowance is used up, because a code bought then could not be used. See Licence and add-ons. |
| The code does not work on the Wi-Fi | Check it on Account › Vouchers: expired (check the plan's validity), suspended, or bought from a plan group restricted to other zones. |
| Captive portal codes last only one day | The plan's Validity (days) is 1 — methods saved before the field existed keep 1 until edited. Change it and Save. |
| The guest paid on the captive portal but wasn't signed in automatically | Their browser came back from the gateway without their portal session (another browser or app). They were shown the code; they enter it with Voucher Login. |
| Export / Export 12 months is missing on Finance | Your role lacks export-finance. |
| A sale is missing from the Finance overview | It was in a different currency from your Default Currency. It is still on the Voucher sales tab and the Payment report. |
Related
- Payment Gateway connector — the connector fields in reference form
- Designers and journeys — templates, journeys and publishing for all three portals
- Portals: Buy Panel pages
- Login methods
- Profiles, bandwidth and quotas
- Finance and Payment report
- Walled garden and redirect
- Automation tools
- Running a small ISP — subscribers paying invoices online through the same gateways