ECR 2 EFT WEB X64�RUN AS SERVICE INSTALLATION PROCESS - 1155
Cardlink |
Το αρχείο εγκατάστασης JDK 11.0.11 βρίσκεται εδώ
Εγκαθιστούμε το JDK 11.0.11
Στο Administration Manual, Κεφάλαιο 7 μπορεί να γίνει εγκατάσταση διαφορετικού JRE αν επιθυμεί ο πελάτης.
2
Εντοπίζουμε το path του jdk όπως εδώ → C:\Program Files\Java\jdk-11.0.11\bin\server\jvm.dll και το κάνουμε copy. (Το συγκεκριμένο path θα χρησιμοποιηθεί για την εγκατάσταση του Service ECR2EftWEB)
Εύρεση Αρχείου jvm.dll
3
Το αρχείο εγκατάστασης Ecr2EftWEB-6.3.0.exe βρίσκεται εδώ
Εγκατάσταση Ecr2EftWEB
4
Για την εγκατάσταση του Service θα πρέπει να παραμετροποιήσουμε το αρχείο .bat που βρίσκεται εγκατεστημένο στα program files του Sonoma.
Εύρεση Αρχείου → C:\Program Files (x86)\Sonoma\Ecr2EftWEB\winsrv ανοίγουμε με notepad++ το installwinsrv_x64.bat
Διαμόρφωση εγκατάστασης αρχείου .Bat Service
5
ΠΡΙΝ
ΜΕΤΑ
Στο σημείο που γράφει --Jvm=auto ^ το μετατρέπουμε σε --Jvm="C:\Program Files\Java\jdk-11.0.11\bin\server\jvm.dll" ^ (ή το αντίστοιχο path Slide 3 (Εύρεση Αρχείου jvm.dll) εντός των “pathToFile“).
Διαμόρφωση Αρχείου .Bat
6
Στο --StartMode=jvm ^ το μετατρέπουμε σε --StartMode=Jvm ^ (δηλαδή κεφαλαίο το J όπως αρχικοποιείται και παραπάνω)
ΠΡΙΝ
META
Διαμόρφωση Αρχείου .Bat
7
Στο σημείο που γράφει --StopMode=jvm ^ το μετατρέπουμε σε --StopMode=Jvm ^ (με κεφαλαίο δηλαδή και πάλι το J)
ΠΡΙΝ
META
Διαμόρφωση Αρχείου .Bat
8
Κατά την διαδικασία αποθήκευσης θα εμφανίζει ένα μήνυμα σφάλματος “Save Failed”. Είναι φυσιολογικό καθώς για να αποθηκεύσει τις αλλαγές θα χρειαστεί δικαιώματα Admin.
Αποθηκεύουμε ως Admin το αρχείο
Διαμόρφωση Αρχείου .Bat & Εκτέλεση
Με δεξί Click εκτελούμε το αρχείο .bat με admin δικαιώματα (Run as administrator) ώστε να εγκατασταθεί στα Services.
9
Ελέγχουμε στα Services του υπολογιστή ότι έχει γίνει ορθή εγκατάσταση του Ecr2EftWeb Service καθώς και το Status να βρίσκεται σε κατάσταση “Running”.
Έλεγχος Επιτυχής Εγκατάστασης του Ecr2EftWeb Service
10
By Default το Service “ακούει” στην πόρτα 8080.
Σε περίπτωση που θέλουμε να αλλάξουμε την Πόρτα θα πρέπει αν ακολουθήσουμε το παρακάτω βήμα:�Μέσω του file explorer, πληκτρολογούμε στην %programdata% -> επιλέγουμε τον φάκελο Sonoma -> Ecr2EftWeb -> και ανοίγουμε με notepad++ το application.properties.
Στη γραμμή 9 μπορούμε να διαμορφώσουμε την πόρτα του Service.
Αλλαγή Service Port
11
Παραμετροποίηση CORS Policy
z
Σε περίπτωση που αφαιρέσουμε τα CORS Policy δεν θα μπορέσουν να εκτελεστούν request αυτά.
12
Για να μπορέσουμε να προβούμε σε δοκιμαστικό έλεγχο του service, θα χρειαστεί να εγκαταστήσουμε το Insomnia.rest
Με το Insomnia.rest έχουμε την δυνατότητα να εκτελέσουμε post requests της μορφής Json προς το τερματικό μας.
Έλεγχος Ορθής Λειτουργίας Ecr2EftWeb Service
13
1. Επιλέγουμε Δημιουργία New Request
2. Προσθέτουμε το όνομα και στην συνέχεια επιλέγουμε Post και Json. Πατάμε Create.
Δημιουργία Post Request (insomnia.rest)
14
Json Sale Post Message Syntax:
Path address: localhost:8080/sale
{
"serviceData":{
"host":"192.168.2.234",
"port":"4000",
"ecrid":"77400039"
},
"transactionData":{
"firstByteOriginalTrans":"0",
"uniqueTxnId":"WGKWiWNNpfPBWYLFuTSTOvqgmVwHUPLB",
"amount":"0.20"
}
}
Σύνταξη Post Request (insomnia.rest) Τύπου Sale
15
Ecr Documentation with Examples With Receipt Mapping
Transaction Flow Σύνδεση με ΥΠΑΗΕΣ
ΡΟΗ ΠΛΗΡΟΦΟΡΙΑΣ
1. Το ERP στέλνει την συναλλαγή στον ΥΠΑΗΕΣ. O ΥΠΑΗΕΣ υπογράφει με το
private key και επιστρέφει την συναλλαγή hashed στο ERP.
2. To ERP στέλνει την συν γή στο POS με το καθορισμένο πρωτόκολλο. Το
POS:
� I. Αναγνωρίζει τον εκδότη του κλειδιού ΥΠΑΗΕΣ από το ID του.
II. Από τα στοιχεία της συναλλαγής που θα λάβει από το ERP in plain text , επιλέγει αυτά που απαιτούνται προκειμένου να υπολογίσει με το δικό του copy του public key του ΥΠΑΗΕΣ το hash value
III. Υπολογίζει το hash value
IV. Συγκρίνει το παραγόμενο hash value με το hash value που έλαβε
από το ERP. Αν είναι ίδιο, προχωράει στην λήψη έγκρισης. Αν είναι
διαφορετικό, επιστρέφει απόρριψη στο ERP με ανάλογο error code/message.
V. Κάνει τον έλεγχο του payment amount (payment amount <= του
amount (part of hash value calculation plain text στο 2.� II παραπάνω )). Αν η συναλλαγή είναι ετεροχρονισμένη, γίνεται
έλεγχος ημερομηνίας και ώρας από το POS. Αν όλα είναι οκ,
προωθεί την συναλλαγή για έγκριση στον Acquirer.�
3. Όταν λάβει έγκριση, παράγει το unique tx ref βάσει κανόνων 1155
4. Επιστρέφει την απάντηση στο ERP μαζί με το original hash value και το
unique tx ref.
5. Το ERP οριστικοποιεί την πράξη και ενημερώνει τον ΥΠΑΗΕΣ για το τελικό
αποτέλεσμα.
6. Ο ΥΠΑΗΕΣ ενημερώνει την ΑΑΔΕ (myData)
16
Simple Sale Transaction
Path address:
localhost:8080/sale
{
"serviceData": {
"host": "192.168.2.220",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"firstByteOriginalTrans": "0",
"uniqueTxnId": "9252e523e1df4064feeb1c83e43d955c",
"amount": "0.20",
"signature": "MEUCIQC/48bfWKHK6pb2AZU4/A10yNzVeCevgNbgyhN2HBwg9AIgYhMpGGxdYrBFrP9tGQLJpbh3pTcggMXxkoIxjta44cc=",
"providersId": "11",
"uniqueEntryNumber": "400013293980417",
"uid": "22ECB6180B3D0E7770EE235A1A3A7CD2EBE23660",
"dateTimeProviderSignature": "20240521094109",
"amountPayable": "20",
"netValue": "0",
"vatValue": "0",
"totalValue": "20",
"eftTerminalId": "8512288",
"posId": "8512288",
"ecrId": "8512288"
}
}
Json Message Response (from POS)
Json Syntax Messages
{
"transactionData": {
"msgType": "210",
"paymentSpecs": "P@1",
"authorizationCode": "001001",
"city": "AMAROYSION",
"msgOptions": "0003",
"amountPayable": "20",
"mid": "624330972",
"cardExpiryDate": "261130",
"txnDateTime": "20240314154105",
"responseCodeMessage": "Approved",
"responseCode": "00",
"merchantName": "Novidea",
"uniquePaymentIdECR": "tr2;109;000001;000001;001001",
"referenceNumber": "001001",
"sn": "1640000000",
"acquirerName": "WORLDLINE/EUROBANK",
"applicationName": "Debit Mastercard",
"msgCode": "00",
"batchNumber": "001",
"amount": "0.20",
"address": "AGIOY KONSTANTINOY 50 MAROYSI",
"eftTerminalId": "8512288",
"cardType": "MASTERCARD",
"length": "0364",
"sessionId": "008311",
"numberOfPostdatedInstallments": "0000",
"accountNumber": "5351 42** **** 1221",
"tc": "03000000303000",
"token": "",
"transactionType": "101",
"bankId": "026",
"go4moreProducts": "",
"numberOfInstallments": "",
"phone": "6971234567",
"uniquePaymentId": "tr1;109;000000001001;001001",
"tlvData": "TL0022TN00TT1419700101000000",
"posTerminalVersion": "7.0.0",
"aid": ""
},
"error": "null"
}
17
Sale with installments Transaction
Path address:
localhost:8080/sale
Json Message Request:
{
"serviceData": {
"host": "192.168.2.220",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"firstByteOriginalTrans": "0",
"uniqueTxnId": "9252e523e1df4064feeb1c83e43d955c",
"tlvData" : "TL0007NI03005",
"amount": "0.20",
"signature": "MEUCIQC/48bfWKHK6pb2AZU4/A10yNzVeCevgNbgyhN2HBwg9AIgYhMpGGxdYrBFrP9tGQLJpbh3pTcggMXxkoIxjta44cc=",
"providersId": "11",
"uniqueEntryNumber": "400013293980417",
"uid": "22ECB6180B3D0E7770EE235A1A3A7CD2EBE23660",
"dateTimeProviderSignature": "20240521094109",
"amountPayable": "20",
"netValue": "0",
"vatValue": "0",
"totalValue": "20",
"eftTerminalId": "8512288",
"posId": "8512288",
"ecrId": "8512288"
}
}
Json Message Response (from POS)
{
"transactionData": {
"msgType": "210",
"paymentSpecs": "P@1",
"authorizationCode": "001001",
"city": "AMAROYSION",
"msgOptions": "0003",
"amountPayable": "20",
"mid": "624330972",
"cardExpiryDate": "261130",
"txnDateTime": "20240314154105",
"responseCodeMessage": "Approved",
"responseCode": "00",
"merchantName": "Novidea",
"uniquePaymentIdECR": "tr2;109;000001;000001;001001",
"referenceNumber": "001001",
"sn": "1640000000",
"acquirerName": "WORLDLINE/EUROBANK",
"applicationName": "Debit Mastercard",
"msgCode": "00",
"batchNumber": "001",
"amount": "0.20",
"address": "AGIOY KONSTANTINOY 50 MAROYSI",
"eftTerminalId": "8512288",
"cardType": "MASTERCARD",
"length": "0364",
"sessionId": "008311",
"numberOfPostdatedInstallments": "0000",
"accountNumber": "5351 42** **** 1221",
"tc": "03000000303000",
"token": "",
"transactionType": "101",
"bankId": "026",
"go4moreProducts": "",
"numberOfInstallments": "05",
"phone": "6971234567",
"uniquePaymentId": "tr1;109;000000001001;001001",
"tlvData": "TL0025TN03001TT1419700120032831",
"posTerminalVersion": "7.0.0",
"aid": ""
},
"error": "null"
}
Json Syntax Messages
18
Void Transaction
Json Message Response (from POS)
Json Syntax Messages
Path address:
localhost:8080/fullvoid
Json Message Request:
{
"serviceData": {
"host": "192.168.2.220",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"firstByteOriginalTrans": "0",
"uniqueTxnId": "79a221cf33d44f6cf6a941458485adc0",
"uniqueIntegratorId": "3fc45e044ab14ff0b1a2a77a52927149",
"amount": "0.20",
"referenceNumber": "001001",
"signature": "MEYCIQDRjDclKhsrtv0mIvaaMtfKTrBcOds+BfgRWffq3pfyUgIhAMkFCieEGBevMg+zV7+iOdp5IM2xKwfTNW3WBgAeooPt",
"providersId": "11",
"uniqueEntryNumber": "400013293980417",
"uid": "22ECB6180B3D0E7770EE235A1A3A7CD2EBE23660",
"dateTimeProviderSignature": "20240521094109",
"amountPayable": "20",
"netValue": "0",
"vatValue": "0",
"totalValue": "20",
"eftTerminalId": "8512288",
"posId": "8512288",
"ecrId": "8512288"
}
}
{
"transactionData": {
"eftTerminalId": "8512288",
"msgType": "210",
"authorizationCode": "001002",
"amountPayable": "20",
"cardType": "MASTERCARD",
"length": "0189",
"sessionId": "008354",
"accountNumber": "5351 42** **** 1221",
"responseCodeMessage": "Approved",
"txnDateTime": "20240314154105",
"token": "",
"responseCode": "00",
"uniquePaymentIdECR": "tr2;109;000001;000002;001002",
"referenceNumber": "001002",
"uniquePaymentId": "tr1;109;000000001002;001002",
"tlvData": "TL0022TN00TT1419700101000000",
"msgCode": "04",
"batchNumber": "001"
},
"error": "null"
}
19
Refund Transaction
Path address:
localhost:8080/refund
Json Message Request:
{
"serviceData": {
"host": "192.168.2.220",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"firstByteOriginalTrans": "0",
"uniqueTxnId": "367f7ff38ecb466bd83a04fb7ddfd3a4",
"uniqueIntegratorId": "9dfedf4311324647bff848844f3fa0a1",
"amount": "0.25",
"tlvData": "TL0010OR06001001",
"signature": "MEUCIBKXI84w7iCztF6IrV+itu4Y+LtNRxzOan+hWnaVdfYxAiEAkBfU61b5Xm9DUdWbXPM5QDmk4RuzY/wj1CnoSROfzXY=",
"providersId": "11",
"uniqueEntryNumber": "400013293980417",
"uid": "22ECB6180B3D0E7770EE235A1A3A7CD2EBE23660",
"dateTimeProviderSignature": "20240521094109",
"amountPayable": "25",
"netValue": "0",
"vatValue": "0",
"totalValue": "25",
"eftTerminalId": "8512288",
"posId": "8512288",
"ecrId": "8512288"
}
}
Json Message Response (from POS)
{
"transactionData": {
"msgType": "210",
"paymentSpecs": "P@1",
"city": "AMAROYSION",
"authorizationCode": "001002",
"msgOptions": "0003",
"amountPayable": "100",
"mid": "933021054",
"cardExpiryDate": "261130",
"txnDateTime": "20240314154105",
"responseCodeMessage":"Approved",
"merchantName": "Novidea",
"responseCode": "00",
"uniquePaymentIdECR": "tr2;109;000001;000002;001002",
"referenceNumber": "001002",
"sn": "1640000000",
"applicationName": "Debit Mastercard",
"msgCode": "20",
"acquirerName": "WORLDLINE/EUROBANK",
"batchNumber": "001",
"amount": "0.25",
"address": "AGIOY KONSTANTINOY 50 MAROYSI",
"eftTerminalId":"8512288",
"length": "0396",
"cardType": "MASTERCARD",
"sessionId": "008367",
"accountNumber": "5351 42** **** 1221",
"numberOfPostdatedInstallments": "0000",
"token": "",
"tc": "03000000303000",
"transactionType": "201",
"bankId": "026",
"go4moreProducts": "",
"uniquePaymentId": "tr1;109;000000001002;001002",
"phone": "6971234567",
"tlvData": "TL0022TN00TT1419700101000000",
"numberOfInstallments": "",
"posTerminalVersion": "7.0.0",
"aid": ""
},
"error": "null"
}
Json Syntax Messages
20
Normal Preauth
Path address:
localhost:8080/normalpreauth
Json Message Request:
{
"serviceData": {
"host": "192.168.2.220",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"uniqueTxnId": "3e1376be7fbf434dfb5af13f4a18c6b5",
"amount": "30.00"
}
}
Json Message Response (from POS)
{
{
"transactionData": {
"msgType": "110",
"paymentSpecs": "PN1",
"city": "HRAKLEION",
"authorizationCode": "320257",
"msgOptions": "0003",
"mid": "0023839673",
"cardExpiryDate": "2310",
"responseCodeMessage": "Approved",
"responseCode": "00",
"merchantName": "CARDLINK S.A.",
"referenceNumber": "746003",
"sn": "1490204937",
"msgCode": "00",
"applicationName": "",
"acquirerName": " ALPHA BANK/NEXI",
"batchNumber": "000746",
"amount": "30.00",
"address": "ANTYPA MARINOY 41 45 HRAKLEIO",
"eftTerminalId": "8512288",
"cardType": "MASTERCARD",
"length": "0323",
"sessionId": "475295",
"numberOfPostdatedInstallments": "0000",
"accountNumber": "5167 32** **** 8351",
"tc": "1434084BB5889060",
"token": "",
"transactionType": "PRE_AUTH ",
"bankId": "011",
"numberOfInstallments": "00",
"phone": "2106100670",
"tlvData": "TL0025TN03003TT1420221114155648",
"posTerminalVersion": "5.5.0 ",
"aid": ""
},
"error": "null"
}}
Json Syntax Messages
21
Normal Preauth Completion
Path address:
localhost:8080/normalpreauth
Json Message Request:
{
"serviceData": {
"host": "192.168.2.234",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"uniqueTxnId": "3e1376be7fbf434dfb5af13f4a18c6b5",
"amount": "30.00",
"referenceNumber": "001001",
"authorizationCode": "001001",
"uid": "22ECB6180B3D0E7770EE235A1A3A7CD2EBE23660",
"uniqueEntryNumber": "400013293980417",
"dateTimeProviderSignature": "20240521094109",
"amountPayable": "3000",
"netValue": "0",
"vatValue": "0",
"totalValue": "3000",
"posId": "8209062",
"providersId": "11",
"signature": "MEUCIQCUr9dRdXY2DuuKKOnbdO9+Xn4ofMyUzQsg4YjB/BgfmAIgMymiwJplRfL4taWJYrzlTKk0AtcFZWTyjTlV8dFHEyc="
}
}
Json Message Response (from POS)
{
"transactionData": {
"msgType": "110",
"paymentSpecs": "P@1",
"city": "HRAKLEION",
"authorizationCode": "002001",
"msgOptions": "0003",
"amountPayable": "3000",
"mid": "933021054",
"cardExpiryDate": "261130",
"txnDateTime": "20240314154105",
"responseCodeMessage": "Approved",
"merchantName": "CARDLINK S.A",
"responseCode": "00",
"uniquePaymentIdECR": "tr2;109;000002;000001;002001",
"referenceNumber": "002001",
"sn": "1640000000",
"applicationName": "Debit Mastercard",
"msgCode": "80",
"acquirerName": "WORLDLINE/EUROBANK",
"batchNumber": "002",
"amount": "30.00",
"address": "ANTYPA MARINOY 41 45 HRAKLEIO",
"eftTerminalId": "8512288",
"length": "0410",
"cardType": "MASTERCARD",
"sessionId": "008444",
"accountNumber": "5351 42** **** 1221",
"numberOfPostdatedInstallments": "0000",
"token": "",
"tc": "03000000303000",
"transactionType": "PRE AUTH COMPLETION",
"bankId": "026",
"uniquePaymentId": "tr1;109;000000002001;002001",
"phone": "6971234567",
"tlvData": "TL0022TN00TT1419700101000000",
"numberOfInstallments": "",
"posTerminalVersion": "7.0.0",
"aid": ""
},
"error": "null"
}
Json Syntax Messages
22
Reconciliation
Path address:
localhost:8080/reconciliation
Json Message Request:
{
"serviceData":{
"host":"192.168.2.234",
"port":"4000",
"ecrid":"77618446"
},
"transactionData":{
"uniqueTxnId":"WGKWiWNNpfPBWYLFuTSTOvqgmVwHUPLB",
"reconciliationMode" : 0,
"batchNumber" : "000000"
}
}
Json Message Response (from POS)
{
"transactionData": {
"batchTotals": "000",
"msgType": "510",
"eftTerminalId": "77618446",
"length": "0058",
"sessionId": "008425",
"batchOriginalAmount": "0.00",
"batchNetAmount": "0.00",
"responseCodeMessage": "Approved",
"responseCode": "00",
"tlvData": "",
"batchTotalCounter": "2",
"msgCode": "20",
"reconciliationMode": "0",
"batchNumber": "001"
},
"error": "null"
}
Json Syntax Messages
23
Merchant Info
Path address:
localhost:8080/merchantinfo
Json Message Request:
{
"serviceData":{
"host":"192.168.2.223",
"port":"4000",
"ecrid":"8512288"
},
"transactionData":
{}
}
Json Message Response (from POS)
{
"transactionData": {
"vatRegNo": "",
"msgType": "810",
"address": "41-45 Marinou Antipa",
"eftTerminalId": "000077400039",
"town": "Athens",
"postalCode": "00000 ",
"length": "0092",
"sessionId": "000019",
"mcc": "4121",
"responseCode": "00",
"merchantName": "Cardlink Test",
"msgCode": "10"
},
"error": "null"
}
Json Syntax Messages
24
Register Receipt
Path address:
localhost:8080/regreceipt
Json Message Request:
{
"serviceData": {
"host": "192.168.2.228",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"uniqueTxnId": "3e09a3ce327242f48dc872b6b6ea22bd",
"amount": "0.20",
"txnDateTime": "20240521094109",
"operatorNum": "1",
"rcptNum": "1",
"customDataRR": "",
"foodService": "0",
"uid": "22ECB6180B3D0E7770EE235A1A3A7CD2EBE23660",
"dateTimeProviderSignature": "20240521094109",
"amountPayable": "20",
"netValue": "0",
"vatValue": "0",
"totalValue": "20",
"posId": "8209062",
"ecrId": "8209062",
"signature": "MEQCIBj/53OJp22MIBRYix64Zav/ZZWCjx7Q2yTwGjBoLq6SAiAW29xOvKwou20IY3tYpPZvuKSLOkPO5uG3S3jPoKkuow==",
"uniqueEntryNumber": "400013293980417",
"providersId": "11"
}
}
Json Message Response (from POS)
{
"transactionData": {
"length": "0017",
"msgType": "610",
"sessionId": "008523",
"msgCode": "40",
"responseCode": "00"
},
"error": "null"
}
Json Syntax Messages
25
Resend All - Start (Step 1)
Path address:
localhost:8080/resendall/start
Json Message Request:
{
"serviceData": {
"host": "192.168.2.228",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"dateTimeRA": "20240521094109",
"ecrId": "8512288"
}
}
Json Message Response (from POS)
Json Syntax Messages
{
"transactionData": {
"totalTxnsCount": "000001",
"msgType": "650",
"length": "0024",
"resendStatus": "00",
"sessionId": "008554",
"msgCode": "00"
},
"error": "null"
}
26
Json Syntax Messages
Resend All - Next (Step 2)
Path address:
localhost:8080/resendall/next
Json Message Request:
{
"serviceData": {
"host": "192.168.2.228",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"dateTimeRA": "20240521094109",
"ecrId": "8512288",
"resendSessionId": "008554"
}
}
Json Message Response (from POS)
{
"transactionData": {
"amount": "1.00",
"msgType": "650",
"authorizationCode": "002002",
"signature": "MEQCIBj/53OJp22MIBRYix64Zav/ZZWCjx7Q2yTwGjBoLq6SAiAW
29xOvKwou20IY3tYpPZvuKSLOkPO5uG3S3jPoKkuow==",
"length": "0212",
"sessionId": "008560",
"responseCodeMessage": "Approved",
"txnDateTime": "19700101000000",
"responseCode": "00",
"uniquePaymentIdECR": "tr2;109;000002;000002;002002",
"ecrId": "",
"uniquePaymentId": "tr1;109;000000002002;002002",
"resendStatus": "02",
"msgCode": "10",
"ecrToken": ""
},
"error": "null"
}
27
Json Syntax Messages
Resend All - Finish (Step 3)
Path address:
localhost:8080/resendall/finish
Json Message Request:
{
"serviceData": {
"host": "192.168.2.228",
"port": "4000",
"ecrid": "8512288"
},
"transactionData": {
"dateTimeRA": "20240521094109",
"ecrId": "8512288",
"resendSessionId": "008566"
}
}
Json Message Response (from POS)
{
"transactionData": {
"ecrId": "8209062",
"msgType": "650",
"length": "0025",
"resendStatus": "00",
"sessionId": "008569",
"msgCode": "20"
},
"error": "null"
}
28
Πιθανά Προβλήματα - Firewall
Σε περίπτωση που το Service ενώ είναι σε κατάσταση Running και το τερματικό δεν λαμβάνει κάποιο request, θα πρέπει να γίνει έλεγχος αν υπάρχει exception στο firewall. Αν δεν υπάρχει ακολουθούμε τα παρακάτω βήματα
Βήμα 1. Αναζήτηση από το windows search “ Allow an app through windows firewall”.
Βήμα 2. Επιλέγουμε Change Settings.
Βήμα 3. Αν δεν υπάρχει στην λίστα το “Java(TM) Platform SE Binary” με τικαρισμένο private και Public, τότε επιλέγουμε “Allow another app…”
29
Πιθανά Προβλήματα - Firewall
Βήμα 4. Επιλέγουμε Browse ώστε να αναζητήσουμε το java.exe αρχείο apo to JDK 11.0.11 που εγκαταστήσαμε στην αρχή.
Βήμα 5. Βρίσκουμε το Path του JDK 11.0.11 και επιλέγουμε από το φάκελο bin το αρχείο Java.exe.
30
Πιθανά Προβλήματα - Firewall
Βήμα 6. Επιλέγουμε Add.
Βήμα 7. Επιβεβαιώνουμε ότι το private και το public είναι τικαρισμένο.
31
https://docs.google.com/document/d/1184YdeYYlalDHuOloes50nRg8_N0Pov9/edit?usp=sharing&ouid=107184250549508406083&rtpof=true&sd=true
Links
32
ECR 2 EFT WEB REMOVE BASKET DB
Cardlink |
Ανοίγουμε τα Services του υπολογιστή και επιλέγουμε να σταματήσουμε το Ecr2EftWeb Service. Το Status θα είναι κενό.
Προσωρινή Παύση του Ecr2EftWeb Service
34
Για την αφαίρεση του basket θα πρέπει να ακολουθήσουμε το παρακάτω βήμα:�Μέσω του file explorer, πληκτρολογούμε στο file path %programdata% -> επιλέγουμε τον φάκελο Sonoma -> Ecr2EftWeb -> και ανοίγουμε με notepad++ το application.properties.
Διαγράφουμε τις γραμμές από 1 έως 5:
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:${ProgramData}/Sonoma/Ecr2EftWEB/basketdb/ecr2eftweb;AUTO_SERVER=TRUE;
spring.datasource.username=ecr2eftweb
spring.datasource.password=ecr2eftweb
spring.jpa.hibernate.ddl-auto=update
Αφαίρεση Βάσης Δεδομένων Basket ECR 2 EFT Web
35
Τελική Μορφή Αρχείου Application.properties
Προσθέτουμε τα πεδία CORS Policy Configuration
allowOrigins.paths=*
allowOrigins.enabled=true
allowOrigins.mapping=/**
Έπειτα αποθηκεύουμε το αρχείο.
36
Ανοίγουμε τα Services του υπολογιστή και επιλέγουμε να εκκινήσουμε το Ecr2EftWeb Service. Το Status θα είναι “Running”.
Εκκίνηση του Ecr2EftWeb Service
37
Ενοποίηση Απόδειξης Ταμειακού & Τερματικού (Pos)
Cardlink |
Ενοποίηση Απόδειξης – Τι κερδίζω;
Σκοπός του Project είναι η μείωση εκτύπωσης ενός μεγάλου μέρους των αποδείξεων από το τερματικό (Pos).
Ποιο είναι το όφελος;
39
40