MageSentinel

Ειδοποιήσεις πληρωμής στο Magento: παραγγελίες κολλημένες σε «pending payment»

Μια από τις πιο μπερδεμένες αποτυχίες checkout μοιάζει με επιτυχία. Ο πελάτης πληρώνει, ο πάροχος παίρνει τα χρήματα, και η παραγγελία στο Magento μένει σε «pending payment» — ή ακυρώνεται αυτόματα ώρες μετά.

Όλα τα άρθρα2 λεπτά ανάγνωσης

Πληρωμή με κάρτα σε τερματικό

Πώς λειτουργεί η επιβεβαίωση πληρωμής

Τα περισσότερα σύγχρονα modules πληρωμών δεν βασίζονται μόνο στην επιστροφή του browser του πελάτη στο κατάστημα. Ο πάροχος στέλνει ειδοποίηση server-to-server (webhook) σε ένα endpoint του καταστήματος, και το module ενημερώνει την παραγγελία — άλλοτε αμέσως, άλλοτε μέσα από ουρά που επεξεργάζεται το cron.

Αυτό σημαίνει ότι πρέπει να δουλεύουν τρία πράγματα: ο πάροχος φτάνει στο endpoint, το κατάστημα δέχεται το αίτημα, και το cron και οι εργασίες παρασκηνίου τρέχουν πραγματικά.

Πού χαλάει

Ένα firewall, ένας κανόνας WAF ή basic auth στο κατάστημα μπλοκάρει τα αιτήματα του παρόχου. Το URL ειδοποιήσεων δείχνει ακόμη σε παλιό domain μετά από μετάβαση. Ένα ληγμένο πιστοποιητικό κάνει τον πάροχο να αρνείται την αποστολή. Ή το cron σταμάτησε, οπότε οι ειδοποιήσεις φτάνουν αλλά δεν επεξεργάζονται ποτέ.

Οι pending παραγγελίες που ακυρώνονται αυτόματα το χειροτερεύουν: ο πελάτης χρεώθηκε, και μετά παίρνει email ακύρωσης.

Εντοπισμός και πρόληψη

Στον πίνακα του παρόχου, δείτε τις πρόσφατες αποστολές ειδοποιήσεων: οι αποτυχίες συνήθως δείχνουν τον κωδικό HTTP που επέστρεψε το κατάστημα. Στο Magento, ελέγξτε το log του module και αν έτρεξαν οι εργασίες cron του.

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

Ελέγξτε το δικό σας κατάστημα τώρα με το δωρεάν τεστ checkout Magento: περνά το checkout σε πραγματικό browser, Luma ή Hyvä, και δείχνει το βήμα όπου σταματά.

Για παραγγελίες που μένουν σε Pending Payment, δείτε το Magento: παραγγελίες κολλημένες σε pending payment.

Για ελληνικές τράπεζες και redirect καρτών, διαβάστε το αποτυχίες redirect καρτών σε ελληνικά e-shop.

Συχνές ερωτήσεις

Τι είναι ένα webhook πληρωμής στο Magento;

Ένα μήνυμα server-to-server από τον πάροχο πληρωμών που λέει στο Magento ότι μια πληρωμή πέτυχε, απέτυχε ή επιστράφηκε, ώστε να αλλάξει η κατάσταση της παραγγελίας.

Γιατί δεν φτάνουν τα webhooks στο Magento;

Τα μπλοκάρει firewall ή κανόνας κατά των bots, το URL στις ρυθμίσεις του παρόχου είναι παλιό, ή το μυστικό υπογραφής άλλαξε από τη μία πλευρά.

Πώς βρίσκω αποτυχημένες ειδοποιήσεις πληρωμής;

Συγκρίνετε τις πληρωμένες συναλλαγές στο dashboard του παρόχου με τις παραγγελίες που μένουν pending, και δείτε το log παράδοσης webhooks του παρόχου και το var/log/exception.log.