Ensure proper amount format and prepare for generating QR code.

This commit is contained in:
Dominik Pantůček 2025-01-03 11:34:18 +01:00
parent 306b9cb20e
commit bbbc6527a0

View file

@ -30,6 +30,7 @@
(
make-qrp
make-brmlab-qrp
make-brmlab-qrp-svg-string
)
(import scheme
@ -49,9 +50,19 @@
(string-intersperse (reverse qrp) "*"))
(define (ensure-amount-format amt)
(if (string? amt)
amt
(let* ((n (if (string? amt)
(string->number amt)
amt))
(s (number->string n))
(f (string-split str "."))
(i? (null? (cdr f))))
(format "~A.~A"
(car f)
(if i?
".00"
(substring
(string-append (cadr f) "0")
0 2)))))
(define (make-qrp iban amt cc vs msg)
(let loop ((keys '(ACC AM CC MSG X-CS))
@ -71,6 +82,12 @@
(error "Invalid currency!")))))
(make-qrp iban amt cc vs "Brmlab")))
(print (make-brmlab-qrp 1000 "CZK" 1234))
(define (qrp-create-svg-string qrps)
;; qrencode -t svg -o - -l M
"TODO")
(define (make-brmlab-qrp-svg-string amt cc vs)
(qrp-create-svg-string
(make-brmlab-qrp amt cc vs)))
)