Skip to main content

Accept Payments via QR Codes

Enable secure payments through QR code scanning with Paysera's Scan and Pay API. Perfect for restaurants, retail stores, and service businesses.

Quick Start Guide

1

Set Up Wallet API Access

Create MAC authentication credentials for Wallet API integration.

Get client_id and mac_secret
2

Generate QR Codes

Create QR codes for your locations (tables, rooms, spots).

Format: PAYSERA*{locationId}:{identifier}
3

Monitor Spots

Set up polling service to detect when customers scan QR codes.

Poll every 3-5 seconds
4

Process Payments

Create transactions, link to spots, confirm payments, and close spots.

Transaction → Order → Confirm → Close
5

Test & Deploy

Test with small amounts in production, then deploy worker service.

Complete integration and start accepting payments

Payment Flow Diagram

+

Key Endpoints

API Base URL

Production: https://pos.paysera.com/epapi/v1

Authentication: MAC authentication (HMAC-SHA256)

Main Endpoints

1. Monitor Spots

GET /rest/v1/spots?status=waiting&location_id={locationId}

Check for customers who have scanned your QR codes and are waiting to pay.

2. Create Transaction

POST /rest/v1/transaction

Create a transaction with order details (amount, description, parameters).

3. Create Spot Order

POST /rest/v1/spot/{spotId}/order

Link the transaction to the spot so customer can see order details in their app.

4. Monitor Reservations

GET /rest/v1/transactions?status=reserved

Check for transactions that customers have confirmed and are ready to be processed.

5. Confirm Transaction

PUT /rest/v1/transaction/{transactionKey}/confirm

Confirm the payment to complete the transaction.

6. Close Spot

DELETE /rest/v1/spot/{spotId}

Close the spot after payment is complete to reset the state.

Important Notes

  • 💰 Amounts in cents: Prices must be specified in the smallest currency unit (e.g., 2599 = 25.99 EUR)
  • 🔄 Polling frequency: Poll for waiting spots every 3-5 seconds (don't poll too frequently)
  • 🔒 MAC Authentication: All requests require proper MAC signature in Authorization header
  • Always close spots: Spots must be closed after payment to avoid stuck states
  • ⚠️ No sandbox: Wallet API doesn't have a test environment - test with small amounts in production
  • 🔧 Worker process: Use a dedicated background worker for monitoring spots, not web requests

Complete Documentation & Examples

Full Scan and Pay Guide

Complete implementation guide with code examples, diagrams, and best practices.

View Complete Guide

Wallet API Authentication

Learn how to set up MAC authentication for Wallet API integration.

View Auth Docs

Wallet API Reference

Explore all Wallet API endpoints and resources.

View API Reference