Technical Specifications

Comprehensive technical documentation for implementing the payware universal payment standard. Built on open standards, designed for developers.

API Protocol Specifications

The payware API is built on modern RESTful principles with open standards for global interoperability.

RESTful API Architecture

Protocol

  • Transport: HTTPS/TLS 1.3
  • Authentication: Signature-based with partner identifier
  • Format: JSON (application/json, UTF-8)
  • Versioning: Header-based (Api-Version: 1)
  • Encoding: UTF-8

HTTP Methods

  • POST: Create transaction, process transaction
  • GET: Query transaction status and history
  • PATCH: Cancel transaction
  • Timestamps: UNIX timestamp format
  • Currency: ISO 3-letter codes, decimal format

Example Request

POST /api/transactions
Api-Version: 1
Content-Type: application/json

{
  "account": "GB29NWBK60161331926810",
  "friendlyName": "Your Favorite Shop",
  "callbackUrl": "https://merchant.com/callback",
  "trData": {
    "amount": "150.00",
    "currency": "GBP",
    "reasonL1": "Payment"
  },
  "trOptions": {
    "type": "QR",
    "timeToLive": 120
  }
}

Callback System

Real-time transaction status notifications via HTTPS POST to your callback URL.

Callback Types

  • • TRANSACTION_FINALIZED

Transaction Status

  • • CONFIRMED - Payment successful
  • • DECLINED - Payment declined by user
  • • FAILED - Payment processing error
  • • CANCELLED - Transaction cancelled

Delivery Guarantees

  • • 15 retry attempts (once per second)
  • • Requires 200 HTTP status response
  • HTTPS-only callback URLs
  • • Idempotency support via passbackParams

Security & Cryptography

Encryption Standards

Transport Layer

TLS 1.3 with perfect forward secrecy, ECDHE key exchange

Data at Rest

AES-256-GCM encryption for stored sensitive data

Message Signing

HMAC-SHA256 and RSA-2048 digital signatures

Account Tokenization

Sensitive account information is never transmitted. Instead, tokens represent payment with limited scope and lifetime.

Lifespan: Multi-use or time-limited (2 minutes default)

Scope: Partner-specific, amount-limited

Payment Method Technical Details

Method Technology Data Format Range/Specs
QR Code 2D barcode scanning Encoded transaction data Up to 2KB payload, error correction
Barcode 1D/2D optical scanning Numeric/alphanumeric data Code 128, configurable dimensions
NFC Contactless transmission Transaction data via NFC tap 0-10cm proximity, ISO 14443 compatible
BLE Bluetooth proximity Transaction data via Bluetooth 0-50m range, Bluetooth 5.0+ support
Soundbite Human-hearable audio signature Registered sound triggers Any audible sound (music, jingles, effects)
Link HTTPS deep linking URL with payment parameters Secure HTTPS URLs, URL-safe encoding
Text Alphanumeric code entry 10-character payment code Any medium: SMS, messaging, email, paper

Integration Requirements

Minimum Requirements

  • HTTPS/TLS support for secure communication
  • Api-Version header in all API requests (Api-Version: 1)
  • HTTPS callback URL for receiving transaction updates
  • JSON message parsing (UTF-8 encoding)
  • Partner identifier and signature for API authentication

Recommended Best Practices

  • Use sandbox.payware.eu for integration and testing
  • Return HTTP 200 for callback acknowledgment
  • Poll transaction status via GET /transactions-history if callback fails
  • Set appropriate timeToLive for your use case (60-600 seconds)
  • Use passbackParams for idempotency and order tracking

Official SDKs & Libraries

Pre-built libraries for rapid integration across popular programming languages.

JavaScript / Node.js

npm install @payware/sdk

  • • TypeScript support
  • • Promise-based async
  • • React Native compatible

Python

pip install payware

  • • Async/await support
  • • Django integration
  • • Type hints included

Java

Maven/Gradle dependency

  • • Spring Boot starter
  • • Reactive streams
  • • Android support

PHP

composer require payware/php

  • PSR-7/18 compatible
  • • Laravel package
  • • WordPress plugin

Ruby

gem install payware

  • • Rails integration
  • • RSpec test helpers
  • • ActiveRecord support

Go

go get payware.io/sdk

  • • Context-aware
  • • Zero dependencies
  • • Concurrent-safe

API Versioning & Lifecycle

Versioning Strategy

API version is specified via the Api-Version HTTP header. Minor/patch updates are backward-compatible.

Current: Api-Version: 1 (stable)

Method: Header-based versioning

Support: Minimum 24 months

Notice: 12 months before deprecation

Change Log Access

All API changes are documented with migration guides and example code.

  • Real-time changelog feed
  • Email notifications
  • Migration tooling

Ready to Start Building?

Access complete API documentation, code examples, and developer tools