J'ai un exemple php et j'essaie de le recréer dans NodeJs en utilisant Crypto :
https://docs.paygate.co.za/?php#request
Mon code :
var encryptionKey = "secret";
var data = {
PAYGATE_ID: 10011072130,
REFERENCE: "pgtest_20200713124029",
AMOUNT: 100,
CURRENCY: "ZAR",
RETURN_URL: "https://google.com",
TRANSACTION_DATE: "2020-07-13 12:40:29",
LOCALE: "en",
COUNTRY: "ZAF",
EMAIL: "itsupport@paygate.co.za",
};
var CHECKSUM = crypto
.createHash("md5")
.update(JSON.stringify(data) + encryptionKey)
.digest("hex");
La somme de contrôle qu'ils attendent :
e7d0f0d8e7066c968a5a2396cdea0c8f
La somme de contrôle que mon code génère :
2f3b1a8c8064b6bd58ee1d841e1c8050
D'après la documentation, ils attendent de moi ajouter le secret à la fin de la chaîne. C'est ce que je fais.
Je ne sais pas pourquoi ma somme de contrôle est incorrecte, des conseils ?