3.1.5. Κατανόηση των διευθύνσεων URL εκπλήρωσης#

Οι παραγγελίες και τα συμβόλαια Taler πρέπει να περιέχουν είτε ένα fulfillment_url είτε ένα fulfillment_message, τα οποία χρησιμοποιούνται από το πορτοφόλι μετά την πληρωμή του συμβολαίου. Αυτό το σεμινάριο εξηγεί πώς να ορίσετε σωστά αυτές τις τιμές.

3.1.5.1. Μήνυμα εκπλήρωσης#

Αυτό το πεδίο είναι απλά ένα μήνυμα που θα εμφανιστεί στο χρήστη από το πορτοφόλι Taler αφού ο χρήστης ολοκληρώσει την αγορά. Μπορεί να οριστεί σε οποιοδήποτε είδος κειμένου UTF-8 και υποτίθεται ότι χρησιμοποιείται ως ένα φιλικό τελικό μήνυμα από τον έμπορο στο τέλος της επιχειρηματικής συναλλαγής.

Σημείωση

Τα πορτοφόλια Whe μαθαίνουν το κείμενο πριν από την πραγματοποίηση της αγοράς, οπότε οι χρήστες θα μπορούσαν να λάβουν το μήνυμα εκπλήρωσης πριν από την πραγματική αγορά. Κατά συνέπεια, δεν θα πρέπει να περιέχει πραγματικά διαπιστευτήρια ή πληροφορίες που ο χρήστης μπορεί να αγοράσει με το συμβόλαιο.

Τα μηνύματα εκπλήρωσης χρησιμοποιούνται όταν ο έμπορος δεν διαθέτει διεύθυνση URL εκπλήρωσης για να ανακατευθύνει τον χρήστη.

3.1.5.2. URLs εκπλήρωσης#

Τα συμβόλαια μπορούν να περιέχουν ένα fulfillment_url αντί για ένα fulfillment_message. Το fulfillment_url πρέπει να παραπέμπει σε έναν ιστότοπο (που αρχίζει με http:// ή https://) και ο χρήστης θα ανακατευθύνεται εκεί αμέσως μετά την ολοκλήρωση της αγοράς και ενδεχομένως αργότερα από τον διάλογο λεπτομερειών αγοράς στο ιστορικό συναλλαγών του πορτοφολιού του.

Οι διευθύνσεις URL εκπλήρωσης εξυπηρετούν έναν δεύτερο σκοπό, ο οποίος είναι ότι χρησιμοποιούνται επίσης για την ανίχνευση επαναγοράς. Συνεπώς, πρέπει να δοθεί προσοχή στη σωστή χρήση των διευθύνσεων URL εκπλήρωσης. Εξηγούμε τα δύο σχετικά σενάρια και τα κίνητρά τους στις επόμενες δύο ενότητες.

3.1.5.3. Ανίχνευση επαναγοράς#

Ένα πιθανό πρόβλημα για τους εμπόρους που πωλούν πρόσβαση σε ψηφιακά άρθρα είναι ότι ένας πελάτης μπορεί να έχει πληρώσει για ένα άρθρο σε μια συσκευή, αλλά μπορεί στη συνέχεια να θέλει να το διαβάσει σε μια άλλη συσκευή, ενδεχομένως σε μια συσκευή που δεν έχει καν εγκατεστημένο πορτοφόλι Taler.

Φυσικά, σε αυτό το σημείο ο πελάτης θα κληθεί αρχικά να πληρώσει ξανά για το άρθρο. Εάν ο πελάτης ανοίξει στη συνέχεια τον σύνδεσμο taler:// στο πορτοφόλι που πλήρωσε προηγουμένως για το άρθρο (για παράδειγμα σαρώνοντας τον κωδικό QR στην επιφάνεια εργασίας με την εφαρμογή Android), το πορτοφόλι θα διεκδικήσει το συμβόλαιο, θα εντοπίσει ότι η διεύθυνση URL εκπλήρωσης είναι πανομοιότυπη με μια διεύθυνση για την οποία έχει ήδη πραγματοποιήσει πληρωμή στο παρελθόν και θα ξεκινήσει την ανακατεύθυνση αγοράς: Εδώ, το πορτοφόλι θα επικοινωνήσει με τον έμπορο και θα επαναλάβει την προηγούμενη πληρωμή, μόνο που αυτή τη φορά θα χρησιμοποιήσει το (τρέχον) αναγνωριστικό συνεδρίας του προγράμματος περιήγησης (μαθαίνει το αναγνωριστικό συνεδρίας από τον κωδικό QR).

Στη συνέχεια, το backend του εμπόρου ενημερώνει το αναγνωριστικό συνεδρίας της υπάρχουσας παραγγελίας με το τρέχον αναγνωριστικό συνεδρίας του προγράμματος περιήγησης. Όταν ελέγχεται η κατάσταση πληρωμής για τη «νέα» απλήρωτη παραγγελία (ή είναι ήδη σε μακροχρόνιο polling), το backend εντοπίζει ότι για το session ID και το fulfillment URL του προγράμματος περιήγησης υπάρχει μια υπάρχουσα πληρωμένη σύμβαση. Στη συνέχεια, λέει στο πρόγραμμα περιήγησης να ανακατευθύνει αμέσως στη διεύθυνση URL εκπλήρωσης όπου είναι διαθέσιμο το ήδη πληρωμένο άρθρο.

Συνεπώς, είναι ζωτικής σημασίας οι έμποροι να χρησιμοποιούν σταθερά την ίδια διεύθυνση URL εκτέλεσης για το ίδιο ψηφιακό προϊόν, όπου είναι επιθυμητή η ανίχνευση επαναγοράς.

Σημείωση

Η αλλαγή του αναγνωριστικού συνόδου σε διαφορετική συσκευή απαιτεί τη συμμετοχή του αρχικού πορτοφολιού που πραγματοποίησε την πληρωμή, περιορίζοντας έτσι εύλογα τη δυνατότητα ευρείας ανταλλαγής των ψηφιακών αγορών.

3.1.5.4. Επιτρέποντας επαναλαμβανόμενες αγορές#

Για να διασφαλιστεί ότι η ανίχνευση επαναγοράς δεν εμποδίζει τους πελάτες να αγοράσουν την ίδια υπηρεσία ή το ίδιο φυσικό αγαθό για δεύτερη φορά, οι έμποροι πρέπει να βεβαιώνονται ότι δεν χρησιμοποιούν την ίδια διεύθυνση URL εκτέλεσης για διαφορετικά προϊόντα ή για φυσικά προϊόντα όπου οι πελάτες ενδέχεται να αγοράσουν το προϊόν επανειλημμένα.

Ένας βολικός τρόπος για να δημιουργήσετε μια μοναδική διεύθυνση URL εκπλήρωσης είναι να ενσωματώσετε το ταυτότητα παραγγελίας στη διεύθυνση URL εκπλήρωσης. Για να ενεργοποιήσετε τη χρήση του αναγνωριστικού παραγγελίας σε μια διεύθυνση URL εκπλήρωσης, ακόμη και αν το πεδίο order_id δεν έχει οριστεί από τον έμπορο κατά την ΠΟΣΤ μιας νέας παραγγελίας (και συνεπώς το πραγματικό αναγνωριστικό παραγγελίας θα επιλεγεί από το backend του εμπόρου), μπορείτε να χρησιμοποιήσετε το κείμενο-θέση ${ORDER_ID} στο fulfillment_url κατά την αποστολή του στο backend του εμπόρου. Το backend του εμπόρου θα αντικαταστήσει αμέσως το ${ORDER_ID} στη διεύθυνση URL με το πραγματικό αναγνωριστικό παραγγελίας (πριν από την τοπική διατήρηση των όρων της σύμβασης).