Как сделать, чтобы при скане qr-кода открывался сайт с предложением скачать приложение?
QR код - это просто зашифрованная строка. 
Там нет никакой магии. 
Исходя из этого, ваш вопрос такой: « Как сделать такую строку, чтобы открывался сайт с предложением скачать приложение?»
Ответ: нужно чтобы в этой строке была ссылка на ваш сайт.
QR код содержит просто  ссылку.
В манифесте приложения пропишите
<intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data
                    android:host="lknpd.nalog.ru"
                    android:pathPrefix="/api/v1/receipt"
                    android:scheme="https" />
            </intent-filter>

Здесь вы указываете хост и начало урла.  Приложение сканер кр кода обращается к операционной системе с вопросом какие программы могут открыть данную ссылку. В список вариантов будет добавлено и ваше.
void handleIntent(Intent intent){
        String action = intent.getAction();
        if (action == null) {
            showMessage("Ошибка вызова. Нет действия в намерении");
            return;
        }

        Uri uri = null;
        if (action.equals(Intent.ACTION_VIEW)) {
            uri = intent.getData();
        }else if (action.equals(Intent.ACTION_SEND) || action.equals(Intent.ACTION_SENDTO)) {
            String stringText = intent.getStringExtra(Intent.EXTRA_TEXT);
            if (stringText == null) {
                CharSequence textSequence = intent.getCharSequenceExtra(Intent.EXTRA_TEXT);
                if (textSequence != null) {
                    stringText = textSequence.toString();
                }
            }
            if (stringText != null) {
                if (stringText.startsWith("http://") || stringText.startsWith("https://")) {
                    uri = Uri.parse(stringText);
                }
            }
        }
        if(uri == null){
            showMessage("Ошибка вызова. Ссылка на чек не обнаружена");
            return;
        }
//теперь самостоятельно разбираете строку урла, чтобы вытащить нужные аргументы для конкретного действия в приложении
        receiptId = ReceiptId.fromURI(uri);
        if(receiptId == null){
            showMessage("Неправильная ссылка на чек");
            return;
        }

        importReceipt();
    }

На Вашем сайте урлы можно через htaccess переправить на заглушку с предложением скачать приложение или к обычной странице добавлять банер с предложением открыть в приложении.