If you're building an auction or raffle site for Nigerian customers, the payment setup decides whether people can actually pay you. Cards alone won't cover everyone. Paystack and Flutterwave are the two gateways most Nigerian businesses look at first, and our platform supports both as add-ons. This guide covers setting them up, pricing in naira, and building for customers who'll mostly arrive on a phone.
Check the law before you build. Auctions, raffles and lotteries can each fall under different rules in Nigeria, and the rules for lotteries and promotions have been changing. Licensing is your responsibility as the operator. Nothing here is legal advice: check with a Nigerian lawyer before you take payments, and never market a paid draw to anyone under 18.
Auctions or raffles?
The two are very different businesses:
- Auctions (with BidKing) sell real items to the highest bidder. You're a marketplace, and the legal questions are mostly about selling goods and consumer protection.
- Raffles and lotteries (with RaffKing) sell chances to win. Those are games of chance and usually need specific permission.
If you're not sure which one you're allowed to run, start with auctions and ask your lawyer about draws before adding them.
Paystack vs Flutterwave
Both are paid add-on gateways for BidKing, RaffKing and PrizeX. Gateway add-ons are bought separately from the main licence, from Add-ons in your admin panel. Here's how each one works once installed:
| Paystack add-on | Flutterwave add-on | |
|---|---|---|
| Payment methods (as the add-on describes them) | Cards, bank and mobile money | Cards, bank transfer and USSD |
| Keys you enter | Public Key and Secret Key | Secret Key |
| Default currency | NGN | NGN |
| Checkout | The customer pays on Paystack's page, then returns to your site | The customer pays on Flutterwave's page, then returns to your site |
| What's checked on return | The reference belongs to this payment, the amount matches to the kobo, and Paystack reports success | The reference belongs to this payment, and the amount and currency match |
Which payment methods your customers actually see depends on what's switched on in your Paystack or Flutterwave account, not on the add-on. Many businesses set up both gateways so a customer whose payment fails on one can try the other.
Setting a gateway up
- Get the add-on from Add-ons in your admin panel and activate it. It adds itself under Settings › Payment Gateways, switched off and in test mode.
- In your Paystack or Flutterwave dashboard, copy your test keys. Paste them into the gateway's settings and check the currency is NGN.
- Switch the gateway on and make a test top-up as a customer. Confirm the coins arrive in the test customer's wallet and that the payment shows as paid.
- Once your Paystack or Flutterwave account is verified for live payments, switch to live mode and replace the test keys with live ones. Then make one small real payment to confirm it works end to end.
What if a customer closes the browser before returning? Both add-ons confirm a payment when the customer comes back to your site. If they close the tab first, the payment request stays pending. For Paystack, open Finance › Payment Requests and click Check with gateway on the request. If Paystack confirms the full payment, the request is settled. Every check is logged. For Flutterwave, compare pending requests with your Flutterwave dashboard. If one was really paid, credit the customer by hand with Add or remove coins on their profile. Every adjustment is recorded in Transactions and the admin log.
Pricing in naira
On our platform, customers top up a wallet and spend from it: bid fees on auctions, tickets on raffles. You set what one wallet unit is worth under Pricing › Coin Pricing, and what it's called ("coins", "credits" and so on) under Settings › Rewards.
Pick a coin value that keeps prices readable in naira, for example a round number of naira per coin, so a bid fee or ticket price is easy to grasp at a glance. Then check the gateway fees on a typical top-up. Small, frequent top-ups mean paying the fixed part of the fee more often.
Build for mobile first
Most of your customers will arrive on a phone, often on a mobile data connection. Every edition can be added to a phone's home screen as an installable web app. Keep the basics in mind:
- Test checkout on a phone. Use mobile data, not office Wi-Fi, and try every payment method you've enabled.
- Keep images light. Compress listing photos; a heavy page costs customers data and patience.
- Give auction timers some slack. Bids show up on the auction page within a few seconds rather than instantly. Set end-of-auction rules that are fair to bidders on slower connections.
Trust: the thing that actually sells
- Show your business name, contact details and terms clearly, including what happens if a payment fails.
- For auctions, describe items honestly and say how and when winners receive them.
- For raffles, publish every draw's result and how winners were picked.
- Answer support messages quickly. A small site lives or dies on word of mouth.
Common questions
Does BidKing support Paystack and Flutterwave?
Yes, as paid add-ons sold separately from the main licence. Every edition includes 11 other gateways as standard (such as Stripe, PayPal and Razorpay). The add-ons are available from Add-ons in your admin panel.
Can I charge in naira?
Yes. Both add-ons default to NGN, and you set what one wallet coin is worth in your store currency.
Is it legal to run an online raffle in Nigeria?
That depends on how and where you run it, and the rules have been changing. We can't advise on it: check with a Nigerian lawyer before you sell tickets.
What happens if a customer's payment succeeds but they don't come back to my site?
The payment request stays pending. For Paystack, click Check with gateway on the request under Payment Requests, and it's settled if Paystack confirms the full payment. For Flutterwave, compare it with your Flutterwave dashboard, and if the payment went through, add the coins to the customer's wallet by hand from their profile. The adjustment is logged.