POS integration
Checklist for a till that never talked to us before.
Checklist
- Read discovery — newest kind
30078for the merchant pubkey withd = lacrypta.merchant/coupons - Take
p,mintUrl,claimUrl— ignorev ≠ 2 - List mintable —
GET /api/coupons/mintablewith NIP-98 (or session) - Mint —
POST mintUrlwith{ couponId } - Verify voucher —
voucher.pubkey === p, signature valid, content matches JSON - Show QR — the nonce is the credential
- Redeem —
POST claimUrlwith{ nonce } - Handle
claimed— same as success for retries; use originalclaimedAt
Don't
- Filter relays by
#palone - Trust TLS host alone without checking CMS signature
- Skip
npubcheck on claim if you are a multi-merchant client - Blind-retry
POST /mintafter a lost response — reconcile via mints list