Dado o ID da loja, o número do pedido e a data/hora da compra, este script irá gerar um código que pode ser inserido na pesquisa Food for Thoughts que, após a conclusão, fornece outro código que pode ser trocado por itens com desconto.
A partir de agosto de 2023 você só precisa inserir o código para iniciar a pesquisa; não é necessário um preço.
Chame o script com 3 argumentos:
get_code.py 1553 1743 "2023-03-14 16:48"
O texto acima produzirá 7ZWW-NGH3-ZFWJ
que corresponde ao seguinte recibo:
Uma lista não exaustiva de IDs de lojas está incluída (stores.tsv). Você também pode encontrar IDs de lojas inspecionando os dados de devolução no localizador de lojas do McDonald's ou simplesmente verificando os recibos das lojas.
O código da pesquisa acima pode ser dividido da seguinte forma:
Código | Decimal | Significado |
---|---|---|
7ZW | 1553 | ID da loja. |
W | 3 | Não tenho certeza, mas a grande maioria das receitas sempre parece ter W aqui. |
NG | 168 | ID do pedido: últimos dois dígitos + 125 (normalmente). |
H3ZFW | 3.742.128 | Data/hora da compra (representada como número de minutos desde 2016-02-01 00:00 ). |
J | 23 | Dígito de verificação (algoritmo Luhn mod N ; usa 25 como base). |
Os valores são codificados usando o seguinte sistema de base 25:
Decimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Base 25 | C | M | 7 | C | D | 6 | N | 4 | R | H | F | 9 | Z | eu | 3 | X | K | P | G | V | P | B | T | J. | S |
Discussão adicional sobre Reverse Engineering Stack Exchange, onde foi postado originalmente: https://reverseengineering.stackexchange.com/questions/32129/mcdonalds-receipt-codes
Se o acima não fez sentido para você e/ou deseja apenas gerar um código, baixe este repositório usando o botão verde "<> Código" no topo da página, abra demo/page.html em um navegador em seu computador/laptop e preencha os parâmetros conforme necessário.