Έχει υλοποιηθεί η διασύνδεση του ServicePlus 4 με POS. Η διασύνδεση έχει επιτευχθεί μέσω του ενδιάμεσου παρόχου τη Mellon. Η διασύνδεση γίνεται με Web Services με το πρωτόκολλο WebECR.
Τα τερματικά που υποστηρίζονται αναλυτικά είναι:
• Telium Family – ICT220, ICT250, IWL220, IWL250
• Desk Family – Desk 3200, Desk 3500, Desk 2600, Move 2500, Move 2600
• Android Family – DX8000, DX4000
Στο Setup για τη διασύνδεση με POS ορίζουμε τα παρακάτω:
JCC, Attica, Pancreta: https://gbl.mreceipts.com
Nexi: https://nexi.mreceipts.com
NBG: https://www.mreceipts.com
Το κάθε POS έχει οδηγίες για το πως λαμβάνεται ο κωδικός αυτός. Ένα παράδειγμα οδηγιών είναι παρακάτω που είναι από τις σχετικές οδηγίες της ΑΑΔΕ.
Αφού λάβουμε το Redeem code από το POS, το εισάγουμε στο ERP στο σχετικό πεδίο και πατάμε την επιλογή “POS_Redeem_Request”.
Εάν έχουν γίνει σωστά οι διαδικασίες, θα εμφανιστεί σαν απάντηση το ApiKey αυτόματα.
Το ApiKey θα είναι διαφορετικό για κάθε POS.
Στη συνέχεια με την κλήση “Terminals” λαμβάνουμε το TerminalID και το ID του POS τα οποία χρησιμοποιούνται μαζί με το ApiKey στις επόμενες επικοινωνίες με το POS.
Για κάθε POS που έχουμε πρέπει να δημιουργήσουμε έναν αντίστοιχο τρόπο πληρωμής στην εφαρμογή και να βάλουμε στα σχετικά πεδία τις πληροφορίες για το POS.
Έτσι όταν επιλέγουμε έναν τρόπο πληρωμής με κάποιο POS, η εφαρμογή γνωρίζει τις πληροφορίες που πρέπει να στείλει στο POS για να γίνει η πληρωμή.
Κατά τη διαδικασία μιας είσπραξης είτε από τιμολόγηση είτε από ανεξάρτητη είσπραξη, όταν δηλώσουμε ότι κάποιο ποσό είναι να πληρωθεί μέσω POS τότε από το TAB “POS” ξεκινάμε την επικοινωνία με το POS για να πραγματοποιηθεί η πληρωμή.
Καταρχάς επιλέγουμε το “Αποστολή σε POS_Παρόχου”. Με τη διαδικασία αυτή συνδεόμαστε στον πάροχο τιμολόγησης για να πάρουμε την απαραίτητη υπογραφή για να μπορέσει να ενεργοποιηθεί το POS.
Μετά την επιτυχή επικοινωνία με τον πάροχο, εμφανίζονται τα πεδία “Input” και “Signature” τα οποία χρησιμοποιούνται στη συνέχεια στην επικοινωνία με τη Mellon.
Αφού ληφθούν οι πληροφορίες από τον πάροχο, το πρόγραμμα καλεί το σχετικό WebService στο WebECR της ΜΕΛΛΟΝ το οποίο με τη σειρά του επικοινωνεί με το POS. Ταυτόχρονα πραγματοποιούνται οι επικοινωνίες με την τράπεζα και επιστρέφεται το αποτέλεσμα της πληρωμής το οποίο εμφανίζεται στην οθόνη του χρήστη.
Το αποτέλεσμα μπορεί να είναι θετικό, οπότε ολοκληρώνεται η συναλλαγή ή αν υπάρχει κάποιο πρόβλημα είτε στη συναλλαγή είτε στην επικοινωνία το βλέπουμε στο POS_Status.
Εάν δεν ολοκληρωθεί η πληρωμή, ο χρήστης πρέπει να επιλέξει να αλλάξει τον τρόπο πληρωμής για να ολοκληρώσει την ενέργεια στην εφαρμογή. H απάντηση αποτελείται από δυο πεδία το “Intent status” και το “Intent result” τα οποία μπορεί να έχουν τις παρακάτω τιμές.
Intent status:
1: PENDING - Intent has been registered to the backend and is pending to be sent to the device
2: SENT - Intent has been sent to the device
3: COMPLETED - Intent has been successfully completed by the device and has registered the results
Intent result:
1: APPROVED - The transaction has been completed and approved by the authorization system
2: DECLINED - The transaction has been completed and declined by the authorization system
3: CANCELLED - The transaction has been cancelled by the POS user before reaching completion
4: FAILED - The transaction has failed to complete
5: UNKNOWN - The transaction result is unknown. Only possible if the device hasn't responded with results 13 / 26
6: BUSY - The transaction has failed because the POS is currently unavailable for transactions (either processing another transaction or under maintenance)
7: MAX_TRANSACTIONS - The POS device has reached its transaction limit for the specific batch. Batch closing should be performed on the device before continuing transactions.
Η πλήρης απάντηση της κάθε ενέργειας με το POS καταγράφεται μέσα στην ταμειακή εγγραφή και μπορεί να ελεγχθεί εάν χρειαστεί από τον χρήστη.
Υπάρχουν τρεις ακόμη διαδικασίες σχετικές με τις πληρωμές μέσω καρτών και POS.
Η διαδικασία Ακύρωσης μια πληρωμής ξεκινάει από την εφαρμογή. Στο το μενού «Ηλεκτρονικά Βιβλία» -> Έλεγχος δημιουργίας σύνοψης ταμειακών.
Θα βρούμε την ακύρωση (Void) κάποιας ταμειακής εγγραφής που είχε γίνει με POS. Επιλέγουμε από την λίστα την εγγραφή που θέλουμε να ακυρώσουμε και πατάμε τη σχετική επιλογή “POS_Void”.
Η διαδικασία αυτή είναι αντίθετη με την είσπραξη. Δηλαδή εκδίδουμε ένα παραστατικό επιστροφής και ακολουθούμε τις διαδικασίες όπως ακριβώς της πληρωμής. Επιλέγουμε από το POS_TransactionType την επιλογή POS_Επιστροφή / POS_refund.
Υπάρχει και μια τρίτη ενέργεια η οποία εκτελείται για να ενημερωθεί η εφαρμογή με το Status κάποιας πληρωμής που εκκρεμεί π.χ. Η πληρωμή εστάλη από την εφαρμογή, την παράλαβε το POS αλλά κατά την διαδικασία επικοινωνίας με την τράπεζα διεκόπη η επικοινωνία και δεν ήρθε η απάντηση στην εφαρμογή.
Σε περίπτωση που μια κίνηση πληρωμής δεν ολοκληρωθεί, έχουμε τη δυνατότητα εκ των υστέρων να ζητήσουμε από το POS ενημέρωση της συγκεκριμένης εγγραφής.
Αυτό μπορεί να γίνει με δυο τρόπους. Ο πρώτος γίνεται από την οθόνη διαχείρισης των ταμειακών εγγραφών, όπου υπάρχει η σχετική επιλογή
Με τη διαδικασία αυτή ζητείται μόνο η συγκεκριμένη εγγραφή που έχουμε επιλέξει στη λίστα.
Υπάρχει η δυνατότητα επίσης να ζητήσουμε όλες τις εγγραφές μιας περιόδου και στη λίστα που θα εμφανιστεί να επιλέξουμε την εγγραφή που θέλουμε να ενημερώσουμε.
Στην περίπτωση αυτή με την ενέργεια ‘POS_GetΤransactionΙntent’ λαμβάνουμε όλες τις εκκρεμείς εγγραφές από το POS και από την επιλογή ‘Refresh_ERP_Status’ ενημερώνεται η εφαρμογή με την κατάσταση της πληρωμής.