Ένα URI αιτήματος πληρωμής είναι ένας σύνδεσμος που ξεκινά με zcash: και περιέχει τις λεπτομέρειες μιας πληρωμής: τη διεύθυνση, το ποσό και ένα προαιρετικό σημείωμα.
Όταν κοινοποιείται ως κωδικός QR ή σύνδεσμος με δυνατότητα κλικ, επιτρέπει στο πορτοφόλι σου να συμπληρώσει την πληρωμή για εσένα. Ελέγχεις τις λεπτομέρειες και εγκρίνεις.
Το ZIP 321 ορίζει τη μορφή. Προήλθε από το BIP 21 του Bitcoin.
Ένα αίτημα μπορεί να πληρώσει πολλούς παραλήπτες σε μία μόνο συναλλαγή.
Το ZecHub φιλοξενεί ένα widget πληρωμών και έναν δημιουργό, ώστε ένα κατάστημα να μπορεί να προσθέσει ένα κουμπί πληρωμής Zcash χωρίς να γράφει το URI με το χέρι.
Βασική εξήγηση
Ένα URI αιτήματος πληρωμής είναι ένας σύνδεσμος zcash: που ορίζεται από το ZIP 321. Τα συμβατά πορτοφόλια διαβάζουν τη διεύθυνση, το ποσό και το προαιρετικό σημείωμα από τον σύνδεσμο ή τον κωδικό QR και προσυμπληρώνουν μια συναλλαγή. Δεν απαιτούνται επιπλέον λογαριασμοί ούτε μεσάζοντας επεξεργασίας.
Η επίδειξη του widget είναι ένα ζωντανό αναδυόμενο παράθυρο ZIP-321: QR, αντιγραφή διεύθυνσης/URI, σύντομος σύνδεσμος και Άνοιγμα στο πορτοφόλι. Η σελίδα εργαλείων είναι ο δημιουργός, αν θέλεις πρώτα να ορίσεις τη δική σου διεύθυνση και ποσό.
Δεκαδικό ZEC με το . ως διαχωριστικό και το πολύ 8 δεκαδικά ψηφία (0.5, όχι 0,5)
memo
όχι
Μόνο για θωρακισμένες διευθύνσεις. Τα UTF-8 bytes του σημειώματος (το πολύ 512), κωδικοποιημένα σε base64url χωρίς συμπλήρωση =: το Thanks! γίνεται VGhhbmtzIQ, όχι το απλό κείμενο
label
όχι
Όνομα αναγνώσιμο από άνθρωπο που εμφανίζουν ορισμένα πορτοφόλια. Κωδικοποίησε με ποσοστά τα κενά και τους δεσμευμένους χαρακτήρες (Coffee%20shop)· ένα + είναι κυριολεκτικό συν και όχι κενό
Προσθήκη ενός widget δωρεών Zcash στον ιστότοπό σου:
Οπτική αναλογία
Σκέψου μια φόρμα τραπεζικού εμβάσματος με πεδία για τον αριθμό λογαριασμού, το ποσό και ένα σημείωμα που λέει για ποιον σκοπό είναι η πληρωμή. Η χειροκίνητη συμπλήρωσή της είναι αργή και ένα λανθασμένο ψηφίο στέλνει τα χρήματα σε λάθος μέρος.
Ένα URI αιτήματος πληρωμής είναι αυτή η φόρμα, συμπληρωμένη από το κατάστημα. Ο κωδικός QR είναι μια φωτογραφία της φόρμας. Η κάμερα του τηλεφώνου σου διαβάζει τη φωτογραφία, το πορτοφόλι αντιγράφει κάθε πεδίο στη θέση του και εσύ ελέγχεις τους αριθμούς και υπογράφεις.
Ένας σύνδεσμος σε μια ιστοσελίδα κάνει την ίδια δουλειά. Κάνοντας κλικ σε αυτόν, παραδίδεις τη συμπληρωμένη φόρμα στο πορτοφόλι σου.
Εμβάθυνση
Ένα πραγματικό παράδειγμα
Ακολουθεί ένα παράδειγμα από το ZIP 321, γραμμένο για testnet:
Ζητά 1 ZEC σε μία θωρακισμένη διεύθυνση Sapling. Το σημείωμα αποκωδικοποιείται σε «This is a simple memo.» Το μήνυμα «Thank you for your purchase» είναι το κείμενο που εμφανίζει το πορτοφόλι στην οθόνη.
Κανόνες που ελέγχει ένα πορτοφόλι
Η μορφή του ποσού είναι αυστηρή. Τα amount=0.5 και amount=50 είναι έγκυρα. Τα amount=50,000.00, amount=.5 και amount=0.123456789 δεν είναι έγκυρα: η τελεία είναι το μοναδικό δεκαδικό διαχωριστικό και μπορούν να υπάρχουν το πολύ 8 ψηφία μετά από αυτήν. Κανένα ποσό δεν μπορεί να υπερβαίνει τα 21.000.000 ZEC.
Στο ακατέργαστο URI, το σημείωμα κωδικοποιείται σε base64url και μπορεί να περιέχει έως 512 bytes μετά την αποκωδικοποίηση. Ένα σημείωμα που επισυνάπτεται σε μια διαφανή διεύθυνση καθιστά ολόκληρο το αίτημα άκυρο, επειδή οι διαφανείς διευθύνσεις δεν μπορούν να μεταφέρουν σημειώματα. Οι διευθύνσεις Sprout δεν επιτρέπονται καθόλου και ένα αίτημα που δεν ακολουθεί τη γραμματική του ZIP 321 πρέπει να απορρίπτεται.
Υπάρχουν δύο ακόμη πεδία πέρα από τον παραπάνω πίνακα. Το message είναι μια περιγραφή της πληρωμής που εμφανίζει το πορτοφόλι. Το req-asset προορίζεται για Custom Assets, όπως ορίζονται στο ZIP 227.
Πληρωμή πολλών ατόμων ταυτόχρονα
Κάθε επιπλέον πληρωμή λαμβάνει έναν αριθμό δείκτη που προστίθεται στα ονόματα των παραμέτρων της, για παράδειγμα address.1, amount.1 και memo.1. Το πορτοφόλι δημιουργεί μία συναλλαγή που πληρώνει όλους στη λίστα. Αυτό είναι χρήσιμο για μια ολοκλήρωση αγοράς που διαχωρίζει μια πληρωμή ή για μια ομάδα δωρεών που αποστέλλονται μαζί.
Από πού προήλθε η μορφή
Το Bitcoin έχει δύο παλαιότερα πρότυπα για αιτήματα πληρωμής: το BIP 21, έναν απλό σύνδεσμο για έναν παραλήπτη, και το BIP 70, ένα βαρύτερο πρωτόκολλο για σύνθετες πληρωμές. Το ZIP 321 ακολουθεί μια ενδιάμεση πορεία, μια μορφή συνδέσμου με χώρο για πολλούς παραλήπτες. Η συζήτηση ξεκίνησε το 2018 στο αποθετήριο ZIPs του Zcash, όπου επιλέχθηκε ο αριθμός 321 ως αναφορά στο BIP 21, και το ίδιο το ZIP δημιουργήθηκε τον Αύγουστο του 2020.
Σχετικές σελίδες
Σημειώματα: για ποιον σκοπό χρησιμοποιείται το πεδίο σημειώματος σε ένα αίτημα πληρωμής.