Escrow Safe Trade is live: protect your next high-value deal Learn more
ProductsPayment links & checkoutM-Pesa, cards, invoices, split payoutsEscrow Safe TradeMilestone and release-based escrowWallets & P2PPersonal and business walletsChama, Lengo & DeniGroup savings, goals and IOUsBusiness toolkitAccounting, payroll, POS, ticketingBulk payments & payrollPay many people in one uploadSubscriptions & billingRecurring plans and renewalsRent, loans & donationsCollections and campaignsAll products
SolutionsMerchantsBuyersChama groupsBusiness solutionsIndustries
Pricing
DevelopersDeveloper overviewQuickstart, auth and sandboxREST APIsCheckout, invoices and requestsWebhooksSigned, real-time eventsWallet-as-a-ServiceVirtual sub-accountsDocumentationGuides and API reference
Security
CompanyAbout usCareersPartnersBlogHelp centreContact us
Log in Get started Talk to sales
News4 min read

Paysasa Collections Are Built Into the Xduka POS Register and Invoices

Take register and invoice payments with Paysasa STK push or hosted checkout directly from Xduka POS, with the transaction reference kept on the sale or invoice.

Paysasa Team12 Oct 2026

Collecting payments is the moment every sale depends on. With Xduka POS, we have built collections from our sister platform Paysasa directly into the register and into sales invoices, so you can take mobile payments without switching apps or asking customers to type numbers and amounts by hand.

What is available

In Xduka POS, you can take register and invoice payments with Paysasa STK push or hosted checkout, and we keep the transaction reference on the invoice. At the register, Paysasa sits alongside cash, M-Pesa, card and bank as payment options.

How a Paysasa checkout request works at the register
How a Paysasa checkout request works at the register

STK push from the register

After ringing up a sale, the cashier can initiate an STK push to the customer's phone. The customer sees a payment prompt with the amount already filled in and approves it on their phone, while the cashier confirms on theirs.

The cashier can also send a checkout request to the customer's phone number or wallet. This creates a hosted checkout link and a QR code the customer can open to pay. An STK push can optionally be triggered on the same checkout session.

Invoice collections

When you send a sales invoice by SMS or email, the customer opens a branded, PIN-protected invoice page and can pay the remaining balance online with Paysasa STK or hosted checkout. The payment reference stays on the invoice.

Why it matters for your shop

  • Correct amounts. The amount comes from the sale or invoice, not from what the customer types.
  • Linked records. Each payment is tied to the sale or invoice it belongs to.
  • Faster checkout. No waiting while a customer finds a till number and types it in.
  • Less fraud risk. Staff rely on a confirmed payment, not a screenshot.

Built with security in mind

As our Xduka POS API documentation sets out:

  • POS users authenticate with session cookies and role-based permissions.
  • Our POS server calls Paysasa using stored business credentials; sensitive keys remain in store settings and are never exposed to browsers.
  • Paysasa validates the API key's business scope for every operation.
  • Checkout payment initiation uses idempotency keys to reduce duplicate payments.
Where Paysasa collections appear in Xduka POS
Where Paysasa collections appear in Xduka POS

Reconciliation for payments that do not match

Sometimes a customer pays outside the checkout flow, for example directly to a paybill. Store members with reconciliation permission can review unmatched payment callbacks and match them to the right checkout session from the Payment Reconciliation area.

Setting it up

Paysasa is connected per store from your store settings. The setup walks you through verifying your identity and connecting a Paysasa business and API key. Once setup is complete, the store is ready for checkout. Our step-by-step guide to accepting M-Pesa with STK push, elsewhere on this blog, covers the steps in more detail.

A note on connectivity

We built Xduka POS to keep the register working offline, but live payment rails such as STK push need a connection. When you are offline, they wait until you are back online. Plan for cash or manual payment recording during outages.

Quick checklist

  • Complete the Paysasa setup in Settings → Payments.
  • Train cashiers on STK push and checkout requests.
  • Confirm customer phone numbers before sending.
  • Review the reconciliation queue daily.
  • Keep cash available for network outages.

Who benefits most

Shops with a lot of mobile money traffic, such as minimarts, pharmacies and hardware stores, gain the most, because every payment is tied to its sale automatically.

Frequently asked questions

Do customers need a Paysasa account to pay?

The STK push prompt is approved on the customer's phone, and the hosted checkout link or QR lets them pay through a checkout page. Check the payment options shown on the checkout page for details.

Is Paysasa required to use Xduka POS?

No. You can still take cash, M-Pesa with a recorded reference, card and bank payments. Paysasa adds STK push, hosted checkout and online invoice payment.

Where do I see Paysasa payments?

Payments are recorded on the sale or invoice with their transaction reference, and appear in payment reports.

What if a payment does not match any sale?

Use the Payment Reconciliation area to review unmatched payments and match them to the right checkout session.

Payment as part of the sale

With Paysasa built in, collecting mobile payments in Xduka POS is part of the sale itself: the right amount, a clear reference and a record that ties everything together.

See Paysasa collections in action on the Showcase, or learn more at www.xduka.com.

#Paysasa#M-Pesa#STK push#hosted checkout#payments

Get paid by M-Pesa, cards and wallets, safely.

Create a free Paysasa account in minutes: payment links, checkout, escrow and instant reconciliation.