POS
Zoho Payments POS enables businesses to accept in-person payments through Point of Sale terminals. It supports both Card and UPI payment methods, providing a seamless checkout experience for customers at physical locations. Whether a customer taps their card, swipes it, inserts it into the terminal, or scans a UPI QR code, Zoho Payments processes the transaction securely through the acquiring bank and confirms the result in real time.
How It Works
Zoho Payments POS can be used in two ways depending on your business setup.
Standalone Terminal
The POS terminal operates as a standalone payment device. The cashier initiates a payment directly on the terminal, the customer completes the transaction, and Zoho Payments records the result in real time. No external system or API integration is required.
Scenario: Ravi owns a café. After a customer finishes their meal, the cashier generates a UPI QR code on the POS terminal. The customer scans the code using their UPI app and completes the payment. The terminal confirms the transaction and prints a receipt with the transaction reference. Ravi can track all payments in real time from his Zoho Payments dashboard.
Learn more about the terminal payment flow →
Billing Application Integration
If your business uses a custom billing system, you can integrate it with the POS terminal via the Zoho Payments API. Your billing server creates payment sessions, sends them to the terminal for customer authentication, and polls for the transaction status until the payment is confirmed as succeeded or failed.
Scenario: Meera runs a pharmacy chain with a custom billing system that manages inventory and invoices. When a customer checks out, her billing software calculates the total, creates a payment session via the Zoho Payments API, and sends it to the POS terminal at the counter. The customer taps their card, and the billing system polls for the result. Once the payment succeeds, the invoice is automatically marked as paid and the stock is updated, all without manual entry.
Learn more about Billing Application Integration →
What Happens at the Terminal
Regardless of the integration type, the following steps occur on the POS terminal once a payment is ready to be processed.
Payment Details Display
Before the customer initiates payment, the POS terminal screen displays a summary of the transaction for verification. This ensures the cashier and customer are aligned on the amount being charged. The details shown include:
- Amount: The total payable amount for the transaction.
- Invoice number: The merchant invoice reference passed during session creation.
- Merchant details: The business name and identifier registered with Zoho Payments.
- Payment type: The payment method (card, UPI, etc.) configured for this session.
- Transaction reference: The unique session ID for tracking purposes.
Customer Payment
The customer completes the payment using their preferred method: inserting or tapping a card, scanning a UPI QR code displayed on the terminal, or using NFC-based contactless payment. The POS terminal securely forwards the authorisation request to the payment processor. Once the processor responds with an approval or decline, the terminal updates the payment status accordingly. This entire flow happens in real time and typically completes within a few seconds.
Receipt
Once the payment is successfully authorised, the POS terminal automatically prints a receipt for the customer. The receipt includes:
- Transaction reference ID
- Payment amount
- Date and time
- Payment method used
- Merchant name
- Approval code from the payment processor
A merchant copy is also generated for record-keeping. If the payment fails, no receipt is printed, and the terminal displays the failure reason to the cashier.
Void Transactions
A void reverses an authorized payment before end-of-day settlement. Since the transaction is still part of the open settlement batch, the authorization is reversed and the customer’s funds are released without creating a separate refund. The merchant initiates a void from the POS terminal using the original invoice number, and the transaction status is updated to VOIDED.
A void can be performed only when all of the following conditions are met:
- The payment status is SUCCESS.
- The settlement status is UNSETTLED.
- The transaction has not already been voided or refunded.
- The acquirer supports void operations within the allowed time window.
Note: Void is currently supported for card payments only. If the transaction has already been settled, a void is no longer possible. In this case, you can issue a store credit or contact the Zoho Payments support for an offline refund.