@@ -1011,7 +1011,6 @@ void qrShowCodeLNURL(String message)
1011
1011
{
1012
1012
tft.fillScreen (qrScreenBgColour);
1013
1013
1014
- qrData.toUpperCase ();
1015
1014
const char *qrDataChar = qrData.c_str ();
1016
1015
QRCode qrcoded;
1017
1016
uint8_t qrcodeData[qrcode_getBufferSize (11 )];
@@ -1608,26 +1607,29 @@ bool makeLNURL()
1608
1607
iv[i] = random (0 , 255 );
1609
1608
iv_init[i] = iv[i];
1610
1609
}
1611
- randomPin = String (random (1000 , 9999 ));
1612
1610
1613
- if (selection == " Offline PoS" )
1614
- {
1611
+ String secret;
1612
+
1613
+ if (selection == " Offline PoS" ) {
1615
1614
preparedURL = baseURLPoS;
1616
- }
1617
- else // ATM
1618
- {
1615
+ secret = secretPoS;
1616
+ } else {
1617
+ // ATM
1619
1618
preparedURL = baseURLATM;
1619
+ secret = secretATM;
1620
1620
}
1621
1621
preparedURL += " ?p=" ;
1622
1622
1623
- String payload = randomPin + String (" :" ) + String (total);
1623
+ randomPin = random (1000 , 9999 );
1624
+ String payload = String (randomPin) + String (" :" ) + String (total);
1624
1625
Serial.print (" payload: " );
1625
1626
Serial.println (payload);
1626
1627
size_t payload_len = payload.length ();
1627
1628
int padding = 16 - (payload_len % 16 );
1628
1629
unsigned char encrypted[payload_len + padding] = {0 };
1629
1630
String s = " " ;
1630
- encrypt (secretATM.c_str (), iv, payload_len + padding, payload.c_str (), encrypted);
1631
+ encrypt (secret.c_str (), iv, payload_len + padding, payload.c_str (), encrypted);
1632
+
1631
1633
for (int i = 0 ; i < sizeof (encrypted); i++) {
1632
1634
s = String (encrypted[i], HEX);
1633
1635
if (s.length () == 1 ) {
@@ -1655,7 +1657,12 @@ bool makeLNURL()
1655
1657
char *charLnurl = (char *)calloc (strlen (url) * 2 , sizeof (byte));
1656
1658
bech32_encode (charLnurl, " lnurl" , data, len);
1657
1659
to_upper (charLnurl);
1658
- qrData = baseUrlAtmPage + charLnurl;
1660
+ if (selection == " Offline PoS" ) {
1661
+ qrData = charLnurl;
1662
+ } else {
1663
+ // ATM
1664
+ qrData = baseUrlAtmPage + charLnurl;
1665
+ }
1659
1666
Serial.println (qrData);
1660
1667
1661
1668
return true ;
0 commit comments