Skip to main content

Merchant Integration Guide

This guide covers how merchants integrate with Vero to send encrypted, itemized receipts to customers.

How Vero Works for Merchants

Transaction Flow

  1. Transaction completes as normal through your POS
  2. POS system generates itemized receipt in JSON-LD format
  3. Your private key signs the receipt cryptographically
  4. Receipt encrypted with customer’s public key (provided by issuer)
  5. Transmitted to customer’s bank
No changes to checkout flow. Receipt transmission happens asynchronously after payment authorization.

Integration Options

POS System Plugins (simplest)

If you use Square, Toast, Shopify, or other major POS platforms, install the Vero plugin from their marketplace. Setup takes 15-30 minutes.

Direct API Integration

For custom POS systems, integrate Vero API directly. Open-source libraries available in:
  • JavaScript/Node.js
  • Python
  • Go
  • PHP

Payment Processor Integration

As payment processors adopt Vero, receipts can route through existing payment infrastructure with minimal merchant configuration.

Implementation Steps

Step 1: Register merchant keys Generate public/private key pair, register public key with participating issuers Step 2: Add receipt generation Create itemized JSON-LD receipts from existing transaction data Step 3: Sign and encrypt Use Vero library to sign with your private key, encrypt with customer public key Step 4: Transmit Send to issuer via webhook or payment processor Complete documentation and code samples available in the developer portal.

Data Privacy & Security

Merchant data

  • Receipt content comes from your existing transaction records
  • No third-party platforms access your sales data
  • Cryptographic signing prevents receipt tampering

Customer privacy

Receipts are encrypted before transmission—merchants cannot read receipts after they’re sent (by design). This protects customer privacy while giving them data ownership.

Technical FAQ

Vero is free and open-source. There are:
  • No transaction fees
  • No licensing costs
  • No ongoing platform charges
The only investment is development time for integration.
No. Receipt generation, signing, and encryption happen asynchronously after payment authorization. The Vero process adds less than 100ms to post-transaction processing with no impact on customer experience.
You have three options:
  1. Direct API integration: Use open-source libraries (JavaScript, Python, Go, PHP) to integrate with any custom POS
  2. Request POS provider support: Contact your POS provider and request Vero integration
  3. Payment processor integration: As processors adopt Vero, it will work automatically through existing payment infrastructure
No. Vero converts your existing itemized transaction data into JSON-LD format. If your POS already generates itemized receipts (most do), Vero uses that data.
Customer presents the receipt from their banking app (they decrypt it client-side). You verify the cryptographic signature to confirm authenticity.
Yes. Vero is opt-in at the issuer level—only customers whose banks have integrated Vero receive encrypted receipts. Customers who prefer email or paper receipts continue receiving them as before.
Minimal. Since receipts are encrypted before transmission and you cannot decrypt them after sending, you have no ongoing data custody obligations for Vero receipts.
Every receipt includes your cryptographic signature. Any tampering breaks the signature, making forgery immediately detectable. Combined with issuer signatures, Vero provides strong fraud protection.