ProvIlyda.getPOSSignature (posTransaction, Int32) Method
The results of this method will be used at VivaWalletPOS.newSale.
Public Function getPOSSignature( _
ByVal posTransaction As posTransaction, _
Optional ByVal posProtocol As Integer = 1 _
) As Dictionary(Of String, String)
This language is not supported or no code example is available.
public Dictionary<string, string> getPOSSignature(
posTransaction posTransaction,
int posProtocol = 1
)
This language is not supported or no code example is available.
Parameters
- posTransaction
- posTransaction
The raw data of the transaction
- 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 |
| 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.
ProvIlyda.posTransaction pos = newPosTransaction();
pos.amount = 124;
pos.netValue = 100;
pos.vatAmount = 24;
pos.grossValue = 124;
pos.issuerVatNumber = inv.issuer.vatNumber;
pos.series = inv.elements.series;
pos.invoiceType = inv.elements.invoiceType;
pos.issuerBranch = inv.issuer.branch;
pos.terminalId = "1111111111";
Dictionary<string, string> posSign = il.getPOSSignature(pos);
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.
Dim pos As ProvIlyda.posTransaction = newPosTransaction()
pos.amount = 124
pos.netValue = 100
pos.vatAmount = 24
pos.grossValue = 124
pos.issuerVatNumber = inv.issuer.vatNumber
pos.series = inv.elements.series
pos.invoiceType = inv.elements.invoiceType
pos.issuerBranch = inv.issuer.branch
pos.terminalId = "1111111111"
Dim posSign As Dictionary(Of String, String) = il.getPOSSignature(pos)
This language is not supported or no code example is available.