Developer
Test ModeTest Mode Sign In Get started
DeveloperDeveloper / Scan & Go / ProduktsicherungSecurity Tags

Produktsicherung & Checkout-VerifizierungSecurity Tags & Checkout Verification

GROW

Sicherheitssysteme für den stationären Einzelhandel: von einfacher PIN-Verifizierung bis zur automatischen RFID-Deaktivierung.Security systems for brick-and-mortar retail: from simple PIN verification to automatic RFID deactivation.

Diese Seite beschreibt zwei zusammenhängende Sicherheitssysteme: Checkout-Verifizierung (QR-Code/PIN-Prüfung vor der Zahlung) und Produktsicherung (EAS-Tags nach der Zahlung). Beide können unabhängig oder kombiniert eingesetzt werden.This page describes two related security systems: Checkout Verification (QR code/PIN check before payment) and Security Tags (EAS tag deactivation after payment). Both can be used independently or combined.

ÜbersichtOverview

BEEP! unterstützt zwei Sicherheitsmechanismen für Scan & Go Einkäufe. Der Händler konfiguriert beide über die Store-Einstellungen in der BEEP! Händler-App oder direkt per API.

BEEP! supports two security mechanisms for Scan & Go purchases. Merchants configure both through store settings in the BEEP! merchant app or directly via API.

SystemSystem ZeitpunktTiming ZweckPurpose Store-FelderStore Fields
Checkout-VerifizierungCheckout Verification Vor der ZahlungBefore payment Diebstahlprävention: Kunde muss QR-Code scannen oder PIN eingebenTheft prevention: customer must scan QR or enter PIN requiresCheckoutVerification, checkoutVerificationThreshold, checkoutPin, checkoutQRCode
Produktsicherung (EAS)Security Tags (EAS) Nach der ZahlungAfter payment Sicherungsetiketten entfernen/deaktivieren nach erfolgreichem CheckoutRemove/deactivate security tags after successful checkout securityTagMode, securityTagHint

1. Checkout-Verifizierung (QR/PIN)1. Checkout Verification (QR/PIN)

Händler können optional eine Verifizierung vor dem Checkout aktivieren, um sicherzustellen, dass der Kunde sich physisch im Laden befindet und so Diebstahl zu verhindern. Der Kunde kann die Zahlung erst abschließen, nachdem er einen QR-Code gescannt oder einen PIN eingegeben hat, den er ausschließlich vor Ort von einem Ladenmitarbeiter erhalten kann.

Merchants can optionally enable pre-checkout verification to ensure the customer is physically in the store, preventing theft. The customer can only complete payment after scanning a QR code or entering a PIN that they can exclusively obtain on-site from a store employee.

Diebstahlschutz: Ohne gültigen QR-Code oder PIN kann der Kunde die Zahlung in der BEEP! App nicht abschließen. Der QR-Code hängt physisch im Laden (z.B. an der Kasse oder am Ausgang) und der PIN ist nur dem Personal bekannt. So ist sichergestellt, dass niemand aus der Ferne bezahlen und Ware mitnehmen kann.Theft prevention: Without a valid QR code or PIN, the customer cannot complete payment in the BEEP! app. The QR code is physically displayed in-store (e.g. at checkout or exit) and the PIN is known only to staff. This ensures no one can pay remotely and take merchandise.

VerifizierungsmethodenVerification Methods

MethodeMethod AblaufFlow EinrichtungSetup
QR-Code Scan Der Store platziert einen QR-Code im Laden (z.B. an der Kasse, am Ausgang oder beim Service-Desk). Der Kunde muss diesen QR-Code mit der BEEP! App scannen, bevor die Zahlung freigegeben wird.The store places a QR code in-store (e.g. at checkout, exit, or service desk). The customer must scan this QR code with the BEEP! app before payment is released. checkoutQRCode
PIN Der Kunde fragt einen Ladenmitarbeiter nach dem aktuellen Checkout-PIN. Erst nach Eingabe des korrekten 4-stelligen PINs in der BEEP! App wird die Zahlung freigegeben.The customer asks a store employee for the current checkout PIN. Payment is only released after entering the correct 4-digit PIN in the BEEP! app. checkoutPin

Store-KonfigurationStore Configuration

Field TypType Default BeschreibungDescription
requiresCheckoutVerification boolean false Aktiviert die Verifizierung vor dem CheckoutEnables pre-checkout verification
checkoutVerificationThreshold number? null Mindest-Warenkorbwert (EUR) ab dem die Verifizierung greift. null = immer verifizieren.Minimum cart value (EUR) to trigger verification. null = always verify.
checkoutPin string? null 4-stelliger PIN für PIN-Verifizierung4-digit PIN for PIN verification
checkoutQRCode string? null Hash-String für QR-Code-VerifizierungHash string for QR code verification
Schwellenwert-Logik: Die Verifizierung wird nur ausgelöst wenn requiresCheckoutVerification == true UND der Warenkorbwert >= checkoutVerificationThreshold. Ohne Schwellenwert wird immer verifiziert.Threshold logic: Verification triggers only when requiresCheckoutVerification == true AND cart total >= checkoutVerificationThreshold. Without a threshold, verification is always required.

Konfigurations-BeispielConfiguration Example

stores/{storeId}
{ "requiresCheckoutVerification": true, "checkoutVerificationThreshold": 7, "checkoutPin": "2222", "checkoutQRCode": "b65292121373315ac2afbe7fb6d24b98", // Verification required for cart totals >= 7 EUR // Customer can scan the store QR or enter PIN "2222" }

2. Produktsicherung (EAS-Tags)2. Security Tags (EAS)

Elektronische Artikelsicherung (EAS) wird branchenweit eingesetzt. BEEP! unterstützt alle gängigen Verfahren und übernimmt die Koordination zwischen Zahlung und Deaktivierung. Der Händler wählt den passenden Modus und kann einen individuellen Kundenhinweis konfigurieren.

Electronic Article Surveillance (EAS) is used across retail. BEEP! supports all common methods and coordinates between payment and deactivation. The merchant selects the appropriate mode and can configure a custom customer hint.

Unterstützte Branchen & Tag-TypenSupported Segments & Tag Types

BrancheSegment Typische ProdukteTypical Products Gängige Tag-TypenCommon Tag Types Empfohlener ModusRecommended Mode
Mode & BekleidungFashion & Apparel Jacken, Jeans, AccessoiresJackets, jeans, accessories AM (58 kHz), RF (8.2 MHz), Hard Tags manual / station
DrogerieDrugstores Rasierklingen, Parfum, KosmetikRazor blades, perfume, cosmetics Keeper Cases, Spider Wraps manual
SupermärkteSupermarkets Spirituosen, Premium-Fleisch, BabynahrungSpirits, premium meat, baby formula Bottle Tags, Spider Wraps manual
ElektronikElectronics Smartphones, Kopfhörer, KabelSmartphones, headphones, cables Spider Wraps, Keeper Cases, Cable Locks station
BaumärkteHardware Stores Elektrowerkzeuge, MessgerätePower tools, measuring devices Hard Tags, Cable Locks manual
Sport & OutdoorSports & Outdoor Laufschuhe, Trikots, ZubehörRunning shoes, jerseys, gear RFID Tags (UHF 860-960 MHz) rfid

DeaktivierungsmodiDeactivation Modes

Mode Ablauf im DetailDetailed Flow Typisch fürTypical for Infrastruktur nötigInfrastructure needed
none Keine Produktsicherung aktiv. Standard-Modus.No security tags active. Default mode. Stores ohne gesicherte ProdukteStores without tagged products -
manual 1. Kunde bezahlt via Scan & Go
2. BEEP! App zeigt Hinweisbanner
3. Kunde zeigt Kassenbon/QR am Ausgang vor
4. Mitarbeiter entfernt Sicherung manuell
1. Customer pays via Scan & Go
2. BEEP! app shows hint banner
3. Customer shows receipt/QR at exit
4. Staff manually removes tag
Drogerie, Supermärkte, kleine Mode-LädenDrugstores, supermarkets, small fashion stores Detacher-Werkzeug für PersonalDetacher tool for staff
station 1. Kunde bezahlt via Scan & Go
2. Kunde scannt Kassenbon-QR an Self-Service-Station
3. Station ruft verifySecurityTagDeactivation auf
4. Bei Erfolg: Station gibt Detacher frei oder deaktiviert magnetisch
1. Customer pays via Scan & Go
2. Customer scans receipt QR at self-service station
3. Station calls verifySecurityTagDeactivation
4. On success: station releases detacher or deactivates magnetically
Große Modeketten (Zara-Style), ElektronikmärkteLarge fashion chains (Zara-style), electronics stores Deaktivierungs-Terminal mit API-AnbindungDeactivation terminal with API connection
rfid 1. Kunde bezahlt via Scan & Go
2. RFID-Gate am Ausgang erkennt bezahlte Artikel
3. Gate ruft verifySecurityTagDeactivation auf
4. Gate öffnet sich / Alarm bleibt aus
1. Customer pays via Scan & Go
2. RFID gate at exit detects paid items
3. Gate calls verifySecurityTagDeactivation
4. Gate opens / alarm stays silent
Decathlon, Uniqlo, große SporthändlerDecathlon, Uniqlo, large sports retailers RFID-Gate (UHF) + API-AnbindungRFID gate (UHF) + API connection

Store-KonfigurationStore Configuration

Field TypType Default BeschreibungDescription
securityTagMode string "none" "none" | "manual" | "station" | "rfid""none" | "manual" | "station" | "rfid"
securityTagHint string? null Individueller Kundenhinweis. Wird im Warenkorb, Checkout und auf dem Kassenbon angezeigt. Wenn leer, wird ein Standardtext je nach Modus angezeigt.Custom customer hint. Displayed in cart, checkout, and on the receipt. If empty, a default text per mode is shown.
securityTagHint-Beispiele:
• Drogerie: "Bitte nach Bezahlung die gesicherten Produkte an der Kasse vorzeigen."
• Mode: "Bitte die Sicherungsetiketten an der Detacher-Station im Ausgangsbereich entfernen."
• Supermarkt: "Flaschensicherungen werden am Ausgang vom Personal entfernt."
securityTagHint examples:
• Drugstore: "Please show secured products at the checkout after payment."
• Fashion: "Please remove security tags at the detacher station near the exit."
• Supermarket: "Bottle locks will be removed by staff at the exit."

Konfigurations-BeispielConfiguration Example

stores/{storeId}
{ "securityTagMode": "manual", "securityTagHint": "Bitte nach Bezahlung die Produkte an der Kasse vorzeigen." }

Purchase-DokumentPurchase Document

Nach einem Checkout werden die Security-Tag-Felder automatisch in das Purchase-Dokument geschrieben (nur wenn securityTagMode != "none"):

After checkout, security tag fields are automatically written to the purchase document (only when securityTagMode != "none"):

transactions/{purchaseId}
{ "securityTagMode": "manual", "securityTagStatus": "pending", // "pending" | "deactivated" "securityTagHint": "Bitte nach Bezahlung die Produkte an der Kasse vorzeigen." }

3. API-Endpoint3. API Endpoint

POST /api/v1/verifySecurityTagDeactivation Deaktivierung verifizierenVerify deactivation GROW

Wird von Deaktivierungs-Terminals (station) oder RFID-Gates (rfid) aufgerufen. Prüft ob ein Kauf bezahlt wurde und gibt die Deaktivierung frei.

Called by deactivation terminals (station) or RFID gates (rfid). Checks whether a purchase has been paid and authorizes deactivation.

Parameter TypType PflichtRequired BeschreibungDescription
purchaseId string optional* Purchase-Dokument-IDPurchase document ID
receiptToken string optional* QR-Code-Token vom digitalen KassenbonQR code token from digital receipt
* Mindestens purchaseId oder receiptToken muss angegeben werden.* At least purchaseId or receiptToken must be provided.
200 OK
{ "success": true, "status": "paid", "items": [ { "name": "Slim Fit Jeans", "priceUnit": 4999, "quantity": 1 }, { "name": "T-Shirt Basic", "priceUnit": 1499, "quantity": 2 } ], "securityTagMode": "station", "deactivationAuthorized": true, "storeData": { "name": "Fashion Store" } }
Fehler-AntwortenError Responses
// 400: purchaseId or receiptToken required // 404: Purchase not found // 200 with deactivationAuthorized: false // when status is CREATED, PENDING_PAYMENT, or CANCELLED

4. Edge Cases & Besonderheiten4. Edge Cases & Special Considerations

SzenarioScenario VerhaltenBehavior
Gemischter Warenkorb (gesichert + ungesichert)Mixed cart (tagged + untagged) Hinweis wird angezeigt. Nur gesicherte Produkte müssen behandelt werden.Hint is shown. Only tagged products need handling.
Zahlung fehlgeschlagen / storniertPayment failed / cancelled verifySecurityTagDeactivation gibt deactivationAuthorized: false zurück.verifySecurityTagDeactivation returns deactivationAuthorized: false.
Checkout-Verifizierung + Produktsicherung kombiniertCheckout verification + security tags combined Beide Systeme greifen nacheinander: erst QR/PIN-Check, dann Zahlung, dann Tag-Deaktivierung.Both systems apply sequentially: first QR/PIN check, then payment, then tag deactivation.
Mehrfach-Scan desselben QR-Codes an StationMultiple scans of same QR at station Idempotent: Gibt immer das gleiche Ergebnis zurück. Kein Doppel-Deaktivierungs-Risiko.Idempotent: Always returns same result. No double-deactivation risk.
Altersverifikation + ProduktsicherungAge verification + security tags Altersverifizierung (validateHumanVerificationCode) ist unabhängig und greift vor dem Checkout.Age verification (validateHumanVerificationCode) is independent and applies before checkout.
Gast-Modus (Browser)Guest mode (browser) Vollständiger Checkout im Browser möglich. Alle Sicherheitsmechanismen (Checkout-Verifizierung, Produktsicherung, Altersverifikation via QR-Code) funktionieren auch im Gast-Modus. Nur biometrische Altersverifikation ist im Browser nicht verfügbar.Full checkout is supported in the browser. All security mechanisms (checkout verification, security tags, age verification via QR code) work in guest mode. Only biometric age verification is not available in the browser.
Kein securityTagHint gesetztNo securityTagHint set Die BEEP! App zeigt einen Standardhinweis basierend auf securityTagMode.The BEEP! app shows a default hint based on securityTagMode.

5. Kombinierter Ablauf5. Combined Flow

Wenn ein Store sowohl Checkout-Verifizierung als auch Produktsicherung aktiviert hat, sieht der vollständige Ablauf so aus:

When a store has both checkout verification and security tags enabled, the complete flow looks like this:

1
Produkte scannenScan products
Kunde scannt Produkte mit der BEEP! AppCustomer scans products with the BEEP! app
2
Checkout-VerifizierungCheckout verification
QR-Code scannen oder PIN eingeben (wenn aktiviert und Schwellenwert erreicht)Scan QR or enter PIN (if enabled and threshold reached)
3
BezahlungPayment
Checkout über den vom Store konfigurierten PSPCheckout via the store's configured PSP
4
Security-Tag-HinweisSecurity tag hint
BEEP! App zeigt Hinweis (custom oder default je nach Modus)BEEP! app shows hint (custom or default per mode)
5
DeaktivierungDeactivation
Je nach Modus: Mitarbeiter (manual), Station (station), automatisch (rfid)Depends on mode: staff (manual), station (station), automatic (rfid)

6. Webhook-Events6. Webhook Events

Event BeschreibungDescription Payload-FelderPayload Fields
checkout.completed Enthält securityTagMode und securityTagStatus wenn konfiguriertContains securityTagMode and securityTagStatus if configured securityTagMode, securityTagStatus, securityTagHint
securityTag.deactivated Wird gesendet wenn die Deaktivierung über verifySecurityTagDeactivation bestätigt wurdeSent when deactivation is confirmed via verifySecurityTagDeactivation purchaseId, securityTagMode, items
Vollständige Webhook-Dokumentation: Webhooks →Full webhook documentation: Webhooks →

7. SDK-Unterstützung7. SDK Support

Node.js
const result = await beep.scanAndGo.verifySecurityTagDeactivation({ purchaseId: "pur_..." }); if (result.deactivationAuthorized) { // Release detacher / open gate console.log(`Authorized: ${result.items.length} items`); }
Python
result = beep.scan_and_go.verify_security_tag_deactivation( purchase_id="pur_..." ) if result["deactivationAuthorized"]: # Release detacher / open gate print(f"Authorized: {len(result['items'])} items")
cURL
curl -X POST \ ".../apiGateway/api/v1/verifySecurityTagDeactivation" \ -H "Authorization: Bearer $SK" \ -H "Content-Type: application/json" \ -d '{"purchaseId":"pur_..."}'
Dart
import 'package:beep_sdk/beep_sdk.dart'; final client = BeepClient('bk_test_sk_...'); final result = await client.scanAndGo.verifySecurityTagDeactivation( purchaseId: 'pur_...', ); if (result.deactivationAuthorized) { // Release detacher / open gate print('Authorized: ${result.items.length} items'); }