commit 62bf3543d72de0bdb52e6ff22519af4c8944960d
parent 9d2d254e7d0bbfc6112544ea3079621cb6d7a647
Author: Florian Dold <florian@dold.me>
Date: Mon, 28 Oct 2024 13:36:59 +0100
util: handle BIC in EPC QR code generation
Diffstat:
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/packages/taler-util/src/qr.ts b/packages/taler-util/src/qr.ts
@@ -99,7 +99,19 @@ function encodePaytoAsEpcQr(paytoUri: string): EncodeResult {
return { type: "skip" };
}
const amountStr = parsedPayto.params["amount"];
- Amounts.stringifyValue;
+
+ const parts = parsedPayto.targetPath.split("/");
+
+ const iban = parts[parts.length - 1];
+
+ const amt =
+ amountStr !== undefined
+ ? `${Amounts.currencyOf(amountStr)}${Amounts.stringifyValue(
+ amountStr,
+ 2,
+ )}`
+ : "";
+
const lines = [
"BCD", // service tag
"002", // version
@@ -107,10 +119,8 @@ function encodePaytoAsEpcQr(paytoUri: string): EncodeResult {
"SCT", // Identification
"", // optional BIC
parsedPayto.params["receiver-name"], // Beneficiary name
- parsedPayto.targetPath, // Beneficiary IBAN
- amountStr !== undefined
- ? `${Amounts.currencyOf(amountStr)}${Amounts.stringifyValue(amountStr, 2)}`
- : "", // Amount (optional)
+ iban, // Beneficiary IBAN
+ amt, // Amount (optional)
"", // AT-44 Purpose
parsedPayto.params["message"], // AT-05 Unstructured remittance information
];