@page "/"
@using QRCoder
@using SixLabors.ImageSharp.Formats
Home
@code {
string IBAN { get; set; } = string.Empty;
decimal Amount { get; set; } = 0;
string Remark { get; set; } = string.Empty;
string QRCodeStr { get; set; } = string.Empty;
string Name { get; set; } = string.Empty;
bool _show = false;
public void GenerateQRCode()
{
QRCodeStr = string.Empty;
if (!string.IsNullOrWhiteSpace(IBAN))
{
using (var ms = new MemoryStream())
{
QRCodeGenerator qRCodeGenerator = new QRCodeGenerator();
var payment = new PayBySquareTextGenerator.Payment(IBAN.Replace(" ", ""), Amount, "EUR", "1", Remark);
payment.ConstantSymbol = "0308";
payment.BeneficiaryName = Name;
var a = new PayBySquareTextGenerator.PayBySquareOverkill(payment);
var stringData = a.GeneratePayBySquareOverkillString();
// Generate QR code data
using var qrCodeData = QRCodeGenerator.GenerateQrCode(stringData, QRCodeGenerator.ECCLevel.Q);
using var qrCode = new PngByteQRCode(qrCodeData);
byte[] qrCodeImage = qrCode.GetGraphic(20);
QRCodeStr = $"data:image/png;base64,{Convert.ToBase64String(qrCodeImage)}";
}
_show = true;
}
}
}