3.1.4. Επιστροφή των παραγγελιών#

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

3.1.4.1. Βίντεο#

3.1.4.2. Πληροφορίες#

Αν δεν είστε εξοικειωμένοι με τη διαδικασία δημιουργίας παραγγελιών, μπορείτε να παρακολουθήσετε το σεμινάριο Taler merchant creating orders.

3.1.4.3. Απαιτήσεις#

Απαιτείται για αυτή τη σειρά σεμιναρίων:

  • Ένα εμπορικό backend Taler
    Αν χρειάζεστε βοήθεια για να χρησιμοποιήσετε το backend του εμπόρου για πρώτη φορά, μπορείτε να παρακολουθήσετε το σεμινάριο Taler merchant introduction.
  • Μια περίπτωση πορτοφολιού Taler
    Οι οδηγίες εγκατάστασης είναι διαθέσιμες στη διεύθυνση https://wallet.taler.net.
  • Λογισμικό διαχείρισης REST API ή σχετικές δεξιότητες προγραμματισμού
    Σε αυτή τη σειρά βίντεο, θα χρησιμοποιήσουμε το δωρεάν λογισμικό Insomnia, το οποίο είναι διαθέσιμο για λήψη από τη διεύθυνση https://insomnia.rest.

3.1.4.4. Demo backend ειδοποίηση#

Μπορείτε να χρησιμοποιήσετε τη δική σας εμπορική υπηρεσία backend ή την online υπηρεσία επίδειξης στη διεύθυνση https://backend.demo.taler.net/instances/sandbox/ για αυτό το σεμινάριο.

3.1.4.5. Περισσότερες σημειώσεις σχετικά με τις επιστροφές των εμπορικών παραγγελιών#

Η επιστροφή χρημάτων στο GNU Taler είναι ένας τρόπος για να «αναιρέσετε» μια πληρωμή. Πρέπει να εγκριθεί από τον έμπορο. Οι επιστροφές μπορούν να αφορούν οποιοδήποτε κλάσμα του αρχικού ποσού που καταβλήθηκε, αλλά δεν μπορούν να υπερβαίνουν την αρχική πληρωμή. Οι επιστροφές χρημάτων είναι χρονικά περιορισμένες και μπορούν να συμβούν μόνο όσο το ανταλλακτήριο κρατάει χρήματα για μια συγκεκριμένη πληρωμή σε καταπίστευμα. Το χρονικό διάστημα κατά το οποίο είναι δυνατή η επιστροφή χρημάτων μπορεί να ελεγχθεί με τον καθορισμό της refund_deadline σε μια παραγγελία. Η προεπιλεγμένη τιμή για αυτή την προθεσμία επιστροφής καθορίζεται στη διαμόρφωση του backend του εμπόρου.

Το frontend μπορεί να δώσει εντολή στο backend του εμπόρου να εξουσιοδοτήσει μια επιστροφή χρημάτων με POST στο τελικό σημείο /private/orders/$ORDER_ID/refund.

Το αντικείμενο JSON του αιτήματος επιστροφής έχει μόνο δύο πεδία:

  • «επιστροφή χρημάτων»: Ποσό που πρέπει να επιστραφεί. Εάν είχε εγκριθεί προηγούμενη επιστροφή χρημάτων για την ίδια παραγγελία, το νέο ποσό πρέπει να είναι υψηλότερο, διαφορετικά η πράξη δεν έχει κανένα αποτέλεσμα. Η τιμή υποδεικνύει το συνολικό ποσό προς επιστροφή, όχι την αύξηση της επιστροφής.

  • «λόγος»: Ανθρώπινα αναγνώσιμη αιτιολόγηση για την επιστροφή χρημάτων. Ο λόγος χρησιμοποιείται μόνο από το Back Office και δεν αποκαλύπτεται στον πελάτη.

Εάν η αίτηση είναι επιτυχής (υποδεικνύεται από τον κωδικό κατάστασης HTTP 200), η απάντηση περιλαμβάνει ένα taler_refund_uri. Το frontend πρέπει να ανακατευθύνει το πρόγραμμα περιήγησης του πελάτη σε αυτό το URL για να επιτρέψει την επεξεργασία της επιστροφής χρημάτων από το πορτοφόλι.

Αυτό το απόσπασμα κώδικα απεικονίζει την επιστροφή χρημάτων:

>>> import requests
>>> refund_req = dict(refund="KUDOS:10",
...                   reason="Customer did not like the product")
>>> requests.post("https://backend.demo.taler.net/instances/sandbox/private/orders/"
...               + order_id + "/refund", json=refund_req,
...               headers={"Authorization": "Bearer secret-token:sandbox"})
<Response [200]>

Σημείωση

Αφού χορηγήσει μια επιστροφή χρημάτων, το δημόσιο σημείο https://example.com/orders/$ORDER_ID θα αλλάξει την αλληλεπίδραση του πορτοφολιού του από αίτημα πληρωμής σε προσφορά επιστροφής χρημάτων. Έτσι, τα frontends μπορούν και πάλι να ανακατευθύνουν τα προγράμματα περιήγησης σε αυτό το τελικό σημείο. Ωστόσο, για να γίνει αυτό, πρέπει να προστεθεί ένα πεδίο h_contract (?h_contract=$H_CONTRACT), καθώς το δημόσιο τελικό σημείο το απαιτεί για να πιστοποιήσει τον πελάτη. Η απαιτούμενη τιμή $H_CONTRACT επιστρέφεται στην απάντηση επιστροφής χρημάτων στο πεδίο h_contract.

3.1.4.6. Περισσότερα σεμινάρια#

Για να δείτε πρόσθετα σεμινάρια, μπορείτε να περιηγηθείτε σε αυτόν τον ιστότοπο ή να επισκεφθείτε τη διεύθυνση https://docs.taler.net για να λάβετε την πιο πρόσφατη τεκμηρίωση σχετικά με τις υπηρεσίες Taler.