Skip to content
BaxPayDevelopers

Take payments from your till, pump or app

A shopper taps a card, scans a QR code or touches a finger, and the basket is paid. BaxPay does the regulated work underneath: two-factor authentication, dynamic linking and settlement.

POSThttps://sandbox-api.baxpay.com/v1/payment-links
curl -X POST https://sandbox-api.baxpay.com/v1/payment-links \
  -H "Authorization: Bearer $BAXPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "description": "Haircut — 16 July", "amount": 47.30, "businessWide": true }'
201 Created
{
  "success": true,
  "data": {
    "id": "1c9f4a2e-…",
    "url": "https://pay.baxpay.com/plk_4f1f0c4c4e1a…",
    "description": "Haircut — 16 July",
    "amount": 47.3,
    "currency": "EUR",
    "status": "OPEN",
    "livemode": false
  }
}

What BaxPay is

BaxPay is a payments platform built around its certified POS terminals. They accept the tenders your customers already use — cards (chip and contactless/NFC) and QR-code payments — plus the one nobody else gives you: fingerprint payment. An enrolled shopper can pay with no plastic to present and no phone to unlock — touch the terminal, confirm with a PIN, done.

Whatever the tender, the important part for you is what happens in between: European payments law requires two independent authentication factors on essentially every transaction, cryptographically bound to the exact amount and payee. BaxPay's terminals implement that gate. Your systems just tell them what's owed.

The one idea worth internalising

How it fits together

Your system knows the amount

A till, a fuel pump, or your own app decides what's owed. BaxPay never needs to know what's in the basket — only the total.

BaxPay authenticates the customer

The terminal takes the customer's tender — card, contactless, QR, or fingerprint — and collects the authentication factors the law requires. This is the regulated part, and it is ours to get right.

You capture, and money moves

Once authentication is satisfied, you capture. Nothing moves before that point, and the authentication can't be replayed against a different payment.

Base URL and versioning

Every endpoint in these docs is relative to a versioned base URL. Start in sandbox — it behaves identically to live, but moves no real money.

base URL
https://sandbox-api.baxpay.com/v1   # sandbox: bx_test_… keys
https://api.baxpay.com/v1           # live: bx_live_… keys

The version lives in the path. We add fields and endpoints to /v1 freely, so parse responses leniently — ignore keys you don't recognise rather than failing on them. Anything that would break an existing integration ships under a new version prefix, and we announce removals at least 90 days ahead.