ProvIlyda.getPOSSignature (invoice, String, Int32) Method
The results of this method will be used at VivaWalletPOS.newSale.
Parameters
- inv
- invoice
Invoice Object, see invoice
- terminalID
- string
The POS terminal ID. You can get the available POS Terminals using the VivaWalletPOS.getAvailablePOS
- posProtocol
- int
Default Value 1
The POS protocol that it will be used for generating the signature.
Possible values:
DEFAULT: 1
Mellon Group: 2
Return Value
Dictionary<string, string>
Returns a dictionary containing the necessary data that will be used in the Transaction object.
Specifically, the fields Transaction.aadeProviderSignatureData (dictionary key signedContent) and Transaction.aadeProviderSignature (dictionary key signature) will be filled.
The Dictionary contains the following values:
Specifically, the fields Transaction.aadeProviderSignatureData (dictionary key signedContent) and Transaction.aadeProviderSignature (dictionary key signature) will be filled.
The Dictionary contains the following values:
| Field | Value / Description |
|---|---|
| invoiceMarking | |
| invoiceSignatures[0].amount | 248 |
| invoiceSignatures[0].netAmount | 200 |
| invoiceSignatures[0].vatAmount | 48 |
| invoiceSignatures[0].grossAmount | 248 |
| invoiceSignatures[0].uid | 555777003-2026-01-01-0-1.1-IZ-f520c7014af54a4689d20a8ae123456d |
| invoiceSignatures[0].uidHash | B6A70F9F1CCE52E6C6F7E5C40951F240DE0000CC |
| invoiceSignatures[0].terminalId | 12345678 |
| invoiceSignatures[0].signature | MEUCIQCArr07MPkylqQ/9w7f0hamjyGC485lwupdi0Ac It is used on Transaction.aadeProviderSignature for Viva Wallet POS It is used on ProviderData.Signature for Mellon Group POS |
| invoiceSignatures[0].signingAuthor | 008 |
| invoiceSignatures[0].signedContent | B6A70F9F1CCE52E6C6F7E5C40951F240DE0000CC;;20260202140021;24800;20000;4800;24800;12345678 It is used on Transaction.aadeProviderSignatureData for Viva Wallet POS It is used on ProviderData for Mellon Group POS Important: For MellonGroup, these data needs to brake as follows:
string paymentData = res("invoiceSignatures[0].signedContent");
string[] payData = paymentData.Split(";");
MellonGroupPOS.posTransaction tra = mlg.newTransaction;
// more code here
tra.ProviderData.Uid = payData[0];
tra.ProviderData.SignatureTimestamp = payData[2];
tra.ProviderData.NetAmount = payData[3];
tra.ProviderData.VatAmount = payData[4];
tra.ProviderData.TotalAmount = payData[5];
// more code here
This language is not supported or no code example is available.
Dim paymentData as string = res("invoiceSignatures[0].signedContent")
Dim payData() = paymentData.Split(";")
Dim tra As MellonGroupPOS.posTransaction = mlg.newTransaction
'more code here
tra.ProviderData.Uid = payData(0)
tra.ProviderData.SignatureTimestamp = payData(2)
tra.ProviderData.NetAmount = payData(3)
tra.ProviderData.VatAmount = payData(4)
tra.ProviderData.TotalAmount = payData(5)
'more code here
This language is not supported or no code example is available. |
| invoiceSignatures[0].signaturePublicKey | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0sgcjv It is used on Transaction.aadeProviderSignature for Viva Wallet POS It is used on ProviderData.Signature for Mellon Group POS |
| invoiceSignatures[0].signedAt | 01/01/2026 11:00:00 |
| invoiceSignatures[0].vatRate | |
| invoiceSignatures[0].signatureExpirationDate | 01/01/2026 13:00:00 |
| invoiceSignatures[0].nspProtocol | DEFAULT |
| invoiceSignatures[0].sellerVat | 555777003 |
| invoiceSignatures[0].sellerBranch | 0 |
| invoiceSignatures[0].series | IZ |
| invoiceSignatures[0].serial | f520c7014af54a4689d20a8ae000000d |
| invoiceSignatures[0].invoiceTypeCode | 1.1 |
| invoiceSignatures[0].cancelled | |
| invoiceSignatures[0].cancelReason | |
| invoiceSignatures[0].cancelReasonText | |
| invoiceSignatures[0].cancelledAt | |
| errors[X].code | The Error Code of the X error |
| errors[X].defaultMessage | The Error Message of the X error |
| errors[X].fatal | If the X error is fatal or not (True/False) |
| errors[X].errorFields[Y].field | The Y field of the X error that generated the error |
| errors[X].errorFields[Y].value | The Y field value of the X error that generated the error |
| JSON_ARBDATA | VjJ4b2FtUXhUW!RpUlZKU1ZqSjRZVmxYZ^hka1ZrNVlZM!hhWVUxWVFqQlZiVFZQ |
Where X and Y are increment numbers starting from zero (0).
Example: errors[0].errorFields[0].field
var il = new ProvIlyda("ilydaUser", "ilydaPassword", "arbUser", "arbKey", false);
// The "inv" is the invoice object you previously created.
// The "ily" is the ilydaData object you previously created.
Dictionary<string, string> posSign = il.getPOSSignature(inv, ily.extraDetails.paymentTerminalID);
This language is not supported or no code example is available.
Dim il As ProvIlyda = New ProvIlyda("ilydaUser", "ilydaPassword", "arbUser", "arbKey", False)
'The "inv" is the invoice object you previously created.
'The "ily" is the ilydaData object you previously created.
Dim posSign As Dictionary(Of String, String) = il.getPOSSignature(inv, ily.extraDetails.paymentTerminalID)
This language is not supported or no code example is available.