Help Center
How can we help?
Guides, FAQs, and troubleshooting for ShopSwift merchants.
Getting started
ShopSwift is a QR payment orchestration layer that sits between your existing POS system and your customers. It generates a unique QR code for each transaction, which customers scan with any Nigerian banking app to pay instantly — without replacing your current POS hardware or workflow.
After signing up, go to Dashboard → POS Integration and select your POS system. ShopSwift natively supports VendLoop POS and OS POS. If your POS isn't listed, use the Manual adapter — it lets cashiers create transactions directly from the ShopSwift store terminal without any POS integration. A ShopSwift team member can also assist with on-site setup.
No. ShopSwift is designed to work alongside your existing POS — not replace it. Cashiers continue ringing up sales as normal. ShopSwift intercepts the transaction total, generates a QR code, and notifies your POS when payment is confirmed.
The Store Terminal (/store) is a ShopSwift-native cashier interface for stores that don't use a third-party POS. Cashiers can open multiple sessions simultaneously, each with its own cart and QR code. It's the simplest way to start accepting QR payments with no POS integration needed.
QR Payment flow
1) Cashier rings up items on the POS (or in the Store Terminal). 2) ShopSwift receives the transaction total and generates a unique QR code. 3) The customer scans the QR with their banking app and approves the transfer. 4) The customer taps "I've Paid" on the payment page. 5) The cashier sees the alert, verifies the transfer in their bank app, and taps "Mark as Paid". 6) ShopSwift confirms the transaction, notifies the POS, and the sale completes.
Any Nigerian banking app that supports transfers. ShopSwift displays deep links for PalmPay, OPay, Kuda, GTBank, Access Bank, First Bank, UBA, and Zenith Bank. Customers can also complete payment via USSD for banks that support it, or fall back to Paystack if configured.
After the customer completes their bank transfer, they tap "I've Paid" on the ShopSwift payment page. This alerts the cashier in real time via the dashboard and store terminal. The cashier then verifies the transfer in their own bank account and taps "Mark as Paid" to complete the transaction. This two-step confirmation prevents fraud.
Payment sessions expire automatically after a few minutes. The cashier will see the session expire on their interface. They can generate a new QR code for the same transaction at any time.
Split payments are on the roadmap. Currently, one QR code corresponds to one transaction total. Contact us if split-payment support is critical for your use case.
Troubleshooting
Check the Transactions tab in your ShopSwift dashboard. If the transaction shows "Confirmed" there but your POS didn't update, the issue is likely in the callback URL configuration. Go to Dashboard → POS Integration, re-select your adapter, and verify the callback URL. You can also manually confirm a transaction from the dashboard. Contact support if the issue persists.
Ensure the customer's phone camera is 15–30cm from the code and not at an angle. If using the payment link, make sure the session hasn't expired. If the issue recurs, try reducing screen glare on the display showing the QR code.
Check that your POS server URL is publicly accessible over HTTPS (HTTP is not accepted). Verify the callback URL in Dashboard → POS Integration → your adapter config. Check your server firewall rules and ensure your server isn't blocking ShopSwift's outbound requests. ShopSwift retries failed callbacks up to 3 times with exponential backoff.
This means the customer selected a payment method but we haven't received a bank confirmation yet. Ask the customer to tap "I've Paid" on the payment page once their transfer is complete. If the transfer was genuinely sent, the cashier can manually confirm the transaction from the dashboard after verifying the bank credit.
Staff & roles
Go to Dashboard → Staff → Invite Staff Member. Enter the staff member's email and select their role. They'll receive an email invitation to create their account. Roles control what each staff member can see and do.
Admin: full access — business settings, POS integration, staff management, transactions, and analytics. Manager: can view analytics and transaction history, and confirm payments. Cashier: can access the Transactions tab and confirm payments, but not view analytics or manage settings.
Yes. Pending invites can be revoked from Dashboard → Staff before the staff member accepts. Once accepted, you can remove or change the role of any staff member from the same Staff page.
Account & billing
ShopSwift charges a small per-transaction fee. Contact our sales team for current pricing — we offer volume-based discounts for high-transaction stores and chains.
Go to Dashboard → Settings → Payment Settings and enter your Paystack secret key. Once saved, Paystack will appear as a fallback option on the customer payment page alongside the bank deep links.
