Payment API: ασφαλής διαχείριση επαναλήψεων και καθυστερήσεων
Ένα payment API πρέπει να διατηρεί συνεπή την παραγγελία ακόμη και όταν η απάντηση χάνεται. Η ίδια ενέργεια μπορεί να σταλεί ξανά από τον πελάτη, τον διακομιστή ή μια διαδικασία ανάκτησης. Η σωστή προσέγγιση διαχωρίζει την επανάληψη της επικοινωνίας από τη δημιουργία μιας πραγματικά νέας οικονομικής πράξης.

Δώστε ταυτότητα στην πρόθεση πληρωμής
Πριν από την πρώτη αίτηση, δημιουργήστε εσωτερική αναφορά για τη συγκεκριμένη πρόθεση: ποια παραγγελία, ποιο ποσό και ποιο νόμισμα αφορά. Το αναγνωριστικό πρέπει να παραμένει συνδεδεμένο με αμετάβλητες παραμέτρους. Αν ο πελάτης αλλάξει το περιεχόμενο της αγοράς, εξετάστε αν πρόκειται για νέα πρόθεση και όχι για απλή επανάληψη της προηγούμενης αίτησης.
Μια επιχείρηση που πουλά συνεδρίες μπορεί να δεχτεί δύο πατήματα στο κουμπί λόγω αργού δικτύου. Αυτά δεν σημαίνουν δύο συνεδρίες. Αντίθετα, η προσθήκη δεύτερης συνεδρίας μετά την αρχική συμφωνία είναι διαφορετική αγορά. Ο διακομιστής χρειάζεται αρκετή πληροφορία για να ξεχωρίζει τις περιπτώσεις, χωρίς να βασίζεται μόνο στην εμφάνιση ενός απενεργοποιημένου κουμπιού στον πελάτη.
Εφαρμόστε τον πραγματικό συμβατικό ορισμό του API
Η τεκμηρίωση PaymentIntents της Stripe περιγράφει το δικό της αντικείμενο πληρωμής. Άλλες διεπαφές μπορεί να έχουν διαφορετικά πεδία, κανόνες επανάληψης και τρόπους αναζήτησης. Ελέγξτε τη διεπαφή που καλεί πράγματι η εφαρμογή σας. Μην μεταφέρετε ονόματα κεφαλίδων ή υποθέσεις από ένα προϊόν σε άλλο μόνο επειδή και τα δύο χειρίζονται πληρωμές.
Στην αρχιτεκτονική με OrsunPay, καταγράψτε τα όρια μεταξύ εφαρμογής, λογισμικού ενορχήστρωσης και παρόχου. Ο έμπορος διατηρεί δικούς του λογαριασμούς και συμβάσεις, ενώ η χρέωση λογισμικού είναι χωριστή. Για κάθε όριο πρέπει να γνωρίζετε ποιος δημιουργεί αναφορά, ποιος ελέγχει επανάληψη και ποια πηγή παρέχει την κατάσταση που θεωρείται έγκυρη για την επόμενη ενέργεια.
Αντιμετωπίστε την απουσία απάντησης ως άγνωστο αποτέλεσμα
Ένα χρονικό όριο μπορεί να εμφανιστεί αφού ο εξωτερικός πάροχος αποδεχτεί την πράξη. Η άμεση δημιουργία νέας πληρωμής μπορεί επομένως να προσθέσει δεύτερη οικονομική προσπάθεια. Ελέγξτε την υπάρχουσα αναφορά ή χρησιμοποιήστε τον ασφαλή μηχανισμό επανάληψης που προβλέπει η συγκεκριμένη διεπαφή. Μια επιβεβαιωμένη απόρριψη χρειάζεται διαφορετικό χειρισμό από μια άγνωστη κατάσταση.
Στην οθόνη εξηγήστε ότι γίνεται έλεγχος και δώστε αναφορά επικοινωνίας. Ορίστε ποιος παρακολουθεί τις εκκρεμότητες και πότε ξεκινά ανθρώπινη διερεύνηση. Αυτό το όριο είναι εσωτερικός κανόνας εξυπηρέτησης, όχι εγγυημένος χρόνος του παρόχου. Μην αποκαλύπτετε ανεπεξέργαστες τεχνικές απαντήσεις ή μυστικά στον πελάτη για να φανεί πιο αναλυτικό το μήνυμα.
Συντονίστε απάντηση και webhook
Το webhook μπορεί να φτάσει πριν από τη σύγχρονη απάντηση ή αρκετά αργότερα. Και οι δύο διαδρομές πρέπει να ενημερώνουν την ίδια προσπάθεια με τους ίδιους κανόνες μετάβασης. Ελέγξτε υπογραφή, λογαριασμό, ποσό και νόμισμα πριν αλλάξετε την οικονομική κατάσταση. Η τεκμηρίωση Stripe για webhooks περιγράφει τον δικό της τρόπο επαλήθευσης.
Τα μηνύματα OrsunPay χρησιμοποιούν τον δικό τους μηχανισμό HMAC και δεν είναι το ίδιο πρωτόκολλο με τα απευθείας μηνύματα Stripe. Διαχωρίστε τις ρυθμίσεις των πηγών. Επίσης, αποσυνδέστε την επιβεβαίωση από την παράδοση: αν η αποστολή πρόσβασης αποτύχει, επαναλάβετε αυτή την εργασία χωρίς νέα χρέωση. Το αρχείο της πράξης πρέπει να δείχνει καθαρά ποιο στάδιο απέτυχε.
Δοκιμάστε ταυτόχρονες ενέργειες
Δύο διεργασίες μπορούν να διαβάσουν ταυτόχρονα ότι μια πράξη δεν υπάρχει ακόμη. Χρειάζονται κατάλληλοι περιορισμοί και ατομικές μεταβολές στο αποθηκευτικό σύστημα, όχι μόνο ένας έλεγχος στη μνήμη. Η συγκεκριμένη τεχνική εξαρτάται από την αρχιτεκτονική, αλλά το αποτέλεσμα πρέπει να παραμένει μια εξηγήσιμη επιχειρησιακή ενέργεια.
- Στείλτε ταυτόχρονα δύο αιτήσεις για την ίδια πρόθεση.
- Χάστε την απάντηση μετά την εξωτερική αποδοχή.
- Παραλάβετε επιβεβαίωση πριν ολοκληρωθεί η αρχική αίτηση.
- Επαναλάβετε την παράδοση χωρίς να επαναλάβετε τη χρέωση.
Διατηρήστε στοιχεία για καθημερινή διερεύνηση
Συνδέστε την παραγγελία με όλες τις προσπάθειες και τις εξωτερικές αναφορές τους. Μην διαγράφετε αποτυχημένες προσπάθειες μόνο για πιο καθαρή οθόνη. Βοηθούν την υποστήριξη να εξηγήσει γιατί υπήρξε επανάληψη και ποια από τις προσπάθειες ολοκληρώθηκε. Κρατήστε μόνο τα αναγκαία τεχνικά στοιχεία, χωρίς περιττή αποθήκευση ευαίσθητων δεδομένων.
Ελέγχετε τις άγνωστες καταστάσεις σε τακτική βάση και τεκμηριώνετε κάθε διόρθωση. Μην θεωρείτε ότι η OrsunPay προσφέρει αυτόματο πέρασμα σε δεύτερο πάροχο ή δρομολόγηση βάσει κόστους. Πρώτα εξασφαλίστε προβλέψιμη ανάκτηση σε μια διαδρομή. Μετά αξιολογήστε πρόσθετες συνδέσεις με σαφή ευθύνη για τις επαναλήψεις και το τελικό αποτέλεσμα.
Εξερευνήστε την OrsunPay
Μιλήστε με την ομάδα μαςΠηγές
Διαβάστε επίσης

Payment link στην Ελλάδα: οδηγός για σωστές πληρωμές
Πώς λειτουργεί ένα payment link, τι να ελέγξετε πριν το στείλετε και πώς να συνδέσετε την επιβεβαίωση πληρωμής με την παραγγελία σας.
Διαβάστε τον οδηγό
Συμφωνία πληρωμών: καθημερινός έλεγχος συναλλαγών και παραγγελιών
Η συμφωνία πληρωμών ξεκινά από μια απλή ερώτηση: μπορεί η ομάδα να εξηγήσει τη σχέση κάθε παραγγελίας με τις αντίστοιχες προσπάθειες και το επιβεβαιωμένο αποτέλεσμα; Η καθημερινή εργασία δεν χρειάζ.
Διαβάστε τον οδηγό
Stripe webhook: επαλήθευση και ενημέρωση παραγγελιών
Η λήψη ενός Stripe webhook δεν αρκεί για να θεωρηθεί μια παραγγελία πληρωμένη.
Διαβάστε τον οδηγό