Parabéns! Estava procurando uma dessas.
As que existem são muito ruins.
Tenho uma dúvida: essa valida o tamanho da cidade? Letras com acentos? Se eu digitar amount: 0.00003
ou amount: "12,52"
, ele irá me gerar um copia-e-cola com estes valores ou irá me disparar um erro?
Isso é importante. Minha cidade se chama "São José do Rio Preto", e nela já tem dois problemas pro Pix: o tamanho e os acentos. Eu sempre tenho que gerar como "SJRP" para evitar problemas.
São sugestões minhas.
Deixa eu só complementar que eu tinha esquecido de responder sobre o amount, ele passa por um .toFixed(2) que força o valor ficar no minímo 0.00, ou seja, caso voce coloque 0.00002 ele vai ficar como 0.00, mas se voce colocar 0.01 ele vai funcionar perfeitamente.
Ontem mesmo eu enfrentei problemas desse tipo, como: Acentuação e problemas cidades grandes.
Se não me engano o máximo é 25 caracteres.
A questão da pontuação é tranquilo de se resolver, porém a ideia que eu tive em relação a cidade seria de pegar as primeiras letras, assim como você citou.
ex: Rio De Janeiro o algoritmo iria ver se passa de 25 caracteres e caso sim ele pegaria as primeiras letras de cada palavra fazendo um: RJ.
É uma ideia que pretendo ja subir nas futuras versoes.