Skip to main content

Installazione

Requisiti: Node.js 18+, Express 4+

Avvio rapido


l402(options) — middleware

Restituisce un RequestHandler Express che impone il pagamento L402 sulla rotta.

Opzioni

Comportamento

Corpo della risposta 402

Header WWW-Authenticate


Provider

AlbyProvider — consigliato per la modalità sovrana

Alby — wallet self-custodial. Controlli le chiavi tu stesso.

BTCPayProvider — self-hosted, zero trust

Esegui il tuo BTCPay Server. Sovranità completa.

BlinkProvider — custodiale, il modo più semplice per iniziare

Blink — gratuito, nessun KYC per piccoli importi.

LNbitsProvider

Self-hosted o legend.lnbits.com.

OpenNodeProvider

ManagedProvider — modalità cloud (commissione 0,3%)

l402kit.com ospita il nodo Lightning. Ricevi il 99,7% di ogni pagamento. Opt-in esplicito.
La registrazione viene eseguita una volta all’avvio (fire-and-forget, gli errori sono silenziosi). L’API appare su l402kit.com/apis.json in modo che gli agenti possano scoprirla automaticamente.

Protezione replay

Predefinita — in-memory (sviluppo)

Integrata. Si azzera al riavvio. Adatta per deployment a processo singolo.

Redis (produzione — multi-istanza)

RedisReplayAdapter utilizza SET key 1 NX EX ttl — atomico, privo di race condition.

Webhook di pagamento

Ricevi un evento firmato dopo ogni pagamento.
Payload webhook:

Callback onPayment

Hook sincrono chiamato dopo ogni pagamento verificato, prima di next():

Registrazione pagamenti con Supabase

Imposta SUPABASE_URL + SUPABASE_ANON_KEY nel tuo ambiente per registrare i pagamenti automaticamente.
Schema della tabella pagamenti (payments):
payment_hash memorizza SHA256(preimage), non il preimage grezzo. Il preimage è il segreto di pagamento Lightning a 32 byte — il suo hash è già pubblico nella fattura BOLT11.

Utility standalone


Tipi


Tempi di verifica

La verifica del token esegue SHA256(preimage) == paymentHash in memoria — sub-millisecondo, nessuna chiamata di rete sul percorso critico. Il ReplayAdapter in-memory (predefinito) viene eseguito anche in modo sincrono. Se utilizzi RedisReplayAdapter, aggiungi un round-trip Redis di 5–50 ms per ogni richiesta. Pianifica la capacità di conseguenza per gli endpoint ad alta frequenza.

Compatibilità x402 (header X-Payment)

Il middleware accetta silenziosamente l’header X-Payment (utilizzato dal protocollo x402 di Coinbase) in aggiunta all’header standard Authorization: L402 …. Entrambi sono trattati in modo identico — utile se vuoi servire client che parlano uno dei due protocolli.
Nessuna configurazione necessaria; è sempre abilitato.

Guida alla migrazione

v1.1 → v1.2

Rinomina la colonna nella tua tabella payments: