Τι αφορούν τα πεδία Unique Transaction ID, Reference number, Unique Payment ID και firstByteOriginalTrans?


Το πεδίο Unique Transaction Id παράγεται από το ERP και χαρακτηρίζει μοναδικά την κάθε κλήση προς το τερματικό (κατά το request, ένα τυχαίο αλφαριθμητικό 32 χαρακτήρων).


{
"serviceData": {
"host": "virtualpos.services.novidea.gr",
"port": "4000",
"ecrid": "08243733"
},
"transactionData": {
"firstByteOriginalTrans": "0",
"uniqueTxnId": "242ead18e5b1463123191be222c21187",
"uniqueIntegratorId": "07f36f361fd544e098108b0c451034e0",
"amount": "1.00",
"signature": "MEUCIGiAjgl2+EUVQWDHf+/tHT6A8Ztvlxjo1O6mUpVdah6vAiEAxb0GtCeRB7YGRxVofBOqhjFMvFcJHCorezso0m1dOZU=",
"providersId": "4",
"uniqueEntryNumber": "",
"uid": "DBAC008DA1C3188AA4D8658C596B0BB4D2B0D254",
"dateTimeProviderSignature": "20240607132616",
"amountPayable": "1972",
"netValue": "1590",
"vatValue": "382",
"totalValue": "1972",
"eftTerminalId": "08899745",
"posId": "08899745",
"ecrId": "08899745"
}


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Το πεδίο RefenceNumber παράγεται από το τερματικό και αποτελείται από αριθμό πακέτου και από τον αριθμό συναλλαγής.


------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Το πεδίο Unique Payment id παράγεται από το τερματικό και είναι αυτό πρέπει να λάβει ο πάροχος , έχει την ακόλουθη μορφή:

Payment Service Provider (Acquirer) code (number of digits AN3);
Batch Number [number of digits ΑΝ6];
Sequence Number [number of digits AN6];
Approval Code [number of digits AN6]

{
"transactionData": {
"msgType": "210",
"paymentSpecs": "P@1",
"authorizationCode": "004011",
"city": "AMAROYSION",
"msgOptions": "0003",
"amountPayable": "100",
"mid": "783608131",
"cardExpiryDate": "261130",
"txnDateTime": "20240314154105",
"responseCodeMessage": "Approved",
"merchantName": "Novidea",
"responseCode": "00",
"uniquePaymentIdECR": "tr2;109;000004;000011;004011",
"referenceNumber": "004011",
"sn": "1640000000",
"msgCode": "00",
"acquirerName": "WORLDLINE/EUROBANK",
"applicationName": "Debit Mastercard",
"batchNumber": "004",
"amount": "1.00",
"address": "AGIOY KONSTANTINOY 50 MAROYSI",
"eftTerminalId": "08243733",
"cardType": "MASTERCARD",
"length": "0367",
"sessionId": "000019",
"numberOfPostdatedInstallments": "0000",
"accountNumber": "5351 42** **** 1221",
"token": "",
"tc": "03000000303000",
"transactionType": "SALE",
"bankId": "026",
"go4moreProducts": "",
"uniquePaymentId": "tr1;109;000000004011;004011",
"tlvData": "TL0022TN00TT1419700101000000",
"phone": "6971234567",
"numberOfInstallments": "",
"posTerminalVersion": "7.0.0",
"aid": ""
},
"error": "null"
}


----------------------------------------------------------------------------------------------------------------------


Το πεδίο firstByteOriginalTrans χρειάζεται μόνο για τις ακυρώσεις (voids).


Το πρωτόκολλο ορίζει οτι: first digit message code of void should be set to first digit of message code of voiding transaction.

So firstByteOriginalTrans is responsible for this mechanic in WEB implementation:


MSG CODE"x2""x2""x"- first digit of original transaction MSG CODE


Should be set to first digit of message code of voiding transaction. Applicable for void and produced from void transactions.” Message code for performing void transaction will be constructed from this value and digit “2”. 


Για συναλλαγές που δεν είναι void αυτό το json field δεν λαμβάνεται υπόψιν.