Validate QR References

This is how you validate a QR reference number, which was formerly known as ISR reference number (inpayment slip with reference number).

#include <iostream>

#include <qrinvoice/util/qr_reference_util.hpp>

// ...

std::cout << qrinvoice::qr_reference_util::is_valid_qr_reference("11 00012 34560 00000 00008 13457") << std::endl;
std::cout << qrinvoice::qr_reference_util::is_valid_qr_reference("110001234560000000000813457") << std::endl;
// prints 1 (true)

std::cout << qrinvoice::qr_reference_util::is_valid_qr_reference("11 00012 34560 00000 00008 13456") << std::endl;
// prints 0 (false), due to wrong checksum

Validate Creditor References

This is how you validate a structured creditor reference (ISO 11649) using the creditor_reference_util functions.

#include <iostream>

#include <qrinvoice/util/creditor_reference_util.hpp>

// ...

std::cout << "creditor_reference_valid: " << qrinvoice::creditor_reference_util::is_valid_creditor_reference("RF45 1234 5123 45") << std::endl;
// prints 1 (true)