Πληρωμές με κάρτα σε ελληνικά e-shops: πού χαλάει το redirect της τράπεζας
Τα περισσότερα ελληνικά e-shops δέχονται κάρτες με redirect: ο πελάτης φεύγει από το κατάστημα για μια σελίδα πληρωμής της τράπεζας ή ενός παρόχου πληρωμών, εγκρίνει το 3-D Secure στην εφαρμογή της τράπεζάς του, και επιστρέφει. Κάθε βήμα είναι ένα σημείο όπου μπορεί να χαθεί παραγγελία, και τα περισσότερα αποτυγχάνουν σιωπηλά.

Η διαδρομή
Το κατάστημα δημιουργεί παραγγελία (pending payment σε WooCommerce και Magento) και στέλνει τον πελάτη στη σελίδα πληρωμής με το ποσό και έναν κωδικό παραγγελίας. Ο πελάτης βάζει την κάρτα, εγκρίνει το 3-D Secure στην εφαρμογή της τράπεζας, και η σελίδα πληρωμής τον γυρίζει σε ένα return URL του καταστήματος. Ξεχωριστά, ο πάροχος στέλνει ειδοποίηση server-to-server που το κατάστημα χρησιμοποιεί για να επιβεβαιώσει την πληρωμή.
Το plugin ή module του παρόχου, ή ενός τρίτου, χειρίζεται και τις δύο άκρες. Μια αλλαγή σε οποιαδήποτε πλευρά, κατάστημα ή πάροχο, μπορεί να χαλάσει ένα κομμάτι ενώ τα υπόλοιπα φαίνονται κανονικά.
Πού χαλάει
Στο ίδιο το redirect: η σελίδα πληρωμής απορρίπτει το αίτημα επειδή το merchant ID, το κοινό μυστικό ή το επιτρεπόμενο return URL δεν ταιριάζουν, συχνά μετά από αλλαγή domain ή μετάβαση από στοιχεία δοκιμών σε παραγωγής. Ο πελάτης βλέπει σφάλμα στη σελίδα της τράπεζας, όχι στη δική σας.
Στην επιστροφή: ο πελάτης γυρίζει με POST από το domain του παρόχου, και ένα cookie συνεδρίας με αυστηρούς κανόνες SameSite δεν στέλνεται, οπότε το κατάστημα δείχνει άδειο καλάθι ή σελίδα σύνδεσης ενώ η πληρωμή πέτυχε. Η cache σελίδων ή ένα firewall στο return URL έχουν το ίδιο αποτέλεσμα.
Στην ειδοποίηση: μπλοκάρεται από firewall ή κανόνα κατά των bots, δείχνει σε παλιό URL, ή αποτυγχάνει στον έλεγχο υπογραφής, οπότε η παραγγελία μένει pending ενώ τα χρήματα χρεώθηκαν. Τότε οι πελάτες γράφουν ρωτώντας πού είναι η παραγγελία τους.
Δόσεις, ποσά και νόμισμα
Οι δόσεις στέλνονται με το αίτημα και περιορίζονται από τη σύμβαση του εμπόρου· μια ρύθμιση του plugin που προσφέρει περισσότερες δόσεις από όσες επιτρέπει η σύμβαση μπορεί να κάνει τη σελίδα πληρωμής να απορρίπτει το αίτημα μόνο για κάποια καλάθια. Τα ποσά πρέπει να στέλνονται στη μορφή που περιμένει ο πάροχος, και η στρογγυλοποίηση τιμών με ΦΠΑ μπορεί να δώσει ασυμφωνία σε συγκεκριμένα σύνολα.
Πώς το δοκιμάζετε
Χρησιμοποιείτε το περιβάλλον δοκιμών και τις δοκιμαστικές κάρτες του παρόχου σε κάθε αλλαγή, και μετά από τη μετάβαση σε παραγωγή μία μικρή πραγματική πληρωμή με πραγματική κάρτα, με επιστροφή χρημάτων την ίδια μέρα. Παρακολουθείτε το ποσοστό παραγγελιών που μένουν σε pending payment και συγκρίνετε τις πληρωμένες συναλλαγές στο dashboard του παρόχου με τις παραγγελίες στο κατάστημα. Τα άρθρα για payment gateway που αποτυγχάνει και παραγγελίες Magento σε pending payment καλύπτουν κάθε πλατφόρμα αναλυτικά.
Ένας εξωτερικός έλεγχος που φτάνει τακτικά ως τη σελίδα πληρωμής σάς λέει πότε χάλασε το redirect. Ο δωρεάν έλεγχος checkout WooCommerce και το τεστ checkout Magento περνούν το checkout ως εκείνο το σημείο σε πραγματικό browser.
Συχνές ερωτήσεις
Γιατί ο πελάτης βλέπει άδειο καλάθι μετά την πληρωμή;
Η επιστροφή από τη σελίδα πληρωμής δεν μετέφερε τη συνεδρία του καταστήματος, συχνά λόγω ρυθμίσεων SameSite στα cookies, cache ή firewall στο return URL. Ελέγξτε στο dashboard του παρόχου αν πέρασε η πληρωμή.
Γιατί χρεώθηκε η κάρτα αλλά η παραγγελία είναι ακόμη pending;
Η ειδοποίηση server-to-server του παρόχου δεν έφτασε στο κατάστημα ή απέτυχε στους ελέγχους. Δείτε το callback URL, τους κανόνες firewall και το log του plugin.
Πώς δοκιμάζω πληρωμές με κάρτα χωρίς να χρεώνω πελάτες;
Χρησιμοποιήστε το περιβάλλον δοκιμών και τις δοκιμαστικές κάρτες του παρόχου για τις αλλαγές, και μετά τη μετάβαση σε παραγωγή κάντε μία μικρή πραγματική πληρωμή εσείς και επιστρέψτε τα χρήματα.