Un URI di richiesta di pagamento è un link che inizia con zcash: e contiene i dettagli di un pagamento: l'indirizzo, l'importo e un memo facoltativo.
Condiviso come codice QR o link cliccabile, permette al tuo portafoglio di compilare il pagamento per te. Controlli i dettagli e approvi.
ZIP 321 definisce il formato. Deriva dal BIP 21 di Bitcoin.
Una richiesta può pagare più destinatari in una singola transazione.
ZecHub ospita un widget di pagamento e un generatore, così un negozio può aggiungere un pulsante di pagamento Zcash senza scrivere l'URI a mano.
Spiegazione principale
Un URI di richiesta di pagamento è un link zcash: definito da ZIP 321. I portafogli compatibili leggono l'indirizzo, l'importo e il memo facoltativo dal link o dal QR e precompilano una transazione. Nessun account aggiuntivo, nessun processore intermediario.
La demo del widget è una finestra modale ZIP-321 attiva: QR, copia indirizzo/URI, link breve e Apri nel portafoglio. La pagina degli strumenti è il generatore se vuoi prima impostare il tuo indirizzo e importo.
ZEC decimale con . come separatore e al massimo 8 cifre decimali (0.5, non 0,5)
memo
no
Solo indirizzi schermati. I byte UTF-8 del memo (al massimo 512), codificati in base64url senza padding =: Thanks! diventa VGhhbmtzIQ, non il testo semplice
label
no
Nome leggibile mostrato da alcuni portafogli. Codifica in percentuale gli spazi e i caratteri riservati (Coffee%20shop); un + è un segno più letterale, non uno spazio
Aggiungere un widget di donazione in Zcash al tuo sito web:
Visuale / Analogia
Pensa a un modulo di bonifico bancario con campi per il numero di conto, l'importo e una nota che indica a cosa serve il pagamento. Compilarlo a mano è lento e una cifra sbagliata invia il denaro nel posto sbagliato.
Un URI di richiesta di pagamento è quel modulo, compilato dal negozio. Il codice QR è una foto del modulo. La fotocamera del tuo telefono legge la foto, il portafoglio copia ogni campo nella posizione giusta e tu controlli i numeri e firmi.
Un link in una pagina web svolge lo stesso compito. Facendo clic, consegni il modulo compilato al tuo portafoglio.
Richiede 1 ZEC a un indirizzo Sapling schermato. Il memo viene decodificato in "Questo è un semplice memo." Il messaggio "Grazie per il tuo acquisto" è il testo che il portafoglio mostra sullo schermo.
Regole controllate da un portafoglio
Il formato dell'importo è rigoroso. amount=0.5 e amount=50 sono validi. amount=50,000.00, amount=.5 e amount=0.123456789 non sono validi: il punto è l'unico separatore decimale e possono esserci al massimo 8 cifre dopo di esso. Nessun importo può superare 21.000.000 ZEC.
Nell'URI grezzo, il memo è codificato in base64url e può contenere fino a 512 byte una volta decodificato. Un memo allegato a un indirizzo trasparente rende non valida l'intera richiesta, poiché gli indirizzi trasparenti non possono contenere memo. Gli indirizzi Sprout non sono affatto consentiti e una richiesta che non segue la grammatica di ZIP 321 deve essere rifiutata.
Esistono altri due campi oltre a quelli nella tabella sopra. message è una descrizione del pagamento che il portafoglio visualizza. req-asset è riservato ai Custom Assets, come definiti in ZIP 227.
Pagare più persone contemporaneamente
A ogni pagamento aggiuntivo viene assegnato un numero indice ai nomi dei parametri, ad esempio address.1, amount.1 e memo.1. Il portafoglio crea una transazione che paga tutte le persone nell'elenco. Questo è utile per un checkout che divide un pagamento o per un gruppo di donazioni inviate insieme.
Da dove viene il formato
Bitcoin ha due standard più vecchi per le richieste di pagamento: BIP 21, un semplice link per un destinatario, e BIP 70, un protocollo più complesso per pagamenti articolati. ZIP 321 segue una via di mezzo, un formato di link con spazio per più destinatari. La discussione è iniziata nel 2018 nel repository degli ZIP Zcash, dove il numero 321 è stato scelto per richiamare BIP 21, e lo stesso ZIP è stato creato nell'agosto 2020.
Pagine correlate
Memo: a cosa serve il campo memo in una richiesta di pagamento.