esm.run swissqrbill demo
JavaScript
// See https://www.npmjs.com/package/swissqrbill documentation.
import generateQRCode from 'https://esm.run/swissqrbill/lib/browser/esm/shared/qr-code.js';
import { cleanData, validateData } from 'https://esm.run/swissqrbill/lib/browser/esm/shared/shared.js';
import { mm2px } from 'https://esm.run/swissqrbill/lib/browser/esm/shared/utils.js';
let data = {
currency: "CHF",
amount: 1199.95,
reference: "210000000003139471430009017",
creditor: {
name: "Robert Schneider AG",
address: "Rue du Lac",
buildingNumber: "1268",
zip: 2501,
city: "Biel",
account: "CH4431999123000889012",
country: "CH"
},
debtor: {
name: "Pia-Maria Rutschmann-Schnyder",
address: "Grosse Marktgasse",
buildingNumber: "28",
zip: 9400,
city: "Rorschach",
country: "CH"
}
}
//-- Clean data
data = cleanData(data);
//-- Validate data
validateData(data)
const qrcode = generateQRCode(data, mm2px(46))
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="46mm" height="46mm" y="17mm" x="67mm"><path d="${qrcode}" fill="black"/><rect x="19mm" y="19mm" width="8mm" height="8mm" fill="white"/><rect x="19.5mm" y="19.5mm" width="7mm" height="7mm" fill="black"/><rect x="22.415mm" y="21.055mm" width="1.17mm" height="3.89mm" fill="white"/><rect x="21.055mm" y="22.415mm" width="3.89mm" height="1.17mm" fill="white"/></svg>`
document.body.innerHTML = svg